unit uEditorElegirMontajes; 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, uViewMontajes, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorElegirMontajes, uViewBarraSeleccion, JvgWizardHeader, StdCtrls, uBizMontajes, uEditorMontajes, JvExComCtrls, JvStatusBar; type TfEditorElegirMontajes = class(TfEditorMontajes, IEditorElegirMontajes) frViewBarraSeleccion1: TfrViewBarraSeleccion; JvgWizardHeader1: TJvgWizardHeader; procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure FormShow(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; function GetMontajesSeleccionados: IBizMontaje; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property MontajesSeleccionados: IBizMontaje read GetMontajesSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uGridUtils, uEditorBase; {$R *.dfm} { TfEditorElegirMontajes } procedure TfEditorElegirMontajes.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; frViewMontajes1.cxViewGridPopupMenu.PopupMenus.Items[0].HitTypes := []; end; procedure TfEditorElegirMontajes.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirMontajes.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirMontajes.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirMontajes.GetMontajesSeleccionados: IBizMontaje; begin SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, Montajes.SelectedRecords.SelectedRecordsObj); // En Montajes.SelectedRecords tengo los ID de las filas seleccionadas del grid Result := Controller.ExtraerSeleccionados(Montajes); end; function TfEditorElegirMontajes.GetMensaje: String; begin Result := JvgWizardHeader1.Comments.Text; end; function TfEditorElegirMontajes.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirMontajes.SetMensaje(const AValue: String); begin JvgWizardHeader1.Comments.CommaText := AValue; end; procedure TfEditorElegirMontajes.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirMontajes.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.