git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@83 c93665c3-c93d-084d-9b98-7d5f4a9c3376
180 lines
5.2 KiB
ObjectPascal
180 lines
5.2 KiB
ObjectPascal
unit uViewControlBase;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uViewBase, TBXDkPanels, StdCtrls, ComCtrls, TB2Dock,
|
||
uViewAgrupaciones, uCustomView, uViewColumnas, ImgList, PngImageList,
|
||
ActnList, uViewControlGrid, uBizControlesBase, uViewSumarios,
|
||
uViewParametrosControlGrid, uViewFiltros, cxStyles;
|
||
|
||
type
|
||
IViewControlBase = interface(IViewBase)
|
||
['{A9892225-82DB-41AF-B69D-821E0663B3EF}']
|
||
function GetModificable: Boolean;
|
||
procedure SetModificable(const Value: Boolean);
|
||
property Modificable : Boolean read GetModificable write SetModificable;
|
||
|
||
function GetControl: IBizControlBase;
|
||
procedure SetControl(const Value: IBizControlBase);
|
||
property Control: IBizControlBase read GetControl write SetControl;
|
||
|
||
function GetOnViewChanged : TNotifyEvent;
|
||
procedure SetOnViewChanged(const Value : TNotifyEvent);
|
||
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
|
||
end;
|
||
|
||
TfrViewControlBase = class(TfrViewBase, IViewControlBase)
|
||
TBXMultiDock1: TTBXMultiDock;
|
||
pnlParametros: TTBXDockablePanel;
|
||
TBXAlignmentPanel2: TTBXAlignmentPanel;
|
||
TBXLink1: TTBXLink;
|
||
TBXLink5: TTBXLink;
|
||
TBXLink2: TTBXLink;
|
||
pcParametros: TPageControl;
|
||
TabSheet5: TTabSheet;
|
||
tsColumnas: TTabSheet;
|
||
tsAgrupacion: TTabSheet;
|
||
TBXAlignmentPanel3: TTBXAlignmentPanel;
|
||
bRefrescar: TButton;
|
||
pnlTareas: TTBXDockablePanel;
|
||
TBXPageScroller1: TTBXPageScroller;
|
||
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
||
bFiltros: TTBXLink;
|
||
bSumarios: TTBXLink;
|
||
pcTareas: TPageControl;
|
||
tsSumarios: TTabSheet;
|
||
tsFiltros: TTabSheet;
|
||
frViewColumnas1: TfrViewColumnas;
|
||
frViewAgrupaciones1: TfrViewAgrupaciones;
|
||
SmallImages: TPngImageList;
|
||
LargeImages: TPngImageList;
|
||
EditorActionList: TActionList;
|
||
actAgrupaciones: TAction;
|
||
actColumnas: TAction;
|
||
actSumarios: TAction;
|
||
actFiltros: TAction;
|
||
frViewSumarios1: TfrViewSumarios;
|
||
actRefrescar: TAction;
|
||
frViewFiltros1: TfrViewFiltros;
|
||
procedure actColumnasExecute(Sender: TObject);
|
||
procedure actSumariosExecute(Sender: TObject);
|
||
procedure actFiltrosExecute(Sender: TObject);
|
||
procedure actAgrupacionesExecute(Sender: TObject);
|
||
protected
|
||
FControl : IBizControlBase;
|
||
FOnViewChanged : TNotifyEvent;
|
||
FModificable : Boolean;
|
||
procedure ActivarTarea (const ATarea : Integer); virtual;
|
||
function GetControl: IBizControlBase; virtual;
|
||
procedure SetControl(const Value: IBizControlBase); virtual;
|
||
function GetOnViewChanged : TNotifyEvent; virtual;
|
||
procedure SetOnViewChanged(const Value : TNotifyEvent); virtual;
|
||
function GetModificable: Boolean; virtual;
|
||
procedure SetModificable(const Value: Boolean); virtual;
|
||
public
|
||
property Modificable : Boolean read GetModificable write SetModificable;
|
||
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
|
||
property Control: IBizControlBase read GetControl write SetControl;
|
||
constructor Create(AOwner: TComponent); override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
const
|
||
COLUMNAS = 1;
|
||
AGRUPACIONES = 2;
|
||
SUMARIOS = 3;
|
||
FILTROS = 4;
|
||
|
||
|
||
procedure TfrViewControlBase.actColumnasExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActivarTarea(COLUMNAS);
|
||
frViewColumnas1.Refresh;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.ActivarTarea(const ATarea: Integer);
|
||
begin
|
||
case ATarea of
|
||
COLUMNAS : pcParametros.ActivePage := tsColumnas;
|
||
AGRUPACIONES : pcParametros.ActivePage := tsAgrupacion;
|
||
SUMARIOS : pcTareas.ActivePage := tsSumarios;
|
||
FILTROS : pcTareas.ActivePage := tsFiltros;
|
||
end;
|
||
end;
|
||
|
||
function TfrViewControlBase.GetControl: IBizControlBase;
|
||
begin
|
||
Result := FControl;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.SetControl(const Value: IBizControlBase);
|
||
begin
|
||
FControl := Value;
|
||
frViewColumnas1.Refresh;
|
||
frViewAgrupaciones1.Refresh;
|
||
|
||
// <20>Es modificable el control?
|
||
Self.Modificable := FControl.EsModificable;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.actSumariosExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActivarTarea(SUMARIOS);
|
||
frViewSumarios1.Refresh;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.actFiltrosExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActivarTarea(FILTROS);
|
||
frViewFiltros1.Refresh;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.actAgrupacionesExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActivarTarea(AGRUPACIONES);
|
||
frViewAgrupaciones1.Refresh;
|
||
end;
|
||
|
||
function TfrViewControlBase.GetOnViewChanged: TNotifyEvent;
|
||
begin
|
||
Result := FOnViewChanged;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.SetOnViewChanged(const Value: TNotifyEvent);
|
||
begin
|
||
FOnViewChanged := Value;
|
||
end;
|
||
|
||
constructor TfrViewControlBase.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
FModificable := False;
|
||
pcParametros.ActivePage := tsColumnas;
|
||
pcTareas.ActivePage := tsSumarios;
|
||
FOnViewChanged := nil;
|
||
end;
|
||
|
||
function TfrViewControlBase.GetModificable: Boolean;
|
||
begin
|
||
Result := FModificable;
|
||
end;
|
||
|
||
procedure TfrViewControlBase.SetModificable(const Value: Boolean);
|
||
begin
|
||
FModificable := Value;
|
||
|
||
frViewColumnas1.Modificable := FModificable;
|
||
frViewAgrupaciones1.Modificable := FModificable;
|
||
end;
|
||
|
||
end.
|