ProGestion/Servidor/uConfiguracion.pas
2007-06-21 16:12:43 +00:00

133 lines
3.2 KiB
ObjectPascal

unit uConfiguracion;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ActnList, JvComponent,
JvAppStorage, JvAppRegistryStorage, Contnrs, ExtCtrls, ImgList,
PngImageList, JvExControls, JvGradientHeaderPanel, uFrameConfiguracion,
JvComponentBase;
type
TfConfiguracion = class(TForm)
tvArbol: TTreeView;
Button1: TButton;
Button2: TButton;
ActionList1: TActionList;
actAceptar: TAction;
actCancelar: TAction;
JvAppRegistryStorage1: TJvAppRegistryStorage;
pnlPagina: TTabControl;
PngImageList1: TPngImageList;
pnlHeader: TJvGradientHeaderPanel;
ListView1: TListView;
procedure FormCreate(Sender: TObject);
procedure tvArbolChange(Sender: TObject; Node: TTreeNode);
procedure actAceptarExecute(Sender: TObject);
procedure actCancelarExecute(Sender: TObject);
procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
private
FPaginaActual : IConfiguracionFrame;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
var
fConfiguracion: TfConfiguracion;
implementation
uses uConexionBD, uDataModuleServer, uConfGeneral;
{$R *.dfm}
type
TFrameClass = class of TFrameConfiguracion;
function CreateFrame(Parent: TWinControl; FrameClass: TFrameClass): IConfiguracionFrame;
var
aFrame : TFrameConfiguracion;
begin
aFrame := FrameClass.Create(NIL);
aFrame.Name:='Frame'+IntToStr(Random(10000));
aFrame.Parent := Parent;
aFrame.Init;
aFrame.Show;
Result := aFrame;
end;
constructor TfConfiguracion.Create(AOwner: TComponent);
begin
inherited;
end;
destructor TfConfiguracion.Destroy;
begin
inherited;
end;
procedure TfConfiguracion.FormCreate(Sender: TObject);
var
AItem : TListItem;
begin
with ListView1.Items do
begin
AItem := Add;
AItem.Caption := 'General';
AItem.ImageIndex := AItem.Index;
AItem := Add;
AItem.Caption := 'Servidor de BD';
AItem.ImageIndex := AItem.Index;
end;
ListView1.ItemIndex := 0;
end;
procedure TfConfiguracion.tvArbolChange(Sender: TObject; Node: TTreeNode);
begin
if Assigned(FPaginaActual) then
FPaginaActual.Finalize;
case Node.Index of
0 : FPaginaActual := CreateFrame(pnlPagina, TfrConfGeneral);
1 : FPaginaActual := CreateFrame(pnlPagina, TfrConexionBD);
end;
Self.Update;
pnlHeader.LabelCaption := Node.Text;
end;
procedure TfConfiguracion.actAceptarExecute(Sender: TObject);
begin
if Assigned(FPaginaActual) then
FPaginaActual.Finalize;
dmServer.SalvarConfiguracion;
Close;
end;
procedure TfConfiguracion.actCancelarExecute(Sender: TObject);
begin
Close;
end;
procedure TfConfiguracion.ListView1SelectItem(Sender: TObject;
Item: TListItem; Selected: Boolean);
begin
if Selected then
begin
if Assigned(FPaginaActual) then
FPaginaActual.Finalize;
case Item.Index of
0 : FPaginaActual := CreateFrame(pnlPagina, TfrConfGeneral);
1 : FPaginaActual := CreateFrame(pnlPagina, TfrConexionBD);
end;
Self.Update;
pnlHeader.LabelCaption := Item.Caption;
end;
end;
end.