This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Informes base/InformesBase/Cliente/uViewControlBase.pas
2007-07-10 17:33:08 +00:00

180 lines
5.2 KiB
ObjectPascal
Raw Blame History

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.