AbetoDesign_FactuGES2/Source/Modulos/Contratos de cliente/Views/uEditorElegirContratosClienteParaCompra.pas

139 lines
4.6 KiB
ObjectPascal
Raw Normal View History

2026-03-03 10:38:24 +00:00
unit uEditorElegirContratosClienteParaCompra;
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,
uViewContratosClienteParaCompra, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls,
uEditorContratosCliente, uBizContratosCliente, uIEditorElegirContratosCliente,
JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces;
type
TfEditorElegirContratosClienteParaCompra = class(TfEditorContratosCliente, IEditorElegirContratosCliente)
frViewBarraSeleccion1: TfrViewBarraSeleccion;
JvgWizardHeader1: TJvgWizardHeader;
EditorSeleccionActionList: TActionList;
actBuscar2: TAction;
actQuitarFiltro2: TAction;
actAnchoAuto2: TAction;
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure actAnchoAuto2Execute(Sender: TObject);
procedure actQuitarFiltro2Execute(Sender: TObject);
protected
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetContratosClienteSeleccionados: IBizContratoCliente;
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; override;
public
property Mensaje : String read GetMensaje write SetMensaje;
property ContratosClienteSeleccionados: IBizContratoCliente read GetContratosClienteSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
end;
implementation
uses
uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
uGridUtils, uEditorBase, uContratosClienteController,
cxGridLevel;
{$R *.dfm}
{ TfEditorElegirContratosCliente }
procedure TfEditorElegirContratosClienteParaCompra.actAnchoAuto2Execute(Sender: TObject);
begin
inherited;
actAnchoAuto.Execute;
end;
procedure TfEditorElegirContratosClienteParaCompra.actQuitarFiltro2Execute(Sender: TObject);
begin
inherited;
actQuitarFiltro.Execute;
end;
procedure TfEditorElegirContratosClienteParaCompra.AsignarVista;
begin
ViewGrid := CreateView(TfrViewContratosClienteParaCompra) as IViewContratosCliente;
end;
procedure TfEditorElegirContratosClienteParaCompra.FormShow(Sender: TObject);
begin
inherited;
EditorActionList.State := asSuspended;
end;
procedure TfEditorElegirContratosClienteParaCompra.frViewBarraSeleccion1actCancelarExecute(
Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirContratosClienteParaCompra.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirContratosClienteParaCompra.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirContratosClienteParaCompra.GetContratosClienteSeleccionados: IBizContratoCliente;
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contratos as ISeleccionable).SelectedRecords);
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := (Controller as IContratosClienteController).ExtraerSeleccionados(Contratos) as IBizContratoCliente;
end;
function TfEditorElegirContratosClienteParaCompra.GetMensaje: String;
begin
Result := JvgWizardHeader1.Comments.Text;
end;
function TfEditorElegirContratosClienteParaCompra.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirContratosClienteParaCompra.SetMensaje(const AValue: String);
begin
JvgWizardHeader1.Comments.Text := AValue;
end;
procedure TfEditorElegirContratosClienteParaCompra.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirContratosClienteParaCompra.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
//Para que no salgan las pesta<74>as de filtrado
ViewGrid._Grid.RootLevelOptions.DetailTabsPosition := dtpNone;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.