AlonsoYSal_FactuGES2/Source/ApplicationBase/Ejercicios/Views/uEditorElegirEjercicios.pas
2019-11-18 10:36:42 +00:00

127 lines
3.9 KiB
ObjectPascal

unit uEditorElegirEjercicios;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorEjercicios, Menus, DB, uDAInterfaces, uDADataTable,
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase,
uViewGrid, uViewEjercicios, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, dxGDIPlusClasses,
ExtCtrls, JvExControls, JvNavigationPane, uViewBarraSeleccion, uIEditorElegirEjercicios,
UBizEjercicios, StdCtrls;
type
TfEditorElegirEjercicios = class(TfEditorEjercicios, IEditorElegirEjercicios)
frViewBarraSeleccion1: TfrViewBarraSeleccion;
EditorSeleccionActionList: TActionList;
actBuscar2: TAction;
actQuitarFiltro2: TAction;
actAnchoAuto2: TAction;
pnlHeader: TPanel;
lblTitle: TLabel;
lblComments: TLabel;
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure actAnchoAuto2Execute(Sender: TObject);
procedure actQuitarFiltro2Execute(Sender: TObject);
private
protected
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetEjerciciosSeleccionados: IBizEjercicio;
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
public
property Mensaje : String read GetMensaje write SetMensaje;
property EjerciciosSeleccionados: IBizEjercicio read GetEjerciciosSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
end;
implementation
{$R *.dfm}
uses uGridUtils, uDBSelectionListUtils, uEjerciciosController;
{ TfEditorElegirEjercicios }
procedure TfEditorElegirEjercicios.actAnchoAuto2Execute(Sender: TObject);
begin
inherited;
actAnchoAuto.Execute;
end;
procedure TfEditorElegirEjercicios.actQuitarFiltro2Execute(Sender: TObject);
begin
inherited;
actQuitarFiltro.Execute;
end;
procedure TfEditorElegirEjercicios.FormShow(Sender: TObject);
begin
inherited;
EditorActionList.State := asSuspended;
end;
procedure TfEditorElegirEjercicios.frViewBarraSeleccion1actCancelarExecute(
Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirEjercicios.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirEjercicios.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirEjercicios.GetEjerciciosSeleccionados: IBizEjercicio;
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Ejercicios as ISeleccionable).SelectedRecords);
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := (Controller as IEjerciciosController).ExtraerSeleccionados(Ejercicios) as IBizEjercicio;
end;
function TfEditorElegirEjercicios.GetMensaje: String;
begin
Result := lblComments.Caption;
end;
function TfEditorElegirEjercicios.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirEjercicios.SetMensaje(const AValue: String);
begin
lblComments.Caption := AValue;
end;
procedure TfEditorElegirEjercicios.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirEjercicios.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.