219 lines
5.9 KiB
ObjectPascal
219 lines
5.9 KiB
ObjectPascal
{*******************************************************}
|
|
{ }
|
|
{ Administración de puntos de venta }
|
|
{ }
|
|
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
{ }
|
|
{*******************************************************}
|
|
|
|
unit uEditorBase;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uGUIBase, uCustomEditor, ToolWin, ComCtrls, JvExControls,
|
|
JvComponent, JvNavigationPane, ActnList, TBX, TB2Item, ImgList,
|
|
PngImageList, StdActns, JvFormAutoSize, AppEvnts, uCustomView, uViewBase,
|
|
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
|
JvComponentBase, TB2Dock, TB2Toolbar;
|
|
|
|
type
|
|
IEditorBase = interface(ICustomEditor)
|
|
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
|
function ShowModal : Integer;
|
|
end;
|
|
|
|
TfEditorBase = class(TCustomEditor, IEditorBase)
|
|
actAcercaDe: TAction;
|
|
actAnterior: TAction;
|
|
actBuscar: TAction;
|
|
actCancelarCambios: TAction;
|
|
actCerrar: TAction;
|
|
actConfPagina: TAction;
|
|
actCopiar: TEditCopy;
|
|
actCortar: TEditCut;
|
|
actDeshacer: TEditUndo;
|
|
actEliminar: TAction;
|
|
actGuardar: TAction;
|
|
actGuardarCerrar: TAction;
|
|
actImprimir: TAction;
|
|
actLimpiar: TEditDelete;
|
|
actModificar: TAction;
|
|
actNuevo: TAction;
|
|
actPegar: TEditPaste;
|
|
actPrevisualizar: TAction;
|
|
actRefrescar: TAction;
|
|
actSeleccionarTodo: TEditSelectAll;
|
|
actSiguiente: TAction;
|
|
EditorActionList: TActionList;
|
|
JvNavPanelHeader: TJvNavPanelHeader;
|
|
LargeImages: TPngImageList;
|
|
SmallImages: TPngImageList;
|
|
TBXDock: TTBXDock;
|
|
TBXItem1: TTBXItem;
|
|
TBXItem10: TTBXItem;
|
|
TBXItem11: TTBXItem;
|
|
TBXItem12: TTBXItem;
|
|
TBXItem13: TTBXItem;
|
|
TBXItem14: TTBXItem;
|
|
TBXItem15: TTBXItem;
|
|
TBXItem16: TTBXItem;
|
|
TBXItem17: TTBXItem;
|
|
TBXItem18: TTBXItem;
|
|
TBXItem19: TTBXItem;
|
|
TBXItem2: TTBXItem;
|
|
TBXItem20: TTBXItem;
|
|
TBXItem21: TTBXItem;
|
|
TBXItem22: TTBXItem;
|
|
TBXItem23: TTBXItem;
|
|
TBXItem24: TTBXItem;
|
|
TBXItem25: TTBXItem;
|
|
TBXItem26: TTBXItem;
|
|
TBXItem27: TTBXItem;
|
|
TBXItem28: TTBXItem;
|
|
TBXItem29: TTBXItem;
|
|
TBXItem3: TTBXItem;
|
|
TBXItem30: TTBXItem;
|
|
TBXItem31: TTBXItem;
|
|
TBXItem32: TTBXItem;
|
|
TBXItem4: TTBXItem;
|
|
TBXItem5: TTBXItem;
|
|
TBXItem6: TTBXItem;
|
|
TBXItem8: TTBXItem;
|
|
TBXItem9: TTBXItem;
|
|
tbxMain: TTBXToolbar;
|
|
tbxMenu: TTBXToolbar;
|
|
TBXSeparatorItem1: TTBXSeparatorItem;
|
|
TBXSeparatorItem10: TTBXSeparatorItem;
|
|
TBXSeparatorItem11: TTBXSeparatorItem;
|
|
TBXSeparatorItem12: TTBXSeparatorItem;
|
|
TBXSeparatorItem13: TTBXSeparatorItem;
|
|
TBXSeparatorItem2: TTBXSeparatorItem;
|
|
TBXSeparatorItem3: TTBXSeparatorItem;
|
|
TBXSeparatorItem4: TTBXSeparatorItem;
|
|
TBXSeparatorItem5: TTBXSeparatorItem;
|
|
TBXSeparatorItem6: TTBXSeparatorItem;
|
|
TBXSeparatorItem7: TTBXSeparatorItem;
|
|
TBXSeparatorItem8: TTBXSeparatorItem;
|
|
TBXSeparatorItem9: TTBXSeparatorItem;
|
|
TBXSubmenuItem1: TTBXSubmenuItem;
|
|
TBXSubmenuItem4: TTBXSubmenuItem;
|
|
TBXSubmenuItem5: TTBXSubmenuItem;
|
|
TBXSubmenuItem6: TTBXSubmenuItem;
|
|
TBXSubmenuItem7: TTBXSubmenuItem;
|
|
StatusBar: TStatusBar;
|
|
JvFormStorage: TJvFormStorage;
|
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
|
Image1: TImage;
|
|
procedure actCerrarExecute(Sender: TObject);
|
|
procedure actGuardarCerrarExecute(Sender: TObject);
|
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
protected
|
|
function ModifiedQuery : Boolean;
|
|
procedure CreateParams(var Params: TCreateParams); override;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
published
|
|
procedure FormShow(Sender: TObject); virtual;
|
|
end;
|
|
|
|
TfEditorBaseClass = class of TfEditorBase;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
Menus, uDataModuleBase, cxControls;
|
|
|
|
{
|
|
********************************* TfEditorBase *********************************
|
|
}
|
|
procedure TfEditorBase.actCerrarExecute(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfEditorBase.actGuardarCerrarExecute(Sender: TObject);
|
|
begin
|
|
ShowHourglassCursor;
|
|
Application.ProcessMessages;
|
|
try
|
|
if actGuardar.Execute then
|
|
actCerrar.Execute;
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
constructor TfEditorBase.Create(AOwner: TComponent);
|
|
var
|
|
APath : String;
|
|
begin
|
|
inherited;
|
|
with JvFormStorage do
|
|
begin
|
|
if Pos('_', Self.Name) = 0 then
|
|
APath := Self.Name
|
|
else
|
|
APath := Copy(Self.Name, 0, (Pos('_', Self.Name)-1));
|
|
AppStoragePath := APath;
|
|
end;
|
|
JvNavPanelHeader.StyleManager := dmBase.StyleManager;
|
|
end;
|
|
|
|
procedure TfEditorBase.CreateParams(var Params: TCreateParams);
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfEditorBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
begin
|
|
if Valid then
|
|
CanClose := ModifiedQuery
|
|
else
|
|
CanClose := False;
|
|
end;
|
|
|
|
procedure TfEditorBase.FormShow(Sender: TObject);
|
|
begin
|
|
{ if Assigned(Parent) then
|
|
begin
|
|
StatusBar.Visible := False;
|
|
actCerrar.ShortCut := 0
|
|
end
|
|
else begin
|
|
StatusBar.Visible := True;
|
|
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
|
end;}
|
|
end;
|
|
|
|
function TfEditorBase.ModifiedQuery: Boolean;
|
|
var
|
|
Respuesta: Integer;
|
|
begin
|
|
Result := True;
|
|
if Modified then
|
|
begin
|
|
Respuesta := Application.MessageBox('Se han producido cambios.' + #10#13 +
|
|
'¿Desea guardarlos antes de salir?', 'Atención', MB_YESNOCANCEL);
|
|
case Respuesta of
|
|
IDYES : actGuardar.Execute;
|
|
IDNO : actCancelarCambios.Execute;
|
|
else
|
|
Result := False;
|
|
end;
|
|
end
|
|
{ else
|
|
actCancelarCambios.Execute;}
|
|
end;
|
|
|
|
initialization
|
|
RegisterClass(TfEditorBase);
|
|
|
|
finalization
|
|
UnRegisterClass(TfEditorBase);
|
|
|
|
end.
|