move design-time code to speshial dcl_rx_ctrl.lpk

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@720 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2009-02-25 19:31:17 +00:00
parent 2de232e34b
commit 702a6ed97f
8 changed files with 294 additions and 133 deletions

View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="dcl_rx_ctrl"/>
<AddToProjectUsesSection Value="False"/>
<Author Value="Lagunov A.A."/>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)/"/>
</SearchPaths>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Description Value="Design time packet for rx lib"/>
<Version Major="1"/>
<Files Count="1">
<Item1>
<Filename Value="register_rxctrl.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="register_rxctrl"/>
</Item1>
</Files>
<Type Value="DesignTime"/>
<RequiredPkgs Count="2">
<Item1>
<PackageName Value="rxnew"/>
<MinVersion Major="1" Minor="2" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -0,0 +1,23 @@
{ Этот файл был автоматически создан Lazarus. Н�
� редактировать!
Исходный код используется только для комп�
�ляции и установки пакета.
}
unit dcl_rx_ctrl;
interface
uses
register_rxctrl, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('register_rxctrl', @register_rxctrl.Register);
end;
initialization
RegisterPackage('dcl_rx_ctrl', @Register);
end.

View File

@ -0,0 +1,172 @@
unit register_rxctrl;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, LazarusPackageIntf;
procedure Register;
implementation
uses RxLogin, ComponentEditors, RxAppIcon, Dialogs, rxconst;
resourcestring
sTestTRxLoginDialog = 'Test TRxLoginDialog';
sLoadIcon = 'Load icon';
type
{ TRxLoginDialogEditor }
TRxLoginDialogEditor = 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;
{ 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;
{ TRxLoginDialogEditor }
constructor TRxLoginDialogEditor.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 TRxLoginDialogEditor.Destroy;
begin
DefaultEditor.Free;
inherited Destroy;
end;
function TRxLoginDialogEditor.GetVerbCount: integer;
begin
Result:=DefaultEditor.GetVerbCount + 1;
end;
function TRxLoginDialogEditor.GetVerb(Index: integer): string;
begin
if Index < DefaultEditor.GetVerbCount then
Result := DefaultEditor.GetVerb(Index)
else
begin
case Index - DefaultEditor.GetVerbCount of
0:Result:=sTestTRxLoginDialog;
end;
end;
end;
procedure TRxLoginDialogEditor.ExecuteVerb(Index: integer);
begin
if Index < DefaultEditor.GetVerbCount then
DefaultEditor.ExecuteVerb(Index)
else
begin
case Index - DefaultEditor.GetVerbCount of
0:(Component as TRxLoginDialog).Login;
end;
end;
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
0:Result:=sLoadIcon;
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);
OpenDialog1.Filter:=sWindowsIcoFiles;
try
if OpenDialog1.Execute then
(Component as TRxAppIcon).LoadFromFile(OpenDialog1.FileName);
finally
OpenDialog1.Free;
end;
Modified;
end;
end;
end;
end;
procedure Register;
begin
//
RegisterComponentEditor(TRxLoginDialog, TRxLoginDialogEditor);
RegisterComponentEditor(TRxAppIcon, TRxAppIconEditor);
end;
end.

View File

@ -19,18 +19,6 @@ uses
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
@ -98,72 +86,6 @@ begin
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
0:Result:=sLoadIcon;
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);
OpenDialog1.Filter:=sWindowsIcoFiles;
try
if OpenDialog1.Execute then
(Component as TRxAppIcon).LoadFromFile(OpenDialog1.FileName);
finally
OpenDialog1.Free;
end;
Modified;
end;
end;
end;
end;
procedure RegisterRxAppIcon;
@ -241,10 +163,6 @@ begin
RegisterComponents('RX',[TRxLabel, TSecretPanel, TRxSpeedButton]);
end;
procedure RegisterRxLogin;
begin
RegisterComponents('RX',[TRxLoginDialog]);
end;
procedure RegisterChartPanel;
begin
@ -281,6 +199,11 @@ begin
RegisterComponents('RX',[TRxTimeEdit]);
end;
procedure RegisterRxLogin;
begin
RegisterComponents('RX',[TRxLoginDialog]);
end;
procedure Register;
begin
//RX
@ -294,7 +217,6 @@ begin
RegisterUnit('rxtoolbar', @RegisterRxToolBar);
RegisterUnit('rxappicon', @RegisterRxAppIcon);
RegisterUnit('rxctrls', @RegisterRxCtrls);
RegisterUnit('RxLogin', @RegisterRxLogin);
RegisterUnit('RxCustomChartPanel', @RegisterChartPanel);
RegisterUnit('AutoPanel', @RegisterAutoPanel);
RegisterUnit('pickdate', @RegisterPickDate);
@ -302,6 +224,7 @@ begin
RegisterUnit('rxclock', @RegisterRxClock);
RegisterUnit('rxspin', @RegisterRxSpin);
RegisterUnit('RxTimeEdit', @RegisterRxTimeEdit);
RegisterUnit('RxLogin', @RegisterRxLogin);
//RX DBAware
RegisterUnit('dbdateedit', @RegisterUnitDBDateEdit);
@ -310,16 +233,13 @@ begin
RegisterUnit('rxmemds', @RegisterRxMemDS);
RegisterUnit('rxdbcomb', @RegisterRxDBComb);
//Component Editors
RegisterComponentEditor(TRxAppIcon, TRxAppIconEditor);
RegisterComponentEditor(TRxMemoryData, TMemDataSetEditor);
//
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TRxColumnFooter, 'FieldName', TRxDBGridFooterFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TPopUpColumn, 'FieldName', TPopUpColumnFieldProperty);
RegisterCEEditLookupFields;
end;

