git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
120 lines
2.7 KiB
ObjectPascal
120 lines
2.7 KiB
ObjectPascal
|
|
//////////////////////////////////////////////////
|
|
// DB Access Components
|
|
// Copyright © 1998-2005 Core Lab. All right reserved.
|
|
// Macros Frame
|
|
//////////////////////////////////////////////////
|
|
|
|
{$IFNDEF CLR}
|
|
|
|
{$I Dac.inc}
|
|
|
|
unit DAMacrosFrame;
|
|
{$ENDIF}
|
|
|
|
interface
|
|
|
|
uses
|
|
{$IFDEF MSWINDOWS}
|
|
Windows, Messages, Graphics, Controls, Forms,
|
|
Dialogs,
|
|
StdCtrls, ExtCtrls,
|
|
{$ENDIF}
|
|
{$IFDEF LINUX}
|
|
QStdCtrls, QExtCtrls, QControls,
|
|
{$ENDIF}
|
|
Classes, SysUtils,
|
|
DBAccess, CRFrame, CRColFrame, CRTabEditor;
|
|
|
|
type
|
|
TDAMacrosFrame = class(TCRColFrame)
|
|
lbMName: TLabel;
|
|
lbMacroLog: TLabel;
|
|
lbMValue: TLabel;
|
|
meMacroValue: TMemo;
|
|
cbMacroActive: TCheckBox;
|
|
lbActive: TLabel;
|
|
procedure cbMacroActiveClick(Sender: TObject);
|
|
procedure meMacroValueExit(Sender: TObject);
|
|
|
|
protected
|
|
function GetItems: TCollection; override;
|
|
function GetMacros: TMacros;
|
|
|
|
function GetItemName(Item: TCollectionItem): string; override;
|
|
procedure ItemToControls(Item: TCollectionItem); override;
|
|
procedure ControlsToItem(Item: TCollectionItem); override;
|
|
|
|
property Macros: TMacros read GetMacros;
|
|
public
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$IFDEF IDE}
|
|
{$R *.dfm}
|
|
{$ENDIF}
|
|
{$IFDEF MSWINDOWS}
|
|
{$R DAMacrosFrame.dfm}
|
|
{$ENDIF}
|
|
{$IFDEF LINUX}
|
|
{$R *.xfm}
|
|
{$ENDIF}
|
|
|
|
uses
|
|
DB, DASQLEditor;
|
|
|
|
function TDAMacrosFrame.GetItems: TCollection;
|
|
begin
|
|
Result := Editor.DADesignUtilsClass.GetMacros(Editor.localComponent);
|
|
end;
|
|
|
|
function TDAMacrosFrame.GetMacros: TMacros;
|
|
begin
|
|
Result := Items as TMacros;
|
|
end;
|
|
|
|
function TDAMacrosFrame.GetItemName(Item: TCollectionItem): string;
|
|
begin
|
|
Result := TMacro(Item).Name;
|
|
end;
|
|
|
|
procedure TDAMacrosFrame.ItemToControls(Item: TCollectionItem);
|
|
begin
|
|
meMacroValue.Lines.Text := TMacro(Item).Value;
|
|
cbMacroActive.Checked := TMacro(Item).Active;
|
|
end;
|
|
|
|
procedure TDAMacrosFrame.ControlsToItem(Item: TCollectionItem);
|
|
begin
|
|
TMacro(Item).Value := meMacroValue.Lines.Text;
|
|
TMacro(Item).Active := cbMacroActive.Checked;
|
|
end;
|
|
|
|
procedure TDAMacrosFrame.cbMacroActiveClick(Sender: TObject);
|
|
begin
|
|
if FInSelectItem or not IsControlEnabled(Sender as TControl) then
|
|
Exit;
|
|
|
|
Macros[lbItemName.ItemIndex].Active := cbMacroActive.Checked;
|
|
Modified := True;
|
|
|
|
UpdateControlsState;
|
|
end;
|
|
|
|
procedure TDAMacrosFrame.meMacroValueExit(Sender: TObject);
|
|
begin
|
|
if FInSelectItem or not IsControlEnabled(Sender as TControl) then
|
|
Exit;
|
|
|
|
if meMacroValue.Lines.Text <> Macros[lbItemName.ItemIndex].Value then begin
|
|
Macros[lbItemName.ItemIndex].Value := meMacroValue.Lines.Text;
|
|
|
|
Modified := True;
|
|
|
|
UpdateControlsState;
|
|
end;
|
|
end;
|
|
|
|
end.
|