This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Contactos/Cliente/uEditorContactos.pas
2007-06-21 16:02:50 +00:00

138 lines
4.1 KiB
ObjectPascal
Raw Blame History

unit uEditorContactos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, uEditorGrid, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewContactos, uBizContacto, ActnList, DBActns, uViewGrid,
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, JvComponentBase;
type
IEditorContactos = interface(IEditorGrid)
['{21DD6B74-F218-4AFC-91EE-1ECD4ADF1553}']
function GetContactos: IBizContacto;
procedure SetContactos(const Value: IBizContacto);
property Contactos: IBizContacto read GetContactos write SetContactos;
function GetSelectionBarVisible: Boolean;
procedure SetSelectionBarVisible(const Value: Boolean);
property SelectionBarVisible : Boolean read GetSelectionBarVisible write
SetSelectionBarVisible;
end;
TfEditorContactos = class(TfEditorGrid, IEditorContactos)
frViewBarraSeleccion: TfrViewBarraSeleccion;
procedure FormShow(Sender: TObject);
procedure actNuevoExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject);
private
FContactos: IBizContacto;
protected
function GetContactos: IBizContacto; virtual;
procedure SetContactos(const Value: IBizContacto); virtual;
procedure SetViewGrid(const Value: IViewGrid); override;
function GetSelectionBarVisible: Boolean; virtual;
procedure SetSelectionBarVisible(const Value: Boolean); virtual;
public
property SelectionBarVisible : Boolean read GetSelectionBarVisible write
SetSelectionBarVisible;
property Contactos: IBizContacto read GetContactos write SetContactos;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleContactos,
uEditorContacto, uPluginControllerContactos, uEditorDBBase,
cxGrid, cxGridCustomTableView, uDBSelectionList;
{$R *.dfm}
{
****************************** TfEditorContactos *******************************
}
procedure TfEditorContactos.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Contactos) then
raise Exception.Create('No hay ning<6E>n contacto asignado');
Contactos.DataTable.Active := True;
end;
function TfEditorContactos.GetContactos: IBizContacto;
begin
Result := FContactos;
end;
procedure TfEditorContactos.SetContactos(const Value: IBizContacto);
begin
FContactos := Value;
dsDataTable.DataTable := FContactos.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewContactos).Contactos := Contactos;
end;
procedure TfEditorContactos.actNuevoExecute(Sender: TObject);
begin
inherited;
Contactos.Insert;
Contactos.Show;
ViewGrid.RefreshGrid;
ViewGrid.SyncFocusedRecordsFromDataSet;
end;
procedure TfEditorContactos.actModificarExecute(Sender: TObject);
begin
inherited;
Contactos.Show;
ViewGrid.RefreshGrid;
ViewGrid.SyncFocusedRecordsFromDataSet;
end;
procedure TfEditorContactos.SetViewGrid(const Value: IViewGrid);
begin
inherited;
if Assigned(ViewGrid) and Assigned(Contactos) then
(ViewGrid as IViewContactos).Contactos := Contactos;
end;
destructor TfEditorContactos.Destroy;
begin
FContactos := NIL;
inherited;
end;
function TfEditorContactos.GetSelectionBarVisible: Boolean;
begin
Result := frViewBarraSeleccion.Visible
end;
procedure TfEditorContactos.SetSelectionBarVisible(const Value: Boolean);
begin
frViewBarraSeleccion.Visible := True;
ViewGrid.OnDblClick := frViewBarraSeleccion.actSeleccionar.OnExecute;
end;
procedure TfEditorContactos.frViewBarraSeleccionactSeleccionarExecute(
Sender: TObject);
begin
inherited;
ViewGrid.SyncFocusedRecordsFromGrid;
ModalResult := mrOK;
end;
end.