unit uEditorElegirInstaladores; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorInstaladores, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewContactos, uViewInstaladores, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorElegirInstaladores, uViewBarraSeleccion, StdCtrls, uBizContactos, TBXStatusBars, JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces, dxGDIPlusClasses; type TfEditorElegirInstaladores = class(TfEditorInstaladores, IEditorElegirInstaladores) frViewBarraSeleccion1: TfrViewBarraSeleccion; JsClienteBloqueadoDialog: TJSDialog; 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 actQuitarFiltro2Execute(Sender: TObject); procedure actAnchoAuto2Execute(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; function GetContactosSeleccionados: IBizContacto; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property ContactosSeleccionados: IBizContacto read GetContactosSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uEditorContactos, uGridUtils, uEditorBase, cxControls, uDBSelectionListUtils, uDialogUtils; {$R *.dfm} { TfEditorElegirInstaladores } procedure TfEditorElegirInstaladores.actAnchoAuto2Execute(Sender: TObject); begin inherited; actAnchoAuto.Execute; end; procedure TfEditorElegirInstaladores.actQuitarFiltro2Execute(Sender: TObject); begin inherited; actQuitarFiltro.Execute; end; procedure TfEditorElegirInstaladores.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; frViewInstaladores1.cxViewGridPopupMenu.PopupMenus.Items[0].HitTypes := []; end; procedure TfEditorElegirInstaladores.frViewBarraSeleccion1actCancelarExecute(Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirInstaladores.frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); var Respuesta : Integer; begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirInstaladores.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirInstaladores.GetContactosSeleccionados: IBizContacto; begin ShowHourglassCursor; try SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords); // En Contactos.SelectedRecords tengo los ID de las filas seleccionadas del grid Result := Controller.ExtraerSeleccionados(Contactos); finally HideHourglassCursor; end; end; function TfEditorElegirInstaladores.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirInstaladores.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirInstaladores.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirInstaladores.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirInstaladores.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.