2007-08-09 21:36:59 +00:00
|
|
|
unit registerrx;
|
|
|
|
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
|
|
|
Classes, SysUtils, LResources, LazarusPackageIntf;
|
|
|
|
|
|
|
|
procedure Register;
|
|
|
|
|
|
|
|
implementation
|
2007-10-30 11:43:24 +00:00
|
|
|
uses
|
|
|
|
PropEdits, dbdateedit, rxlookup, folderlister, rxdbgrid, rxmemds, duallist,
|
2007-08-09 21:36:59 +00:00
|
|
|
curredit, rxswitch, rxdice, rxdbcomb, rxtoolbar, rxxpman, PageMngr, RxAppIcon,
|
2007-08-28 21:55:23 +00:00
|
|
|
Dialogs, ComponentEditors, seldsfrm, DBPropEdits, DB, rxctrls, RxLogin,
|
2007-10-30 11:43:24 +00:00
|
|
|
RxCustomChartPanel, AutoPanel, pickdate, rxconst, tooledit,
|
|
|
|
rxceEditLookupFields;
|
2007-08-09 21:36:59 +00:00
|
|
|
|
|
|
|
type
|
|
|
|
|
|
|
|
{ TRxAppIcon }
|
|
|
|
|
|
|
|
TRxAppIconEditor = class(TComponentEditor)
|
|
|
|
public
|
|
|
|
DefaultEditor: TBaseComponentEditor;
|
|
|
|
constructor Create(AComponent: TComponent; ADesigner: TComponentEditorDesigner); override;
|
|
|
|
destructor Destroy; override;
|
|
|
|
function GetVerbCount:integer;override;
|
|
|
|
function GetVerb(Index:integer):string;override;
|
|
|
|
procedure ExecuteVerb(Index:integer);override;
|
|
|
|
end;
|
|
|
|
|
|
|
|
{ TRxDBGridFieldProperty }
|
|
|
|
TRxDBGridFieldProperty = class(TFieldProperty)
|
|
|
|
public
|
|
|
|
procedure FillValues(const Values: TStringList); override;
|
|
|
|
end;
|
|
|
|
|
|
|
|
{ TRxDBGridFieldProperty }
|
|
|
|
|
|
|
|
procedure TRxDBGridFieldProperty.FillValues(const Values: TStringList);
|
|
|
|
var
|
|
|
|
Column: TRxColumn;
|
|
|
|
Grid: TRxDBGrid;
|
|
|
|
DataSource: TDataSource;
|
|
|
|
begin
|
|
|
|
Column:=TRxColumn(GetComponent(0));
|
|
|
|
if not (Column is TRxColumn) then exit;
|
|
|
|
Grid:=TRxDBGrid(Column.Grid);
|
|
|
|
if not (Grid is TRxDBGrid) then exit;
|
|
|
|
DataSource := Grid.DataSource;
|
|
|
|
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
|
|
|
|
DataSource.DataSet.GetFieldNames(Values);
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
{ TRxAppIcon }
|
|
|
|
|
|
|
|
type
|
|
|
|
PClass = ^TClass;
|
|
|
|
|
|
|
|
constructor TRxAppIconEditor.Create(AComponent: TComponent;
|
|
|
|
ADesigner: TComponentEditorDesigner);
|
|
|
|
var
|
|
|
|
CompClass: TClass;
|
|
|
|
begin
|
|
|
|
inherited Create(AComponent, ADesigner);
|
|
|
|
CompClass := PClass(Acomponent)^;
|
|
|
|
try
|
|
|
|
PClass(AComponent)^ := TComponent;
|
|
|
|
DefaultEditor := GetComponentEditor(AComponent, ADesigner);
|
|
|
|
finally
|
|
|
|
PClass(AComponent)^ := CompClass;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
destructor TRxAppIconEditor.Destroy;
|
|
|
|
begin
|
|
|
|
DefaultEditor.Free;
|
|
|
|
inherited Destroy;
|
|
|
|
end;
|
|
|
|
|
|
|
|
function TRxAppIconEditor.GetVerbCount: integer;
|
|
|
|
begin
|
|
|
|
Result:=DefaultEditor.GetVerbCount + 1;
|
|
|
|
end;
|
|
|
|
|
|
|
|
function TRxAppIconEditor.GetVerb(Index: integer): string;
|
|
|
|
begin
|
|
|
|
if Index < DefaultEditor.GetVerbCount then
|
|
|
|
Result := DefaultEditor.GetVerb(Index)
|
|
|
|
else
|
|
|
|
begin
|
|
|
|
case Index - DefaultEditor.GetVerbCount of
|
2007-10-17 10:19:26 +00:00
|
|
|
0:Result:=sLoadIcon;
|
2007-08-09 21:36:59 +00:00
|
|
|
end;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TRxAppIconEditor.ExecuteVerb(Index: integer);
|
|
|
|
var
|
|
|
|
OpenDialog1: TOpenDialog;
|
|
|
|
begin
|
|
|
|
if Index < DefaultEditor.GetVerbCount then
|
|
|
|
DefaultEditor.ExecuteVerb(Index)
|
|
|
|
else
|
|
|
|
begin
|
|
|
|
case Index - DefaultEditor.GetVerbCount of
|
|
|
|
0:begin
|
|
|
|
OpenDialog1:=TOpenDialog.Create(nil);
|
2007-10-17 10:19:26 +00:00
|
|
|
OpenDialog1.Filter:=sWindowsIcoFiles;
|
2007-08-09 21:36:59 +00:00
|
|
|
try
|
|
|
|
if OpenDialog1.Execute then
|
|
|
|
(Component as TRxAppIcon).LoadFromFile(OpenDialog1.FileName);
|
|
|
|
finally
|
|
|
|
OpenDialog1.Free;
|
|
|
|
end;
|
|
|
|
Modified;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure RegisterRxAppIcon;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxAppIcon]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxXPMan;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRXXPManifest]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterPageMngr;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TPageManager]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterUnitDBDateEdit;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX DBAware',[TDBDateEdit, TRxDBCalcEdit]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRXLookup;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX DBAware',[TRXLookupEdit, TRxDBLookupCombo]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxDbGrid;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX DBAware',[TRxDBGrid]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxMemDS;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX DBAware',[TRxMemoryData]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxDBComb;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX DBAware',[TRxDBComboBox]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterDualList;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TDualListDialog]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterCurrEdit;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TCurrencyEdit]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRXSwitch;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxSwitch]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRXDice;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxDice]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterFolderLister;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TFolderLister]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxToolBar;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TToolPanel]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxCtrls;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxLabel, TSecretPanel]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterRxLogin;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxLoginDialog]);
|
|
|
|
end;
|
|
|
|
|
2007-08-10 22:15:51 +00:00
|
|
|
procedure RegisterChartPanel;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxChart]);
|
|
|
|
end;
|
2007-08-09 21:36:59 +00:00
|
|
|
|
2007-08-28 21:55:23 +00:00
|
|
|
procedure RegisterAutoPanel;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TAutoPanel]);
|
|
|
|
end;
|
2007-08-09 21:36:59 +00:00
|
|
|
|
2007-10-17 10:19:26 +00:00
|
|
|
procedure RegisterPickDate;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxCalendarGrid]);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure RegisterToolEdit;
|
|
|
|
begin
|
|
|
|
RegisterComponents('RX',[TRxDateEdit]);
|
|
|
|
end;
|
|
|
|
|
2007-08-09 21:36:59 +00:00
|
|
|
procedure Register;
|
|
|
|
begin
|
|
|
|
//RX
|
|
|
|
RegisterUnit('folderlister', @RegisterFolderLister);
|
|
|
|
RegisterUnit('duallist', @RegisterDualList);
|
|
|
|
RegisterUnit('curredit', @RegisterCurrEdit);
|
|
|
|
RegisterUnit('rxswitch', @RegisterRXSwitch);
|
|
|
|
RegisterUnit('rxdice', @RegisterRXDice);
|
|
|
|
RegisterUnit('RxXPMan', @RegisterRxXPMan);
|
|
|
|
RegisterUnit('PageMngr', @RegisterPageMngr);
|
|
|
|
RegisterUnit('rxtoolbar', @RegisterRxToolBar);
|
|
|
|
RegisterUnit('rxappicon', @RegisterRxAppIcon);
|
|
|
|
RegisterUnit('rxctrls', @RegisterRxCtrls);
|
|
|
|
RegisterUnit('RxLogin', @RegisterRxLogin);
|
2007-08-10 22:15:51 +00:00
|
|
|
RegisterUnit('RxCustomChartPanel', @RegisterChartPanel);
|
2007-10-17 10:19:26 +00:00
|
|
|
RegisterUnit('AutoPanel', @RegisterAutoPanel);
|
|
|
|
RegisterUnit('pickdate', @RegisterPickDate);
|
|
|
|
RegisterUnit('tooledit', @RegisterToolEdit);
|
|
|
|
|
2007-08-09 21:36:59 +00:00
|
|
|
//RX DBAware
|
|
|
|
RegisterUnit('dbdateedit', @RegisterUnitDBDateEdit);
|
|
|
|
RegisterUnit('rxlookup', @RegisterRXLookup);
|
|
|
|
RegisterUnit('rxdbgrid', @RegisterRxDbGrid);
|
|
|
|
RegisterUnit('rxmemds', @RegisterRxMemDS);
|
|
|
|
RegisterUnit('rxdbcomb', @RegisterRxDBComb);
|
2007-08-28 21:55:23 +00:00
|
|
|
|
2007-08-09 21:36:59 +00:00
|
|
|
|
|
|
|
//Component Editors
|
|
|
|
RegisterComponentEditor(TRxAppIcon, TRxAppIconEditor);
|
|
|
|
RegisterComponentEditor(TRxMemoryData, TMemDataSetEditor);
|
|
|
|
//
|
|
|
|
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
|
2007-10-30 11:43:24 +00:00
|
|
|
RegisterCEEditLookupFields;
|
2007-08-09 21:36:59 +00:00
|
|
|
end;
|
|
|
|
|
|
|
|
initialization
|
|
|
|
{$i rx.lrs}
|
|
|
|
|
|
|
|
end.
|