{ =============================================================================== Copyright (©) 2001. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 01-10-2001 Versión actual: 1.0.4 Fecha versión actual: 12-10-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 29-10-2001 En la barra de estado aparece el nombre de la base de datos. 21-09-2002 Solo se permite el acceso al administrador del sistema en contadores. 06-03-2004 Se ha eliminado el tratamiento de perfiles de usuario. 12-10-2004 p289, p290. Cambio de apartados =============================================================================== } unit Principal; interface uses Forms, Sysutils, ComCtrls, ToolWin, RdxBotones, RdxPaneles, Graphics, Controls, RdxFrame, Menus, am2000menuitem, am2000utils, am2000popupmenu, am2000, StdCtrls, ExtCtrls, pngimage, FthImage, Classes, Buttons, ActnList, am2000options, am2000skin; type TfrPrincipal = class(TRdxFrame) BarraEstado: TStatusBar; menuCartas: TPopupMenu2000; Cliente: TMenuItem2000; N1: TMenuItem2000; Proveedor: TMenuItem2000; MenuOpciones: TPopupMenu2000; Contadores: TMenuItem2000; pnlBarraSuperior: TRdxGradientePanel; bEmpresas: TFourthImage; JzLabel1: TLabel; JzLabel4: TLabel; bProveedores: TFourthImage; bClientes: TFourthImage; bCartas: TFourthImage; bDatos: TFourthImage; bOpciones: TFourthImage; JzLabel7: TLabel; JzLabel8: TLabel; JzLabel9: TLabel; JzLabel10: TLabel; JzLabel11: TLabel; JzLabel12: TLabel; bInformes: TFourthImage; Shape1: TShape; bAlmacen: TFourthImage; imgFondo: TImage; actPrincipal: TActionList; actAlmacen: TAction; actDatos: TAction; actCompras: TAction; actVentas: TAction; actEmpresas: TAction; eNombreEmpresa: TLabel; bObras: TFourthImage; Label1: TLabel; actObras: TAction; actInformes: TAction; Label2: TLabel; bSincronizacion: TFourthImage; actSincronizacion: TAction; procedure LogotipoClick(Sender: TObject); procedure bSalirClick(Sender: TObject); procedure ProveedorClick(Sender: TObject); procedure ClienteClick(Sender: TObject); procedure ContadoresClick(Sender: TObject); procedure bCartasClick(Sender: TObject); procedure bOpcionesClick(Sender: TObject); procedure JvImage6Click(Sender: TObject); procedure actAlmacenExecute(Sender: TObject); procedure actAlmacenUpdate(Sender: TObject); procedure actDatosExecute(Sender: TObject); procedure actComprasExecute(Sender: TObject); procedure actVentasExecute(Sender: TObject); procedure actDatosUpdate(Sender: TObject); procedure actEmpresasExecute(Sender: TObject); procedure RdxFrameResize(Sender: TObject); procedure actObrasExecute(Sender: TObject); procedure actInformesExecute(Sender: TObject); procedure actSincronizacionExecute(Sender: TObject); public Version : String; constructor Create(AOwner : TComponent); override; procedure ManejadorExcepciones(Sender: TObject; E: Exception); published procedure OnCloseApp (Sender: TObject; var Action: TCloseAction); end; var frPrincipal: TfrPrincipal; implementation {$R *.DFM} uses BarraAlmacenes, Windows, BarraDatos, BarraProveedores, BarraClientes, ContenidoPrincipal, Mensajes, Excepciones, Tipos, EditorCartas, StrFunc, BaseDatos, Literales, Configuracion, ElegirEmpresa, RdxEmpresaActiva, BarraInformes, BarraObras, DatosContadores, Sincronizacion; { TfrPrincipal } constructor TfrPrincipal.Create(AOwner: TComponent); begin inherited; ConfigurarVentanaPrincipal(Self); {eVersion.Caption := 'versión ' + Copy(DarVersionFichero(Application.ExeName), 0, 3);} if PuedeSincronizar then actSincronizacion.OnUpdate := actDatosUpdate else begin actSincronizacion.Enabled := False; actSincronizacion.OnUpdate := NIL; end; Contenido := TfrContenidoPrincipal.Create(Self); end; procedure TfrPrincipal.LogotipoClick(Sender: TObject); begin Contenido := TfrContenidoPrincipal.Create(Self); end; procedure TfrPrincipal.bSalirClick(Sender: TObject); begin if VerMensajePregunta(msgDeseaSalir) = mrYES then begin if CloseFrame then Application.Terminate; end; end; procedure TfrPrincipal.OnCloseApp(Sender: TObject; var Action: TCloseAction); begin Action := caNone; if VerMensajePregunta(msgDeseaSalir) = mrYES then if CloseFrame then Action := caFree; end; procedure TfrPrincipal.ManejadorExcepciones(Sender: TObject; E: Exception); begin TratarExcepcion(E); end; procedure TfrPrincipal.ProveedorClick(Sender: TObject); begin CaptionModal := 'Carta a un proveedor'; WidthModal := 710; HeightModal := 570; ModoModal := Listar; EntidadModal := entProveedor; ContenidoModal := TfrEditorCartas.Create(Self); end; procedure TfrPrincipal.ClienteClick(Sender: TObject); begin CaptionModal := 'Carta a un cliente'; WidthModal := 710; HeightModal := 570; ModoModal := Listar; EntidadModal := entCliente; ContenidoModal := TfrEditorCartas.Create(Self); end; procedure TfrPrincipal.ContadoresClick(Sender: TObject); begin HeightModal := 500; WidthModal := 370; EntidadModal := entOpciones; ModoModal := Anadir; ContenidoModal := TfrDatosContadores.Create(Self); end; procedure TfrPrincipal.bCartasClick(Sender: TObject); var P : TPoint; begin if (Sender as TImage).PopupMenu <> NIL then begin P.X := (Sender as TImage).Left; P.Y := pnlBarraSuperior.Top + pnlBarraSuperior.Height; P := ClientToScreen(P); (Sender as TImage).PopupMenu.Popup(P.X, P.Y); end; end; procedure TfrPrincipal.bOpcionesClick(Sender: TObject); var P : TPoint; begin if (Sender as TImage).PopupMenu <> NIL then begin P.X := (Sender as TImage).Left; P.Y := pnlBarraSuperior.Top + pnlBarraSuperior.Height; P := ClientToScreen(P); (Sender as TImage).PopupMenu.Popup(P.X, P.Y); end; end; procedure TfrPrincipal.JvImage6Click(Sender: TObject); var P : TPoint; begin if (Sender as TImage).PopupMenu <> NIL then begin P.X := (Sender as TImage).Left; P.Y := pnlBarraSuperior.Top + pnlBarraSuperior.Height; P := ClientToScreen(P); (Sender as TImage).PopupMenu.Popup(P.X, P.Y); end; end; procedure TfrPrincipal.actAlmacenExecute(Sender: TObject); begin Contenido := TfrBarraAlmacenes.Create(Self); end; procedure TfrPrincipal.actAlmacenUpdate(Sender: TObject); begin (Sender as TAction).Enabled := (EmpresaActiva.Codigo <> NULL); end; procedure TfrPrincipal.actDatosExecute(Sender: TObject); begin Contenido := TfrBarraDatos.Create(Self); end; procedure TfrPrincipal.actComprasExecute(Sender: TObject); begin Contenido := TfrBarraProveedores.Create(Self); end; procedure TfrPrincipal.actVentasExecute(Sender: TObject); begin Contenido := TfrBarraClientes.Create(Self); end; procedure TfrPrincipal.actDatosUpdate(Sender: TObject); begin (Sender as TAction).Enabled := (EmpresaActiva.Codigo <> NULL); bCartas.Enabled := (EmpresaActiva.Codigo <> NULL); bInformes.Enabled := (EmpresaActiva.Codigo <> NULL); bOpciones.Enabled := (EmpresaActiva.Codigo <> NULL); end; procedure TfrPrincipal.actEmpresasExecute(Sender: TObject); var EmpresaAnterior : Variant; begin if (Contenido <> NIL) then Contenido := TfrContenidoPrincipal.Create(Self); if (Contenido is TfrContenidoPrincipal) then begin EmpresaAnterior := EmpresaActiva.Codigo; HeightModal := 370; WidthModal := 594; ContenidoModal := TfrElegirEmpresa.Create(Self); if (EmpresaAnterior <> EmpresaActiva.Codigo) then begin eNombreEmpresa.Caption := EmpresaActiva.Nombre; BarraEstado.Panels[0].Text := 'Empresa: ' + EmpresaActiva.Nombre; Application.MainForm.Caption := 'FactuGES v' + Version + ' - ' + EmpresaActiva.Nombre; end; end; end; procedure TfrPrincipal.RdxFrameResize(Sender: TObject); begin inherited; eNombreEmpresa.Left := pnlBarraSuperior.Width - eNombreEmpresa.Width - 10; end; procedure TfrPrincipal.actObrasExecute(Sender: TObject); begin Contenido := TfrBarraObras.Create(Self); end; procedure TfrPrincipal.actInformesExecute(Sender: TObject); begin Contenido := TfrBarraInformes.Create(Self); end; procedure TfrPrincipal.actSincronizacionExecute(Sender: TObject); begin inherited; Contenido := TfrContenidoPrincipal.Create(Self); fSincronizacion := TfSincronizacion.Create(Self); try fSincronizacion.ShowModal; finally fSincronizacion.Free; end; end; end.