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.