View File

@ -263,7 +263,6 @@ object RxLoginForm: TRxLoginForm
BorderSpacing.Left = 12
BorderSpacing.Around = 6
TabOrder = 0
Text = '1'
end
object PasswordEdit: TEdit
AnchorSideLeft.Control = UserNameEdit
@ -282,7 +281,6 @@ object RxLoginForm: TRxLoginForm
EchoMode = emPassword
PasswordChar = '*'
TabOrder = 1
Text = '1'
end
object CustomCombo: TComboBox
AnchorSideLeft.Control = UserNameEdit

View File

@ -175,46 +175,46 @@ LazarusResources.Add('TRxLoginForm','FORMDATA',[
+'rBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#6'Cursor'#7#7'crIBeam'#4'Left'#2'^'#6'Height'#2#27#3'Top'#2'6'#5
+'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#18
+'BorderSpacing.Left'#2#12#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Tex'
+'t'#6#1'1'#0#0#5'TEdit'#12'PasswordEdit'#22'AnchorSideLeft.Control'#7#12'Use'
+'rNameEdit'#21'AnchorSideTop.Control'#7#12'UserNameEdit'#18'AnchorSideTop.Si'
+'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#12'UserNameEdit'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#6'Cursor'#7#7'crIBeam'#4'Left'#2'^'#6'Height'
+#2#27#3'Top'#2'W'#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#8'EchoMode'#7#10'emPassword'#12'P'
+'asswordChar'#6#1'*'#8'TabOrder'#2#1#4'Text'#6#1'1'#0#0#9'TComboBox'#11'Cust'
+'omCombo'#22'AnchorSideLeft.Control'#7#12'UserNameEdit'#21'AnchorSideTop.Con'
+'trol'#7#12'PasswordEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSid'
+'eRight.Control'#7#12'UserNameEdit'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2'^'#6'Height'#2#31#3'Top'#2'x'#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#12'AutoComplete'#8#17'BorderSpacing.Top'#2#6#10'Item'
+'Height'#2#0#9'ItemWidth'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#0
+#0#7'TBitBtn'#5'btnOK'#22'AnchorSideLeft.Control'#7#12'PasswordEdit'#21'Anch'
+'orSideTop.Control'#7#9'btnCancel'#23'AnchorSideRight.Control'#7#9'btnCancel'
+#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBo'
+'ttom'#4'Left'#3#190#0#6'Height'#2'&'#3'Top'#3#159#0#5'Width'#2'<'#7'Anchors'
,#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2
+#6#20'BorderSpacing.Bottom'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'
+#6#5'&'#208#158#208#154#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#7
+'OnClick'#7#10'btnOKClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#9'btnCancel'#21'An'
+'chorSideTop.Control'#7#11'CustomCombo'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#7'btnHelp'#24'AnchorSideBottom.Control'#7#5'O'
+'wner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#0#1#6'Height'#2'&'
+#3'Top'#3#159#0#5'Width'#2']'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoS'
+'ize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#2#6'Can'
+'cel'#9#7'Caption'#6#12#208#158#209#130#208#188#208#181#208#189#208#176#4'Ki'
+'nd'#7#8'bkCancel'#11'ModalResult'#2#2#8'TabOrder'#2#4#0#0#7'TBitBtn'#7'btnH'
+'elp'#21'AnchorSideTop.Control'#7#9'btnCancel'#23'AnchorSideRight.Control'#7
+#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Contro'
+'l'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'c'#1#6'Hei'
+'ght'#2'&'#3'Top'#3#159#0#5'Width'#2'^'#7'Anchors'#11#5'akTop'#7'akRight'#8
+'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#6#20'BorderSpacing.Bott'
+'om'#2#6#7'Caption'#6#15'&'#208#161#208#191#209#128#208#176#208#178#208#186
+#208#176#4'Kind'#7#6'bkHelp'#8'TabOrder'#2#5#0#0#7'TBitBtn'#7'btnMore'#22'An'
+'chorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'btnCancel'#24
+'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBotto'
+'m'#4'Left'#2#6#6'Height'#2'&'#3'Top'#3#159#0#5'Width'#2'I'#7'Anchors'#11#5
+'akTop'#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#20
+'BorderSpacing.Bottom'#2#6#7'Caption'#6#7'More >>'#7'OnClick'#7#12'btnMoreCl'
+'ick'#8'TabOrder'#2#6#0#0#0
+'BorderSpacing.Left'#2#12#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#5
+'TEdit'#12'PasswordEdit'#22'AnchorSideLeft.Control'#7#12'UserNameEdit'#21'An'
+'chorSideTop.Control'#7#12'UserNameEdit'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#23'AnchorSideRight.Control'#7#12'UserNameEdit'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#6'Cursor'#7#7'crIBeam'#4'Left'#2'^'#6'Height'#2#27#3'Top'#2'W'
+#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9
+#17'BorderSpacing.Top'#2#6#8'EchoMode'#7#10'emPassword'#12'PasswordChar'#6#1
+'*'#8'TabOrder'#2#1#0#0#9'TComboBox'#11'CustomCombo'#22'AnchorSideLeft.Contr'
+'ol'#7#12'UserNameEdit'#21'AnchorSideTop.Control'#7#12'PasswordEdit'#18'Anch'
+'orSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#12'UserNameEdi'
+'t'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'^'#6'Height'#2#31#3'To'
+'p'#2'x'#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#12'Au'
+'toComplete'#8#17'BorderSpacing.Top'#2#6#10'ItemHeight'#2#0#9'ItemWidth'#2#0
+#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#0#0#7'TBitBtn'#5'btnOK'#22'An'
+'chorSideLeft.Control'#7#12'PasswordEdit'#21'AnchorSideTop.Control'#7#9'btnC'
+'ancel'#23'AnchorSideRight.Control'#7#9'btnCancel'#24'AnchorSideBottom.Contr'
+'ol'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#190#0#6'H'
+'eight'#2'&'#3'Top'#3#159#0#5'Width'#2'<'#7'Anchors'#11#5'akTop'#7'akRight'#8
,'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#6#20'BorderSpacing.Bott'
+'om'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#5'&'#208#158#208#154
+#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#7'OnClick'#7#10'btnOKCli'
+'ck'#8'TabOrder'#2#3#0#0#7'TBitBtn'#9'btnCancel'#21'AnchorSideTop.Control'#7
+#11'CustomCombo'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Co'
+'ntrol'#7#7'btnHelp'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBo'
+'ttom.Side'#7#9'asrBottom'#4'Left'#3#0#1#6'Height'#2'&'#3'Top'#3#159#0#5'Wid'
+'th'#2']'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpac'
+'ing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#2#6'Cancel'#9#7'Caption'#6
+#12#208#158#209#130#208#188#208#181#208#189#208#176#4'Kind'#7#8'bkCancel'#11
+'ModalResult'#2#2#8'TabOrder'#2#4#0#0#7'TBitBtn'#7'btnHelp'#21'AnchorSideTop'
+'.Control'#7#9'btnCancel'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSi'
+'deRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'Anc'
+'horSideBottom.Side'#7#9'asrBottom'#4'Left'#3'c'#1#6'Height'#2'&'#3'Top'#3
+#159#0#5'Width'#2'^'#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoS'
+'ize'#9#19'BorderSpacing.Right'#2#6#20'BorderSpacing.Bottom'#2#6#7'Caption'#6
+#15'&'#208#161#208#191#209#128#208#176#208#178#208#186#208#176#4'Kind'#7#6'b'
+'kHelp'#8'TabOrder'#2#5#0#0#7'TBitBtn'#7'btnMore'#22'AnchorSideLeft.Control'
+#7#5'Owner'#21'AnchorSideTop.Control'#7#9'btnCancel'#24'AnchorSideBottom.Con'
+'trol'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'Hei'
+'ght'#2'&'#3'Top'#3#159#0#5'Width'#2'I'#7'Anchors'#11#5'akTop'#6'akLeft'#8'a'
+'kBottom'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#20'BorderSpacing.Bottom'
+#2#6#7'Caption'#6#7'More >>'#7'OnClick'#7#12'btnMoreClick'#8'TabOrder'#2#6#0
+#0#0
]);

View File

@ -10,6 +10,11 @@
<SearchPaths>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<CStyleOperator Value="False"/>
</SyntaxOptions>
</Parsing>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
@ -246,7 +251,7 @@ translate to Lazarus by alexs in 2005 - 2009
</Item4>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
<UnitPath Value="$(PkgOutDir)\"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>

View File

@ -21,8 +21,7 @@ Copyright (c) 1997 Master-Bank
sLoadLibError = 'Could not load ''%s'' library';
sDetails = 'Details';
sWindowsIcoFiles = 'Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*';
sLoadIcon = 'Load icon';
sToCurDate = 'Set current date';