ConstruccionesCNJ_FactuGES/Modulos/Contactos/Views/uEditorElegirClientes.pas
2007-06-21 15:50:59 +00:00

113 lines
3.5 KiB
ObjectPascal

unit uEditorElegirClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorClientes, DB, uDADataTable, Menus, JvAppStorage,
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
uViewContactos, uViewClientes, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
JvNavigationPane, uIEditorElegirClientes, uViewBarraSeleccion, JvgWizardHeader,
StdCtrls, uBizContactos, TBXStatusBars, JvExComCtrls, JvStatusBar;
type
TfEditorElegirClientes = class(TfEditorClientes, IEditorElegirClientes)
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 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;
{$R *.dfm}
{ TfEditorElegirClientes }
procedure TfEditorElegirClientes.FormShow(Sender: TObject);
begin
inherited;
EditorActionList.State := asSuspended;
frViewClientes1.cxViewGridPopupMenu.PopupMenus.Items[0].HitTypes := [];
end;
procedure TfEditorElegirClientes.frViewBarraSeleccion1actCancelarExecute(
Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirClientes.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirClientes.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirClientes.GetContactosSeleccionados: IBizContacto;
begin
ShowHourglassCursor;
try
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, Contactos.SelectedRecords.SelectedRecordsObj);
// En Contactos.SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := Controller.ExtraerSeleccionados(Contactos);
finally
HideHourglassCursor;
end;
end;
function TfEditorElegirClientes.GetMensaje: String;
begin
Result := JvgWizardHeader1.Comments.Text;
end;
function TfEditorElegirClientes.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirClientes.SetMensaje(const AValue: String);
begin
JvgWizardHeader1.Comments.Text := AValue;
end;
procedure TfEditorElegirClientes.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirClientes.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.