AlonsoYSal_FactuGES2/Source/Modulos/Contabilidad/Views/uEditorElegirEpigrafes.pas
2019-11-18 10:36:42 +00:00

129 lines
3.9 KiB
ObjectPascal

unit uEditorElegirEpigrafes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage,
JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns,
ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
pngimage, ExtCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewBarraSeleccion, StdCtrls,
uBizEpigrafes, uIEditorElegirEpigrafes,
JvExComCtrls, JvStatusBar, uEditorEpigrafes, uViewEpigrafes,
JSDialog, uDAInterfaces, dxGDIPlusClasses;
type
TfEditorElegirEpigrafes = class(TfEditorEpigrafes, IEditorElegirEpigrafes)
frViewBarraSeleccion1: TfrViewBarraSeleccion;
EditorSeleccionActionList: TActionList;
actBuscar2: TAction;
actQuitarFiltro2: TAction;
actAnchoAuto2: TAction;
pnlHeader: TPanel;
lblTitle: TLabel;
lblComments: TLabel;
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure actAnchoAuto2Execute(Sender: TObject);
procedure actQuitarFiltro2Execute(Sender: TObject);
protected
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetEpigrafesSeleccionados: IBizEpigrafe;
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
public
property Mensaje : String read GetMensaje write SetMensaje;
property EpigrafesSeleccionados: IBizEpigrafe read GetEpigrafesSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
end;
implementation
uses
uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
uGridUtils, uEditorBase, uEpigrafesController;
{$R *.dfm}
{ TfEditorElegirEpigrafes }
procedure TfEditorElegirEpigrafes.actAnchoAuto2Execute(Sender: TObject);
begin
inherited;
actAnchoAuto.Execute;
end;
procedure TfEditorElegirEpigrafes.actQuitarFiltro2Execute(Sender: TObject);
begin
inherited;
actQuitarFiltro.Execute;
end;
procedure TfEditorElegirEpigrafes.FormShow(Sender: TObject);
begin
inherited;
EditorActionList.State := asSuspended;
end;
procedure TfEditorElegirEpigrafes.frViewBarraSeleccion1actCancelarExecute(
Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirEpigrafes.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirEpigrafes.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirEpigrafes.GetEpigrafesSeleccionados: IBizEpigrafe;
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Epigrafes as ISeleccionable).SelectedRecords);
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := (Controller as IEpigrafesController).ExtraerSeleccionados(Epigrafes) as IBizEpigrafe;
end;
function TfEditorElegirEpigrafes.GetMensaje: String;
begin
Result := lblComments.Caption;
end;
function TfEditorElegirEpigrafes.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirEpigrafes.SetMensaje(const AValue: String);
begin
lblComments.Caption := AValue;
end;
procedure TfEditorElegirEpigrafes.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirEpigrafes.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.