git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@593 0c75b7a4-871f-7646-8a2f-f78d34cc349f
220 lines
6.3 KiB
ObjectPascal
220 lines
6.3 KiB
ObjectPascal
unit uEditorElegirArticulos;
|
||
|
||
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,
|
||
uViewArticulos, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
|
||
TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
|
||
JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls,
|
||
uEditorArticulos, uBizArticulos, uIEditorElegirArticulos,
|
||
JvExComCtrls, JvStatusBar, uDAInterfaces, uEditorGridBase, uArticulosController;
|
||
|
||
type
|
||
TfEditorElegirArticulos = class(TfEditorGridBase, IEditorElegirArticulos)
|
||
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);
|
||
|
||
private
|
||
FArticulos: IBizArticulo;
|
||
FController : IArticulosController;
|
||
|
||
protected
|
||
function GetArticulos: IBizArticulo;
|
||
procedure SetArticulos(const Value: IBizArticulo);
|
||
function GetController : IArticulosController; virtual;
|
||
procedure SetController (const Value : IArticulosController); virtual;
|
||
|
||
procedure SetMultiSelect (AValue : Boolean);
|
||
function GetMultiSelect : Boolean;
|
||
function GetArticulosSeleccionados: IBizArticulo;
|
||
procedure SetViewGrid(const Value: IViewGridBase); override;
|
||
procedure SetMensaje (const AValue: String);
|
||
function GetMensaje: String;
|
||
|
||
procedure NuevoInterno; override;
|
||
|
||
public
|
||
property Mensaje : String read GetMensaje write SetMensaje;
|
||
property ArticulosSeleccionados: IBizArticulo read GetArticulosSeleccionados;
|
||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||
property Articulos: IBizArticulo read GetArticulos write SetArticulos;
|
||
property Controller : IArticulosController read GetController write SetController;
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
|
||
uGridStatusUtils, uEditorBase;
|
||
|
||
{$R *.dfm}
|
||
|
||
{ TfEditorElegirArticulos }
|
||
|
||
procedure TfEditorElegirArticulos.actAnchoAuto2Execute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
actAnchoAuto.Execute;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.actQuitarFiltro2Execute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
actQuitarFiltro.Execute;
|
||
end;
|
||
|
||
constructor TfEditorElegirArticulos.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
end;
|
||
|
||
destructor TfEditorElegirArticulos.Destroy;
|
||
begin
|
||
FArticulos := NIL;
|
||
FController := NIl;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
|
||
if not Assigned(ViewGrid) then
|
||
raise Exception.Create('No hay ninguna vista asignada');
|
||
|
||
if not Assigned(Articulos) then
|
||
raise Exception.Create('No hay ning<6E>n articulo asignado');
|
||
|
||
Articulos.DataTable.Active := True;
|
||
// EditorActionList.State := asSuspended;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.frViewBarraSeleccion1actCancelarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
Close;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.frViewBarraSeleccion1actSeleccionarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ModalResult := mrOk;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.frViewBarraSeleccion1actSeleccionarUpdate(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
|
||
end;
|
||
|
||
function TfEditorElegirArticulos.GetArticulos: IBizArticulo;
|
||
begin
|
||
Result := FArticulos;
|
||
end;
|
||
|
||
function TfEditorElegirArticulos.GetArticulosSeleccionados: IBizArticulo;
|
||
begin
|
||
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Articulos as ISeleccionable).SelectedRecords);
|
||
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
|
||
Result := (Controller as IArticulosController).ExtraerSeleccionados(Articulos) as IBizArticulo;
|
||
end;
|
||
|
||
function TfEditorElegirArticulos.GetController: IArticulosController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
function TfEditorElegirArticulos.GetMensaje: String;
|
||
begin
|
||
Result := JvgWizardHeader1.Comments.Text;
|
||
end;
|
||
|
||
function TfEditorElegirArticulos.GetMultiSelect: Boolean;
|
||
begin
|
||
Result := ViewGrid.MultiSelect;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.NuevoInterno;
|
||
var
|
||
AArticulo: IBizArticulo;
|
||
|
||
begin
|
||
inherited;
|
||
AArticulo := FController.Nuevo;
|
||
if not AArticulo.DataTable.Active then
|
||
AArticulo.DataTable.Active := True;
|
||
|
||
FController.Ver(AArticulo);
|
||
Articulos.DataTable.Refresh;
|
||
|
||
{
|
||
if (FViewGrid._Grid.ActiveLevel.Tag = 1) then
|
||
AArticulo := FController.Nuevo
|
||
else
|
||
begin
|
||
AArticulo := Articulos;
|
||
FController.Anadir(AArticulo);
|
||
end;
|
||
|
||
if not AArticulo.DataTable.Active then
|
||
AArticulo.DataTable.Active := True;
|
||
|
||
FController.Ver(AArticulo);
|
||
|
||
if (FViewGrid._Grid.ActiveLevel.Tag = 1) then
|
||
Articulos.DataTable.Refresh;
|
||
}
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.SetArticulos(const Value: IBizArticulo);
|
||
begin
|
||
FArticulos := Value;
|
||
dsDataTable.DataTable := FArticulos.DataTable;
|
||
if Assigned(ViewGrid) then
|
||
(ViewGrid as IViewArticulos).Articulos := FArticulos;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.SetController(const Value: IArticulosController);
|
||
begin
|
||
FController := Value;
|
||
if Assigned(ViewGrid) then
|
||
(ViewGrid as IViewArticulos).Controller := FController;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.SetMensaje(const AValue: String);
|
||
begin
|
||
JvgWizardHeader1.Comments.Text := AValue;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.SetMultiSelect(AValue: Boolean);
|
||
begin
|
||
ViewGrid.MultiSelect := AValue;
|
||
end;
|
||
|
||
procedure TfEditorElegirArticulos.SetViewGrid(const Value: IViewGridBase);
|
||
begin
|
||
inherited;
|
||
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
|
||
end;
|
||
|
||
end.
|