diff --git a/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpi b/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpi
new file mode 100644
index 000000000..31be029ba
--- /dev/null
+++ b/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpi
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpr b/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpr
new file mode 100644
index 000000000..ac13f083a
--- /dev/null
+++ b/components/rx/Demos/PhoneBookDemo/PhoneBookDemo.lpr
@@ -0,0 +1,18 @@
+program PhoneBookDemo;
+
+{$mode objfpc}{$H+}
+
+uses
+ {$IFDEF UNIX}{$IFDEF UseCThreads}
+ cthreads,
+ {$ENDIF}{$ENDIF}
+ Interfaces, // this includes the LCL widgetset
+ Forms
+ { add your units here }, pbMainUnit, rxnew, DBFLaz;
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TpbMainForm, pbMainForm);
+ Application.Run;
+end.
+
diff --git a/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBF b/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBF
new file mode 100644
index 000000000..710a1887f
Binary files /dev/null and b/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBF differ
diff --git a/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBT b/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBT
new file mode 100644
index 000000000..f66c9cf4c
Binary files /dev/null and b/components/rx/Demos/PhoneBookDemo/bases/PhoneBook.DBT differ
diff --git a/components/rx/Demos/PhoneBookDemo/pbmainunit.lfm b/components/rx/Demos/PhoneBookDemo/pbmainunit.lfm
new file mode 100644
index 000000000..ee3af2a75
--- /dev/null
+++ b/components/rx/Demos/PhoneBookDemo/pbmainunit.lfm
@@ -0,0 +1,156 @@
+object pbMainForm: TpbMainForm
+ Left = 274
+ Height = 446
+ Top = 446
+ Width = 849
+ HorzScrollBar.Page = 848
+ VertScrollBar.Page = 445
+ Caption = 'pbMainForm'
+ ClientHeight = 446
+ ClientWidth = 849
+ Menu = MainMenu1
+ OnCreate = FormCreate
+ Position = poDesktopCenter
+ object ToolPanel1: TToolPanel
+ Height = 23
+ Width = 849
+ Items = <>
+ Align = alTop
+ AutoSize = True
+ BorderWidth = 4
+ TabOrder = 0
+ end
+ object RxDBGrid1: TRxDBGrid
+ Height = 403
+ Top = 23
+ Width = 849
+ Columns = <
+ item
+ Title.Alignment = taCenter
+ Width = 190
+ FieldName = 'PATRONYMIC'
+ Filter.ItemIndex = -1
+ end
+ item
+ Title.Alignment = taCenter
+ Width = 150
+ FieldName = 'NAME'
+ Filter.ItemIndex = -1
+ end
+ item
+ Title.Alignment = taCenter
+ Width = 150
+ FieldName = 'SURNAME'
+ Filter.ItemIndex = -1
+ end
+ item
+ Title.Alignment = taCenter
+ Width = 130
+ FieldName = 'PHONE'
+ Filter.ItemIndex = -1
+ end
+ item
+ Title.Alignment = taCenter
+ FieldName = 'ICQ'
+ Filter.ItemIndex = -1
+ end
+ item
+ Title.Alignment = taCenter
+ FieldName = 'MEMO'
+ Filter.ItemIndex = -1
+ end>
+ Align = alClient
+ FocusColor = clRed
+ SelectedColor = clHighlight
+ DataSource = Datasource1
+ FixedColor = clBtnFace
+ Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete]
+ OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
+ ParentColor = False
+ Scrollbars = ssBoth
+ TabOrder = 1
+ TabStop = True
+ end
+ object StatusBar1: TStatusBar
+ Height = 20
+ Top = 426
+ Width = 849
+ Panels = <>
+ end
+ object ImageList1: TImageList
+ left = 167
+ top = 64
+ end
+ object ImageList2: TImageList
+ left = 200
+ top = 64
+ end
+ object ActionList1: TActionList
+ left = 167
+ top = 120
+ end
+ object MainMenu1: TMainMenu
+ left = 136
+ top = 120
+ end
+ object Dbf1: TDbf
+ FilePath = 'C:\Lazarus\components\rxnew\Demos\PhoneBookDemo\bases\'
+ IndexDefs = <>
+ TableName = 'PhoneBook.DBF'
+ TableLevel = 3
+ left = 167
+ top = 167
+ object Dbf1ID1: TLongintField
+ AlignMent = taRightJustify
+ DisplayWidth = 10
+ FieldName = 'ID'
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ end
+ object Dbf1PATRONYMIC1: TStringField
+ DisplayWidth = 50
+ FieldName = 'PATRONYMIC'
+ Index = 1
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ Size = 50
+ end
+ object Dbf1NAME1: TStringField
+ DisplayWidth = 30
+ FieldName = 'NAME'
+ Index = 2
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ Size = 30
+ end
+ object Dbf1SURNAME1: TStringField
+ DisplayWidth = 30
+ FieldName = 'SURNAME'
+ Index = 3
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ Size = 30
+ end
+ object Dbf1PHONE1: TStringField
+ DisplayWidth = 20
+ FieldName = 'PHONE'
+ Index = 4
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ end
+ object Dbf1ICQ1: TStringField
+ DisplayWidth = 15
+ FieldName = 'ICQ'
+ Index = 5
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ Size = 15
+ end
+ object Dbf1MEMO1: TMemoField
+ DisplayWidth = 10
+ FieldName = 'MEMO'
+ Index = 6
+ ProviderFlags = [pfInUpdate, pfInWhere]
+ Transliterate = False
+ end
+ end
+ object Datasource1: TDatasource
+ DataSet = Dbf1
+ left = 136
+ top = 168
+ end
+end
diff --git a/components/rx/Demos/PhoneBookDemo/pbmainunit.lrs b/components/rx/Demos/PhoneBookDemo/pbmainunit.lrs
new file mode 100644
index 000000000..2aa0aedcc
--- /dev/null
+++ b/components/rx/Demos/PhoneBookDemo/pbmainunit.lrs
@@ -0,0 +1,49 @@
+{ Это - файл ресурсов, автоматически созданный lazarus }
+
+LazarusResources.Add('TpbMainForm','FORMDATA',[
+ 'TPF0'#11'TpbMainForm'#10'pbMainForm'#4'Left'#3#18#1#6'Height'#3#190#1#3'Top'
+ +#3#190#1#5'Width'#3'Q'#3#18'HorzScrollBar.Page'#3'P'#3#18'VertScrollBar.Page'
+ +#3#189#1#7'Caption'#6#10'pbMainForm'#12'ClientHeight'#3#190#1#11'ClientWidth'
+ +#3'Q'#3#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'#8'Position'#7#15
+ +'poDesktopCenter'#0#10'TToolPanel'#10'ToolPanel1'#6'Height'#2#23#5'Width'#3
+ +'Q'#3#5'Items'#14#0#5'Align'#7#5'alTop'#8'AutoSize'#9#11'BorderWidth'#2#4#8
+ +'TabOrder'#2#0#0#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#147#1#3'Top'#2#23#5
+ +'Width'#3'Q'#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3
+ +#190#0#9'FieldName'#6#10'PATRONYMIC'#16'Filter.ItemIndex'#2#255#0#1#15'Title'
+ +'.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9'FieldName'#6#4'NAME'#16'Filter'
+ +'.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9
+ +'FieldName'#6#7'SURNAME'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7
+ +#8'taCenter'#5'Width'#3#130#0#9'FieldName'#6#5'PHONE'#16'Filter.ItemIndex'#2
+ +#255#0#1#15'Title.Alignment'#7#8'taCenter'#9'FieldName'#6#3'ICQ'#16'Filter.I'
+ +'temIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#9'FieldName'#6#4'MEMO'
+ +#16'Filter.ItemIndex'#2#255#0#0#5'Align'#7#8'alClient'#10'FocusColor'#7#5'cl'
+ +'Red'#13'SelectedColor'#7#11'clHighlight'#10'DataSource'#7#11'Datasource1'#10
+ +'FixedColor'#7#9'clBtnFace'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIndi'
+ +'cator'#14'dgColumnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6
+ +'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirmDelete'#0#12'OptionsExtra'#11
+ +#14'dgeAutoColumns'#17'dgeCheckboxColumn'#0#11'ParentColor'#8#10'Scrollbars'
+ +#7#6'ssBoth'#8'TabOrder'#2#1#7'TabStop'#9#0#0#10'TStatusBar'#10'StatusBar1'#6
+ +'Height'#2#20#3'Top'#3#170#1#5'Width'#3'Q'#3#6'Panels'#14#0#0#0#10'TImageLis'
+ +'t'#10'ImageList1'#4'left'#3#167#0#3'top'#2'@'#0#0#10'TImageList'#10'ImageLi'
+ +'st2'#4'left'#3#200#0#3'top'#2'@'#0#0#11'TActionList'#11'ActionList1'#4'left'
+ +#3#167#0#3'top'#2'x'#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3#136#0#3'top'#2
+ +'x'#0#0#4'TDbf'#4'Dbf1'#8'FilePath'#6'6C:\Lazarus\components\rxnew\Demos\Pho'
+ +'neBookDemo\bases\'#9'IndexDefs'#14#0#9'TableName'#6#13'PhoneBook.DBF'#10'Ta'
+ +'bleLevel'#2#3#4'left'#3#167#0#3'top'#3#167#0#0#13'TLongintField'#7'Dbf1ID1'
+ +#9'AlignMent'#7#14'taRightJustify'#12'DisplayWidth'#2#10#9'FieldName'#6#2'ID'
+ +#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#0#0#12'TStringField'#15
+ +'Dbf1PATRONYMIC1'#12'DisplayWidth'#2'2'#9'FieldName'#6#10'PATRONYMIC'#5'Inde'
+ +'x'#2#1#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#2'2'#0#0
+ +#12'TStringField'#9'Dbf1NAME1'#12'DisplayWidth'#2#30#9'FieldName'#6#4'NAME'#5
+ +'Index'#2#2#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#2#30#0
+ +#0#12'TStringField'#12'Dbf1SURNAME1'#12'DisplayWidth'#2#30#9'FieldName'#6#7
+ +'SURNAME'#5'Index'#2#3#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4
+ +'Size'#2#30#0#0#12'TStringField'#10'Dbf1PHONE1'#12'DisplayWidth'#2#20#9'Fiel'
+ +'dName'#6#5'PHONE'#5'Index'#2#4#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWh'
+ +'ere'#0#0#0#12'TStringField'#8'Dbf1ICQ1'#12'DisplayWidth'#2#15#9'FieldName'#6
+ +#3'ICQ'#5'Index'#2#5#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Si'
+ +'ze'#2#15#0#0#10'TMemoField'#9'Dbf1MEMO1'#12'DisplayWidth'#2#10#9'FieldName'
+ +#6#4'MEMO'#5'Index'#2#6#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#13
+ +'Transliterate'#8#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#4'Dbf1'
+ +#4'left'#3#136#0#3'top'#3#168#0#0#0#0
+]);
diff --git a/components/rx/Demos/PhoneBookDemo/pbmainunit.pas b/components/rx/Demos/PhoneBookDemo/pbmainunit.pas
new file mode 100644
index 000000000..e03f077ea
--- /dev/null
+++ b/components/rx/Demos/PhoneBookDemo/pbmainunit.pas
@@ -0,0 +1,56 @@
+unit pbMainUnit;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxtoolbar,
+ rxdbgrid, ComCtrls, ActnList, Menus, dbf, db;
+
+type
+
+ { TpbMainForm }
+
+ TpbMainForm = class(TForm)
+ ActionList1: TActionList;
+ Datasource1: TDatasource;
+ Dbf1: TDbf;
+ Dbf1ICQ1: TStringField;
+ Dbf1ID1: TLongintField;
+ Dbf1MEMO1: TMemoField;
+ Dbf1NAME1: TStringField;
+ Dbf1PATRONYMIC1: TStringField;
+ Dbf1PHONE1: TStringField;
+ Dbf1SURNAME1: TStringField;
+ ImageList1: TImageList;
+ ImageList2: TImageList;
+ MainMenu1: TMainMenu;
+ RxDBGrid1: TRxDBGrid;
+ StatusBar1: TStatusBar;
+ ToolPanel1: TToolPanel;
+ procedure FormCreate(Sender: TObject);
+ private
+ { private declarations }
+ public
+ { public declarations }
+ end;
+
+var
+ pbMainForm: TpbMainForm;
+
+implementation
+
+{ TpbMainForm }
+
+procedure TpbMainForm.FormCreate(Sender: TObject);
+begin
+ Dbf1.FilePathFull:=ExtractFilePath(ParamStr(0))+DirectorySeparator+'bases';
+ Dbf1.Open;
+end;
+
+initialization
+ {$I pbmainunit.lrs}
+
+end.
+
diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
index 1e722ddf3..1bd17ec67 100644
--- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
+++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
@@ -46,7 +46,7 @@
-
+
@@ -56,8 +56,8 @@
-
-
+
+
@@ -78,16 +78,18 @@
-
-
+
+
+
+
-
+
@@ -113,52 +115,40 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -182,7 +172,7 @@
-
+
@@ -191,10 +181,6 @@
-
-
-
-
diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
index e3f74f602..b31bc4acf 100644
--- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
+++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm
@@ -2,18 +2,18 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 353
Height = 582
Top = 161
- Width = 827
- HorzScrollBar.Page = 826
+ Width = 859
+ HorzScrollBar.Page = 858
VertScrollBar.Page = 581
ActiveControl = RxDBGrid1
Caption = 'RxDBGrid Demo (ver 2) ...'
ClientHeight = 582
- ClientWidth = 827
+ ClientWidth = 859
OnCreate = FormCreate
object RxDBGrid1: TRxDBGrid
Height = 532
Top = 50
- Width = 827
+ Width = 859
Columns = <
item
Title.Alignment = taCenter
@@ -72,10 +72,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
object Panel1: TPanel
Height = 50
- Width = 827
+ Width = 859
Align = alTop
ClientHeight = 50
- ClientWidth = 827
+ ClientWidth = 859
TabOrder = 1
object Button1: TButton
Left = 8
@@ -133,7 +133,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Size = 150
end>
OnFilterRecordEx = RxMemoryData1FilterRecordEx
- left = 144
+ left = 152
top = 264
object RxMemoryData1ID1: TLongintField
AlignMent = taRightJustify
diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs
index e698485d5..e0c1c110b 100644
--- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs
+++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lrs
@@ -2,11 +2,11 @@
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3'a'#1#6'Height'#3
- +'F'#2#3'Top'#3#161#0#5'Width'#3';'#3#18'HorzScrollBar.Page'#3':'#3#18'VertSc'
+ +'F'#2#3'Top'#3#161#0#5'Width'#3'['#3#18'HorzScrollBar.Page'#3'Z'#3#18'VertSc'
+'rollBar.Page'#3'E'#2#13'ActiveControl'#7#9'RxDBGrid1'#7'Caption'#6#26'RxDBG'
- +'rid Demo (ver 2) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3';'#3#8'OnC'
+ +'rid Demo (ver 2) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3'['#3#8'OnC'
+'reate'#7#10'FormCreate'#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#20#2#3'Top'
- +#2'2'#5'Width'#3';'#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#13'T'
+ +#2'2'#5'Width'#3'['#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#13'T'
+'itle.Caption'#6#4'Code'#9'FieldName'#6#2'ID'#16'Footer.Alignment'#7#14'taRi'
+'ghtJustify'#20'Footer.DisplayFormat'#6#9'Count: %d'#16'Footer.ValueType'#7#8
+'fvtCount'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1#15'Ti'
@@ -27,8 +27,8 @@ LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
+'aysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#0
+#12'OptionsExtra'#11#14'dgeAutoColumns'#17'dgeCheckboxColumn'#0#11'ParentCol'
+'or'#8#9'PopupMenu'#7#10'PopupMenu1'#10'Scrollbars'#7#6'ssBoth'#8'TabOrder'#2
- +#0#7'TabStop'#9#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#5'Width'#3';'#3#5'Ali'
- +'gn'#7#5'alTop'#12'ClientHeight'#2'2'#11'ClientWidth'#3';'#3#8'TabOrder'#2#1
+ +#0#7'TabStop'#9#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#5'Width'#3'['#3#5'Ali'
+ +'gn'#7#5'alTop'#12'ClientHeight'#2'2'#11'ClientWidth'#3'['#3#8'TabOrder'#2#1
+#0#7'TButton'#7'Button1'#4'Left'#2#8#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'
+#6'Action'#7#12'actCalcTotal'#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2
+#0#0#0#7'TButton'#7'Button2'#4'Left'#2'X'#6'Height'#2#25#3'Top'#2#8#5'Width'
@@ -41,7 +41,7 @@ LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
+#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4'Name'#6#5'PRICE'#8'Dat'
+'aType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1#4'Name'#6#9'Developer'
+#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#0#16'OnFilte'
- +'rRecordEx'#7#27'RxMemoryData1FilterRecordEx'#4'left'#3#144#0#3'top'#3#8#1#0
+ +'rRecordEx'#7#27'RxMemoryData1FilterRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0
+#13'TLongintField'#16'RxMemoryData1ID1'#9'AlignMent'#7#14'taRightJustify'#12
+'DisplayWidth'#2#10#9'FieldName'#6#2'ID'#13'ProviderFlags'#11#10'pfInUpdate'
+#9'pfInWhere'#0#0#0#12'TStringField'#18'RxMemoryData1NAME1'#12'DisplayWidth'
diff --git a/components/rx/Demos/ToolPanel/project1.lpi b/components/rx/Demos/ToolPanel/project1.lpi
index 11c001dda..2599d8a2a 100644
--- a/components/rx/Demos/ToolPanel/project1.lpi
+++ b/components/rx/Demos/ToolPanel/project1.lpi
@@ -7,590 +7,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -616,32 +34,590 @@
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/Demos/ToolPanel/toolbardemo.cfg b/components/rx/Demos/ToolPanel/toolbardemo.cfg
index 1db7754b6..33e85afd2 100644
--- a/components/rx/Demos/ToolPanel/toolbardemo.cfg
+++ b/components/rx/Demos/ToolPanel/toolbardemo.cfg
@@ -1,7 +1,7 @@
-
-
+
+
diff --git a/components/rx/Demos/ToolPanel/unit1.lfm b/components/rx/Demos/ToolPanel/unit1.lfm
index d6602a9d2..f64c6be8f 100644
--- a/components/rx/Demos/ToolPanel/unit1.lfm
+++ b/components/rx/Demos/ToolPanel/unit1.lfm
@@ -1,18 +1,19 @@
object MainForm: TMainForm
+ Left = 275
+ Height = 289
+ Top = 227
+ Width = 620
+ HorzScrollBar.Page = 619
+ VertScrollBar.Page = 288
Caption = 'ToolPanel demo'
ClientHeight = 289
- ClientWidth = 559
- PixelsPerInch = 96
+ ClientWidth = 620
Position = poDesktopCenter
SessionProperties = 'Width;Height;Left;Top'
ShowHint = True
- HorzScrollBar.Page = 558
- VertScrollBar.Page = 288
- Left = 440
- Height = 289
- Top = 277
- Width = 559
object ToolPanel1: TToolPanel
+ Height = 32
+ Width = 620
Items = <
item
Action = actNew
@@ -40,7 +41,9 @@ object MainForm: TMainForm
Left = 168
Height = 24
Top = 4
- Width = 24
+ Width = 39
+ DropDownMenu = PopupMenu2
+ ButtonStyle = tbrDropDownExtra
end
item
Action = actPrior
@@ -49,6 +52,7 @@ object MainForm: TMainForm
Height = 24
Top = 4
Width = 50
+ DropDownMenu = PopupMenu2
ShowCaption = True
end
item
@@ -66,7 +70,7 @@ object MainForm: TMainForm
Left = 8
Height = 24
Top = 4
- Width = 85
+ Width = 63
DropDownMenu = PopupMenu1
ShowCaption = True
ButtonStyle = tbrDropDown
@@ -86,123 +90,244 @@ object MainForm: TMainForm
BtnHeight = 24
ToolBarStyle = tbsWindowsXP
Options = [tpFlatBtns, tpCustomizable, tpGlyphPopup, tpCaptionPopup]
- Version = 1
+ Version = 3
Align = alTop
AutoSize = True
BorderWidth = 4
ClientHeight = 32
- ClientWidth = 559
+ ClientWidth = 620
FullRepaint = False
- ParentColor = True
TabOrder = 0
- Height = 32
- Width = 559
end
object ImageList1: TImageList
- left = 216
- top = 8
+ left = 168
+ top = 80
Bitmap = {
- 6C69070000001000000010000000C30100002F2A2058504D202A2F0A73746174
- 69632063686172202A546F6F6C734E6F726D616C4269746D61705B5D3D7B0A22
- 313620313620352031222C0A222E2063204E6F6E65222C0A2223206320233030
- 30303030222C0A226220632023383030303030222C0A22612063202338303830
- 3030222C0A226320632023633063306330222C0A222E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E
- 2E2E2E2E2E232323232E2E2E2E222C0A222E2E2E2E2E2E2E232361612323232E
- 2E222C0A222E2E2E2323232E2E2E2323616161232E222C0A222E2E2E2E23232E
- 2E2E2E23616161232E222C0A222E232E2E23232E2E2E2E232361612323222C0A
- 222E23232323232E2E2E23622323236161222C0A222E2323232363232E236223
- 2E2E236123222C0A222E2E2E2E2E23632362232E2E2E2E232E222C0A222E2E2E
- 2E2E2E2363232E2E2E2E2E2E2E222C0A222E2E2E2E2E23622363232E2E2E2E2E
- 2E222C0A222E2E2E2E2362232E2363232E2E2E2E2E222C0A222E2E2E2362232E
- 2E2E2363232E2E2E2E222C0A222E2E2362232E2E2E2E2E2363232E2E2E222C0A
- 222E2E23232E2E2E2E2E2E2E23232E2E2E227D3B0AA50100002F2A2058504D20
- 2A2F0A7374617469632063686172202A5072696F724E6F726D616C4269746D61
- 705B5D3D7B0A22313620313620332031222C0A222E2063204E6F6E65222C0A22
- 2320632023303030303030222C0A226120632023666666666666222C0A222E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
- 232E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E23232E2E2E2E2E2E2E2E2E222C
- 0A222E2E2E2E2361232E2E2E2E2E2E2E2E2E222C0A222E2E2E23616123232323
- 232323232E2E222C0A222E2E2361616161616161616161232E2E222C0A222E2E
- 2361616161616161616161232E2E222C0A222E2E2E2361612323232323232323
- 2E2E222C0A222E2E2E2E2361232E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E23
- 232E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E232E2E2E2E2E2E2E2E2E222C
- 0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D3B0AA401
- 00002F2A2058504D202A2F0A7374617469632063686172202A4E6578744E6F72
- 6D616C4269746D61705B5D3D7B0A22313620313620332031222C0A222E206320
- 4E6F6E65222C0A222320632023303030303030222C0A22612063202366666666
- 6666222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C
- 0A222E2E2E2E2E2E2E2E2E232E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E23
- 232E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2361232E2E2E2E222C0A222E2E
- 23232323232323236161232E2E2E222C0A222E2E236161616161616161616123
- 2E2E222C0A222E2E2361616161616161616161232E2E222C0A222E2E23232323
- 232323236161232E2E2E222C0A222E2E2E2E2E2E2E2E2E2361232E2E2E2E222C
- 0A222E2E2E2E2E2E2E2E2E23232E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E23
- 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E
- 2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E227D3B0AA30100002F2A2058504D202A2F0A737461746963206368617220
- 2A4E65774E6F726D616C4269746D61705B5D3D7B0A2231362031362033203122
- 2C0A222E2063204E6F6E65222C0A222320632023303030303030222C0A226120
- 632023666666666666222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A
- 222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2323232323232323
- 2E2E2E2E2E222C0A222E2E2E2361616161616123232E2E2E2E222C0A222E2E2E
- 236161616161612361232E2E2E222C0A222E2E2E23616161616161232323232E
- 2E222C0A222E2E2E23616161616161616161232E2E222C0A222E2E2E23616161
- 616161616161232E2E222C0A222E2E2E23616161616161616161232E2E222C0A
- 222E2E2E23616161616161616161232E2E222C0A222E2E2E2361616161616161
- 6161232E2E222C0A222E2E2E23616161616161616161232E2E222C0A222E2E2E
- 23616161616161616161232E2E222C0A222E2E2E23616161616161616161232E
- 2E222C0A222E2E2E23232323232323232323232E2E222C0A222E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E227D3B0AC60100002F2A2058504D202A2F0A7374617469
- 632063686172202A50726F70657274794E6F726D616C4269746D61705B5D3D7B
- 0A22313620313620352031222C0A222E2063204E6F6E65222C0A222320632023
- 303030303030222C0A226120632023303030303830222C0A2262206320236330
- 63306330222C0A226320632023666666666666222C0A222E2E2E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E
- 2E2E2E2E2E2E2E2323232323232E61222C0A222E2E2E2E2E2E2E236262626262
- 622361222C0A222E2E2E2E2E2E23622362626262626261222C0A222E23232323
- 2362236223626262626261222C0A222E23636323622362236223626262236122
- 2C0A222E236323622363236223622323232E61222C0A222E2363232363636323
- 622363232E2E2E222C0A222E2363636363636363236363232E2E2E222C0A222E
- 2363636363636363636363232E2E2E222C0A222E236361616361616161616323
- 2E2E2E222C0A222E2363636363636363636363232E2E2E222C0A222E23636161
- 63616161616163232E2E2E222C0A222E2363636363636363636363232E2E2E22
- 2C0A222E2323232323232323232323232E2E2E227D3B0A0E0200002F2A205850
- 4D202A2F0A7374617469632063686172202A457869744E6F726D616C4269746D
- 61705B5D3D7B0A2231362031362031302031222C0A222E2063204E6F6E65222C
- 0A222320632023303030303030222C0A226220632023303030303830222C0A22
- 6320632023303030306666222C0A226120632023303038303030222C0A226720
- 632023303038303830222C0A226420632023303066666666222C0A2266206320
- 23383038303830222C0A226820632023633063306330222C0A22652063202366
- 6666666666222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E
- 2E2E2323232323232E2E2E2E2E222C0A222E2E2E2E2E2361616161232E2E2E2E
- 2E222C0A222E2E2E2E2E2323232323232E2E2E2E2E222C0A222E2E2E2E2E2E2E
- 2E2E2E2E2E2E2E2E2E222C0A222E2E2E626262626262626262622E2E2E222C0A
- 222E2E2E626362632364656465622E2E2E222C0A222E2E2E6262636223656465
- 64622E2E2E222C0A222E2E2E626362632364656465622E2E2E222C0A222E2E2E
- 626263622365646564622E2E2E222C0A222E2E2E626362632365656565622E2E
- 2E222C0A222E2E2E626263622365656565622E2E2E222C0A222E2E2E62636223
- 2366656565622E2E2E222C0A2262626262232366666665656562626262222C0A
- 2266666666666666666666666566656666222C0A226766666666666666666665
- 6866686566227D3B0AF00100002F2A2058504D202A2F0A737461746963206368
- 6172202A437573746F6D42746E5F4E6F726D616C5B5D3D7B0A22313820313820
- 332031222C0A222E2063204E6F6E65222C0A222320632023303030303030222C
- 0A226120632023666666663030222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
- 2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E
- 2E2E2E2E23232323232E2E2E2E2E2E222C0A222E2E2E2E2E2323616161616123
- 232E2E2E2E222C0A222E2E2E2E23616161616161616161232E2E2E222C0A222E
- 2E2E236161616161616161616161232E2E222C0A222E2E2E2361612323616161
- 23236161232E2E222C0A222E2E2361616123236161612323616161232E222C0A
- 222E2E2361616161616161616161616161232E222C0A222E2E23616161616161
- 61616161616161232E222C0A222E2E2361612361616161616161236161232E22
- 2C0A222E2E2361616123616161616123616161232E222C0A222E2E2E23616161
- 2323232323616161232E2E222C0A222E2E2E236161616161616161616161232E
- 2E222C0A222E2E2E2E23616161616161616161232E2E2E222C0A222E2E2E2E2E
- 2323616161616123232E2E2E2E222C0A222E2E2E2E2E2E2E23232323232E2E2E
- 2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D3B0A
+ 4C69070000001000000010000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000FF000000FF000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000FF000000FF008080FF008080FF000000FF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000FF0000
+ 00FF000000FF000000000000000000000000000000FF000000FF008080FF0080
+ 80FF008080FF000000FF00000000000000000000000000000000000000000000
+ 00FF000000FF00000000000000000000000000000000000000FF008080FF0080
+ 80FF008080FF000000FF0000000000000000000000FF00000000000000000000
+ 00FF000000FF00000000000000000000000000000000000000FF000000FF0080
+ 80FF008080FF000000FF000000FF00000000000000FF000000FF000000FF0000
+ 00FF000000FF000000000000000000000000000000FF000080FF000000FF0000
+ 00FF000000FF008080FF008080FF00000000000000FF000000FF000000FF0000
+ 00FFC0C0C0FF000000FF00000000000000FF000080FF000000FF000000000000
+ 0000000000FF008080FF000000FF000000000000000000000000000000000000
+ 0000000000FFC0C0C0FF000000FF000080FF000000FF00000000000000000000
+ 000000000000000000FF00000000000000000000000000000000000000000000
+ 000000000000000000FFC0C0C0FF000000FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000080FF000000FFC0C0C0FF000000FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00FF000080FF000000FF00000000000000FFC0C0C0FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000FF0000
+ 80FF000000FF000000000000000000000000000000FFC0C0C0FF000000FF0000
+ 00000000000000000000000000000000000000000000000000FF000080FF0000
+ 00FF0000000000000000000000000000000000000000000000FFC0C0C0FF0000
+ 00FF0000000000000000000000000000000000000000000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000FF0000
+ 00FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00FFFFFFFFFF000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000000000
+ 00FFFFFFFFFF000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FFFFFFFFFF000000FF0000
+ 00000000000000000000000000000000000000000000000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
+ 00FF0000000000000000000000000000000000000000000000FFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF00000000000000000000000000000000000000FFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF00000000000000000000000000000000000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
+ 00FF000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FFFFFFFFFF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFF0000
+ 00FF000000000000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFF000000FF0000000000000000000000000000000000000000000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000FF000000FF000000FF000000FF0000
+ 00FF000000FF00000000800000FF000000000000000000000000000000000000
+ 00000000000000000000000000FFC0C0C0FFC0C0C0FFC0C0C0FFC0C0C0FFC0C0
+ C0FFC0C0C0FF000000FF800000FF000000000000000000000000000000000000
+ 000000000000000000FFC0C0C0FF000000FFC0C0C0FFC0C0C0FFC0C0C0FFC0C0
+ C0FFC0C0C0FFC0C0C0FF800000FF00000000000000FF000000FF000000FF0000
+ 00FF000000FFC0C0C0FF000000FFC0C0C0FF000000FFC0C0C0FFC0C0C0FFC0C0
+ C0FFC0C0C0FFC0C0C0FF800000FF00000000000000FFFFFFFFFFFFFFFFFF0000
+ 00FFC0C0C0FF000000FFC0C0C0FF000000FFC0C0C0FF000000FFC0C0C0FFC0C0
+ C0FFC0C0C0FF000000FF800000FF00000000000000FFFFFFFFFF000000FFC0C0
+ C0FF000000FFFFFFFFFF000000FFC0C0C0FF000000FFC0C0C0FF000000FF0000
+ 00FF000000FF00000000800000FF00000000000000FFFFFFFFFF000000FF0000
+ 00FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC0C0C0FF000000FFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFF800000FF8000
+ 00FFFFFFFFFF800000FF800000FF800000FF800000FF800000FFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFF800000FF8000
+ 00FFFFFFFFFF800000FF800000FF800000FF800000FF800000FFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
+ 00FF00000000000000000000000000000000000000FF000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF008000FF008000FF008000FF008000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000800000FF8000
+ 00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000
+ 00FF000000000000000000000000000000000000000000000000800000FFFF00
+ 00FF800000FFFF0000FF000000FFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF8000
+ 00FF000000000000000000000000000000000000000000000000800000FF8000
+ 00FFFF0000FF800000FF000000FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FF8000
+ 00FF000000000000000000000000000000000000000000000000800000FFFF00
+ 00FF800000FFFF0000FF000000FFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF8000
+ 00FF000000000000000000000000000000000000000000000000800000FF8000
+ 00FFFF0000FF800000FF000000FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FF8000
+ 00FF000000000000000000000000000000000000000000000000800000FFFF00
+ 00FF800000FFFF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
+ 00FF000000000000000000000000000000000000000000000000800000FF8000
+ 00FFFF0000FF800000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
+ 00FF000000000000000000000000000000000000000000000000800000FFFF00
+ 00FF800000FF000000FF000000FF808080FFFFFFFFFFFFFFFFFFFFFFFFFF8000
+ 00FF000000000000000000000000800000FF800000FF800000FF800000FF0000
+ 00FF000000FF808080FF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFF8000
+ 00FF800000FF800000FF800000FF808080FF808080FF808080FF808080FF8080
+ 80FF808080FF808080FF808080FF808080FF808080FF808080FFFFFFFFFF8080
+ 80FFFFFFFFFF808080FF808080FF808000FF808080FF808080FF808080FF8080
+ 80FF808080FF808080FF808080FF808080FF808080FFFFFFFFFFC0C0C0FF8080
+ 80FFC0C0C0FFFFFFFFFF808080FF000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000000000
+ 00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF000000FF00000000000000000000000000000000000000FF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF000000FF000000000000000000000000000000FF00FF
+ FFFF00FFFFFF000000FF000000FF00FFFFFF00FFFFFF00FFFFFF000000FF0000
+ 00FF00FFFFFF00FFFFFF000000FF0000000000000000000000FF00FFFFFF00FF
+ FFFF00FFFFFF000000FF000000FF00FFFFFF00FFFFFF00FFFFFF000000FF0000
+ 00FF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000FF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000FF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000FF00FFFFFF00FF
+ FFFF000000FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF000000FF00FFFFFF00FFFFFF0000000000000000000000FF00FFFFFF00FF
+ FFFF00FFFFFF000000FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000
+ 00FF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000FF00FF
+ FFFF00FFFFFF00FFFFFF000000FF000000FF000000FF000000FF000000FF00FF
+ FFFF00FFFFFF00FFFFFF000000FF000000000000000000000000000000FF00FF
+ FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF00FFFFFF000000FF000000000000000000000000000000000000
+ 00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF
+ FFFF00FFFFFF000000FF00000000000000000000000000000000000000000000
+ 0000000000FF000000FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000
+ 00FF000000FF0000000000000000
}
end
object ActionList1: TActionList
@@ -211,43 +336,51 @@ object MainForm: TMainForm
top = 40
object actNew: TAction
Caption = 'New'
- Hint = 'Событие № 1'
+ DisableIfNoHandler = True
+ Hint = 'Action N 1'
ImageIndex = 3
end
object actNext: TAction
Caption = 'Next'
- Hint = 'Событие № 2'
+ DisableIfNoHandler = True
+ Hint = 'Action N 2'
ImageIndex = 2
OnExecute = Action1Execute
end
object actPrior: TAction
Caption = 'Prior'
- Hint = 'Событие № 3'
+ DisableIfNoHandler = True
+ Hint = 'Prior action'
ImageIndex = 1
OnExecute = Action1Execute
end
object actCustom: TAction
Caption = 'Custom'
- Hint = 'Настройка панели инструментов'
+ DisableIfNoHandler = True
+ Hint = 'Customize toolbar'
ImageIndex = 0
OnExecute = actCustomExecute
end
object actExit: TAction
Caption = 'Exit'
+ DisableIfNoHandler = True
+ Hint = 'exit from demo application'
ImageIndex = 5
OnExecute = actExitExecute
ShortCut = 32856
end
object actSysMenu: TAction
- Caption = 'System'
- ImageIndex = 4
Tag = 4
+ Caption = 'System'
+ DisableIfNoHandler = True
+ ImageIndex = 4
end
object sysAbout: TAction
+ Category = 'System'
Caption = 'About'
+ DisableIfNoHandler = True
ImageIndex = 6
OnExecute = sysAboutExecute
- Category = 'System'
end
end
object XMLPropStorage1: TXMLPropStorage
@@ -257,8 +390,8 @@ object MainForm: TMainForm
top = 88
end
object PopupMenu1: TPopupMenu
- left = 96
- top = 8
+ left = 16
+ top = 40
object MenuItem1: TMenuItem
Action = actNew
OnClick = Action1Execute
@@ -279,9 +412,11 @@ object MainForm: TMainForm
end
object MenuItem9: TMenuItem
Action = actCustom
+ OnClick = actCustomExecute
end
object MenuItem7: TMenuItem
Action = sysAbout
+ OnClick = sysAboutExecute
end
object MenuItem6: TMenuItem
Caption = '-'
@@ -367,4 +502,21 @@ object MainForm: TMainForm
1FFF00001FFF00001FFFE03FFFFF81FFFFFFC3FFFFFFE7FFFFFFF7FFFFFF
}
end
+ object PopupMenu2: TPopupMenu
+ Images = ImageList1
+ left = 168
+ top = 40
+ object MenuItem10: TMenuItem
+ Caption = 'Item 1'
+ end
+ object MenuItem11: TMenuItem
+ Caption = 'Item 2'
+ end
+ object MenuItem12: TMenuItem
+ Caption = 'Item 3'
+ end
+ object MenuItem13: TMenuItem
+ Caption = 'Item 4'
+ end
+ end
end
diff --git a/components/rx/Demos/ToolPanel/unit1.lrs b/components/rx/Demos/ToolPanel/unit1.lrs
index 1755a1af4..26bf4b81c 100644
--- a/components/rx/Demos/ToolPanel/unit1.lrs
+++ b/components/rx/Demos/ToolPanel/unit1.lrs
@@ -1,191 +1,389 @@
{ Это - файл ресурсов, автоматически созданный lazarus }
LazarusResources.Add('TMainForm','FORMDATA',[
- 'TPF0'#9'TMainForm'#8'MainForm'#7'Caption'#6#14'ToolPanel demo'#12'ClientHeig'
- +'ht'#3'!'#1#11'ClientWidth'#3'/'#2#13'PixelsPerInch'#2'`'#8'Position'#7#15'p'
- +'oDesktopCenter'#17'SessionProperties'#6#21'Width;Height;Left;Top'#8'ShowHin'
- +'t'#9#18'HorzScrollBar.Page'#3'.'#2#18'VertScrollBar.Page'#3' '#1#4'Left'#3
- +#184#1#6'Height'#3'!'#1#3'Top'#3#21#1#5'Width'#3'/'#2#0#10'TToolPanel'#10'To'
- +'olPanel1'#5'Items'#14#1#6'Action'#7#6'actNew'#7'Visible'#9#4'Left'#3#216#0#6
- +'Height'#2#24#3'Top'#2#4#5'Width'#2'1'#12'DropDownMenu'#7#10'PopupMenu1'#11
- +'ShowCaption'#9#11'ButtonStyle'#7#11'tbrDropDown'#0#1#6'Action'#7#9'actCusto'
- +'m'#7'Visible'#9#4'Left'#3#128#1#6'Height'#2#24#3'Top'#2#4#5'Width'#2'@'#11
- +'ShowCaption'#9#0#1#6'Action'#7#7'actNext'#7'Visible'#9#4'Left'#3#168#0#6'He'
- +'ight'#2#24#3'Top'#2#4#5'Width'#2#24#0#1#6'Action'#7#8'actPrior'#7'Visible'#9
- +#4'Left'#2'p'#6'Height'#2#24#3'Top'#2#4#5'Width'#2'2'#11'ShowCaption'#9#0#1#6
- +'Action'#7#7'actExit'#7'Visible'#9#4'Left'#3#248#1#6'Height'#2#24#3'Top'#2#4
- +#5'Width'#2'.'#11'ShowCaption'#9#0#1#6'Action'#7#10'actSysMenu'#7'Visible'#9
- +#4'Left'#2#8#6'Height'#2#24#3'Top'#2#4#5'Width'#2'U'#12'DropDownMenu'#7#10'P'
- +'opupMenu1'#11'ShowCaption'#9#11'ButtonStyle'#7#11'tbrDropDown'#0#1#6'Action'
- +#7#8'sysAbout'#7'Visible'#9#4'Left'#3#192#1#6'Height'#2#24#3'Top'#2#4#5'Widt'
- +'h'#2'9'#11'ShowCaption'#9#0#0#9'ImageList'#7#10'ImageList1'#15'PropertyStor'
- +'age'#7#15'XMLPropStorage1'#8'BtnWidth'#2#23#9'BtnHeight'#2#24#12'ToolBarSty'
- +'le'#7#12'tbsWindowsXP'#7'Options'#11#10'tpFlatBtns'#14'tpCustomizable'#12't'
- +'pGlyphPopup'#14'tpCaptionPopup'#0#7'Version'#2#1#5'Align'#7#5'alTop'#8'Auto'
- +'Size'#9#11'BorderWidth'#2#4#12'ClientHeight'#2' '#11'ClientWidth'#3'/'#2#11
- +'FullRepaint'#8#11'ParentColor'#9#8'TabOrder'#2#0#6'Height'#2' '#5'Width'#3
- +'/'#2#0#0#10'TImageList'#10'ImageList1'#4'left'#3#216#0#3'top'#2#8#6'Bitmap'
- +#10#157#12#0#0'li'#7#0#0#0#16#0#0#0#16#0#0#0#195#1#0#0'/* XPM */'#10'static '
- +'char *ToolsNormalBitmap[]={'#10'"16 16 5 1",'#10'". c None",'#10'"# c #0000'
- +'00",'#10'"b c #800000",'#10'"a c #808000",'#10'"c c #c0c0c0",'#10'"........'
- +'........",'#10'"................",'#10'"........####....",'#10'".......##aa'
- +'###..",'#10'"...###...##aaa#.",'#10'"....##....#aaa#.",'#10'".#..##....##aa'
- +'##",'#10'".#####...#b###aa",'#10'".####c#.#b#..#a#",'#10'".....#c#b#....#."'
- +','#10'"......#c#.......",'#10'".....#b#c#......",'#10'"....#b#.#c#.....",'
- +#10'"...#b#...#c#....",'#10'"..#b#.....#c#...",'#10'"..##.......##..."};'#10
- +#165#1#0#0'/* XPM */'#10'static char *PriorNormalBitmap[]={'#10'"16 16 3 1",'
- +#10'". c None",'#10'"# c #000000",'#10'"a c #ffffff",'#10'"................"'
- +','#10'"................",'#10'"................",'#10'"......#.........",'
- +#10'".....##.........",'#10'"....#a#.........",'#10'"...#aa########..",'#10
- +'"..#aaaaaaaaaa#..",'#10'"..#aaaaaaaaaa#..",'#10'"...#aa########..",'#10'"..'
- +'..#a#.........",'#10'".....##.........",'#10'"......#.........",'#10'".....'
- +'...........",'#10'"................",'#10'"................"};'#10#164#1#0#0
- +'/* XPM */'#10'static char *NextNormalBitmap[]={'#10'"16 16 3 1",'#10'". c N'
- +'one",'#10'"# c #000000",'#10'"a c #ffffff",'#10'"................",'#10'"..'
- +'..............",'#10'"................",'#10'".........#......",'#10'".....'
- +'....##.....",'#10'".........#a#....",'#10'"..########aa#...",'#10'"..#aaaaa'
- +'aaaaa#..",'#10'"..#aaaaaaaaaa#..",'#10'"..########aa#...",'#10'".........#a'
- +'#....",'#10'".........##.....",'#10'".........#......",'#10'"..............'
- +'..",'#10'"................",'#10'"................"};'#10#163#1#0#0'/* XPM '
- +'*/'#10'static char *NewNormalBitmap[]={'#10'"16 16 3 1",'#10'". c None",'#10
- +'"# c #000000",'#10'"a c #ffffff",'#10'"................",'#10'"............'
- +'....",'#10'"...########.....",'#10'"...#aaaaaa##....",'#10'"...#aaaaaa#a#..'
- +'.",'#10'"...#aaaaaa####..",'#10'"...#aaaaaaaaa#..",'#10'"...#aaaaaaaaa#..",'
- +#10'"...#aaaaaaaaa#..",'#10'"...#aaaaaaaaa#..",'#10'"...#aaaaaaaaa#..",'#10
- +'"...#aaaaaaaaa#..",'#10'"...#aaaaaaaaa#..",'#10'"...#aaaaaaaaa#..",'#10'"..'
- +'.###########..",'#10'"................"};'#10#198#1#0#0'/* XPM */'#10'stati'
- +'c char *PropertyNormalBitmap[]={'#10'"16 16 5 1",'#10'". c None",'#10'"# c '
- +'#000000",'#10'"a c #000080",'#10'"b c #c0c0c0",'#10'"c c #ffffff",'#10'"...'
- +'.............",'#10'"................",'#10'"........######.a",'#10'"......'
- +'.#bbbbbb#a",'#10'"......#b#bbbbbba",'#10'".#####b#b#bbbbba",'#10'".#cc#b#b#'
- +'b#bbb#a",'#10'".#c#b#c#b#b###.a",'#10'".#c##ccc#b#c#...",'#10'".#ccccccc#cc'
- +'#...",'#10'".#cccccccccc#...",'#10'".#caacaaaaac#...",'#10'".#cccccccccc#..'
- +'.",'#10'".#caacaaaaac#...",'#10'".#cccccccccc#...",'#10'".############..."}'
- +';'#10#14#2#0#0'/* XPM */'#10'static char *ExitNormalBitmap[]={'#10'"16 16 1'
- +'0 1",'#10'". c None",'#10'"# c #000000",'#10'"b c #000080",'#10'"c c #0000f'
- +'f",'#10'"a c #008000",'#10'"g c #008080",'#10'"d c #00ffff",'#10'"f c #8080'
- +'80",'#10'"h c #c0c0c0",'#10'"e c #ffffff",'#10'"................",'#10'"...'
- ,'..######.....",'#10'".....#aaaa#.....",'#10'".....######.....",'#10'"......'
- +'..........",'#10'"...bbbbbbbbbb...",'#10'"...bcbc#dedeb...",'#10'"...bbcb#e'
- +'dedb...",'#10'"...bcbc#dedeb...",'#10'"...bbcb#ededb...",'#10'"...bcbc#eeee'
- +'b...",'#10'"...bbcb#eeeeb...",'#10'"...bcb##feeeb...",'#10'"bbbb##fffeeebbb'
- +'b",'#10'"fffffffffffefeff",'#10'"gfffffffffehfhef"};'#10#240#1#0#0'/* XPM *'
- +'/'#10'static char *CustomBtn_Normal[]={'#10'"18 18 3 1",'#10'". c None",'#10
- +'"# c #000000",'#10'"a c #ffff00",'#10'"..................",'#10'"..........'
- +'........",'#10'".......#####......",'#10'".....##aaaaa##....",'#10'"....#aa'
- +'aaaaaaa#...",'#10'"...#aaaaaaaaaaa#..",'#10'"...#aa##aaa##aa#..",'#10'"..#a'
- +'aa##aaa##aaa#.",'#10'"..#aaaaaaaaaaaaa#.",'#10'"..#aaaaaaaaaaaaa#.",'#10'".'
- +'.#aa#aaaaaaa#aa#.",'#10'"..#aaa#aaaaa#aaa#.",'#10'"...#aaa#####aaa#..",'#10
- +'"...#aaaaaaaaaaa#..",'#10'"....#aaaaaaaaa#...",'#10'".....##aaaaa##....",'
- +#10'".......#####......",'#10'".................."};'#10#0#0#11'TActionList'
- +#11'ActionList1'#6'Images'#7#10'ImageList1'#4'left'#3#216#0#3'top'#2'('#0#7
- +'TAction'#6'actNew'#7'Caption'#6#3'New'#4'Hint'#6#11#209#238#225#251#242#232
- +#229' '#185' 1'#10'ImageIndex'#2#3#0#0#7'TAction'#7'actNext'#7'Caption'#6#4
- +'Next'#4'Hint'#6#11#209#238#225#251#242#232#229' '#185' 2'#10'ImageIndex'#2#2
- +#9'OnExecute'#7#14'Action1Execute'#0#0#7'TAction'#8'actPrior'#7'Caption'#6#5
- +'Prior'#4'Hint'#6#11#209#238#225#251#242#232#229' '#185' 3'#10'ImageIndex'#2
- +#1#9'OnExecute'#7#14'Action1Execute'#0#0#7'TAction'#9'actCustom'#7'Caption'#6
- +#6'Custom'#4'Hint'#6#29#205#224#241#242#240#238#233#234#224' '#239#224#237
- +#229#235#232' '#232#237#241#242#240#243#236#229#237#242#238#226#10'ImageInde'
- +'x'#2#0#9'OnExecute'#7#16'actCustomExecute'#0#0#7'TAction'#7'actExit'#7'Capt'
- +'ion'#6#4'Exit'#10'ImageIndex'#2#5#9'OnExecute'#7#14'actExitExecute'#8'Short'
- +'Cut'#4'X'#128#0#0#0#0#7'TAction'#10'actSysMenu'#7'Caption'#6#6'System'#10'I'
- +'mageIndex'#2#4#3'Tag'#2#4#0#0#7'TAction'#8'sysAbout'#7'Caption'#6#5'About'
- +#10'ImageIndex'#2#6#9'OnExecute'#7#15'sysAboutExecute'#8'Category'#6#6'Syste'
- +'m'#0#0#0#15'TXMLPropStorage'#15'XMLPropStorage1'#12'StoredValues'#14#0#8'Fi'
- +'leName'#6#15'toolbardemo.cfg'#4'left'#3#216#0#3'top'#2'X'#0#0#10'TPopupMenu'
- +#10'PopupMenu1'#4'left'#2'`'#3'top'#2#8#0#9'TMenuItem'#9'MenuItem1'#6'Action'
- +#7#6'actNew'#7'OnClick'#7#14'Action1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7
- +'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7'actNext'#7'OnCl'
- +'ick'#7#14'Action1Execute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#8'actPr'
- +'ior'#7'OnClick'#7#14'Action1Execute'#0#0#9'TMenuItem'#9'MenuItem8'#7'Captio'
- +'n'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#9'actCustom'#0#0#9'TMen'
- +'uItem'#9'MenuItem7'#6'Action'#7#8'sysAbout'#0#0#9'TMenuItem'#9'MenuItem6'#7
- +'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#7'actExit'#7'OnCl'
- +'ick'#7#14'actExitExecute'#0#0#0#10'TRxAppIcon'#10'RxAppIcon1'#4'left'#3#216
- +#0#3'top'#3#128#0#4'Data'#10#190#8#0#0#0#0#1#0#1#0' '#0#0#1#0#8#0#168#8#0#0
- +#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0#8#0#0#0#0#0#128#4#0#0#0#0#0#0#0#0#0
- +#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0
- +#128#0#128#128#0#0#192#192#192#0#192#220#192#0#240#202#166#0#212#240#255#0
- +#177#226#255#0#142#212#255#0'k'#198#255#0'H'#184#255#0'%'#170#255#0#0#170#255
- +#0#0#146#220#0#0'z'#185#0#0'b'#150#0#0'Js'#0#0'2P'#0#212#227#255#0#177#199
- +#255#0#142#171#255#0'k'#143#255#0'Hs'#255#0'%W'#255#0#0'U'#255#0#0'I'#220#0#0
- +'='#185#0#0'1'#150#0#0'%s'#0#0#25'P'#0#212#212#255#0#177#177#255#0#142#142
- +#255#0'kk'#255#0'HH'#255#0'%%'#255#0#0#0#254#0#0#0#220#0#0#0#185#0#0#0#150#0
- +#0#0's'#0#0#0'P'#0#227#212#255#0#199#177#255#0#171#142#255#0#143'k'#255#0'sH'
- +#255#0'W%'#255#0'U'#0#255#0'I'#0#220#0'='#0#185#0'1'#0#150#0'%'#0's'#0#25#0
- +'P'#0#240#212#255#0#226#177#255#0#212#142#255#0#198'k'#255#0#184'H'#255#0#170
- +'%'#255#0#170#0#255#0#146#0#220#0'z'#0#185#0'b'#0#150#0'J'#0's'#0'2'#0'P'#0
- +#255#212#255#0#255#177#255#0#255#142#255#0#255'k'#255#0#255'H'#255#0#255'%'
- +#255#0#254#0#254#0#220#0#220#0#185#0#185#0#150#0#150#0's'#0's'#0'P'#0'P'#0
- +#255#212#240#0#255#177#226#0#255#142#212#0#255'k'#198#0#255'H'#184#0#255'%'
- +#170#0#255#0#170#0#220#0#146#0#185#0'z'#0#150#0'b'#0's'#0'J'#0'P'#0'2'#0#255
- +#212#227#0#255#177#199#0#255#142#171#0#255'k'#143#0#255'Hs'#0#255'%W'#0#255#0
- +'U'#0#220#0'I'#0#185#0'='#0#150#0'1'#0's'#0'%'#0'P'#0#25#0#255#212#212#0#255
- +#177#177#0#255#142#142#0#255'kk'#0#255'HH'#0#255'%%'#0#254#0#0#0#220#0#0#0
- +#185#0#0#0#150#0#0#0's'#0#0#0'P'#0#0#0#255#227#212#0#255#199#177#0#255#171
- +#142#0#255#143'k'#0#255'sH'#0#255'W%'#0#255'U'#0#0#220'I'#0#0#185'='#0#0#150
- +'1'#0#0's%'#0#0'P'#25#0#0#255#240#212#0#255#226#177#0#255#212#142#0#255#198
- +'k'#0#255#184'H'#0#255#170'%'#0#255#170#0#0#220#146#0#0#185'z'#0#0#150'b'#0#0
- +'sJ'#0#0'P2'#0#0#255#255#212#0#255#255#177#0#255#255#142#0#255#255'k'#0#255
- +#255'H'#0#255#255'%'#0#254#254#0#0#220#220#0#0#185#185#0#0#150#150#0#0'ss'#0
- ,#0'PP'#0#0#240#255#212#0#226#255#177#0#212#255#142#0#198#255'k'#0#184#255'H'
- +#0#170#255'%'#0#170#255#0#0#146#220#0#0'z'#185#0#0'b'#150#0#0'Js'#0#0'2P'#0#0
- +#227#255#212#0#199#255#177#0#171#255#142#0#143#255'k'#0's'#255'H'#0'W'#255'%'
- +#0'U'#255#0#0'I'#220#0#0'='#185#0#0'1'#150#0#0'%s'#0#0#25'P'#0#0#212#255#212
- +#0#177#255#177#0#142#255#142#0'k'#255'k'#0'H'#255'H'#0'%'#255'%'#0#0#254#0#0
- +#0#220#0#0#0#185#0#0#0#150#0#0#0's'#0#0#0'P'#0#0#212#255#227#0#177#255#199#0
- +#142#255#171#0'k'#255#143#0'H'#255's'#0'%'#255'W'#0#0#255'U'#0#0#220'I'#0#0
- +#185'='#0#0#150'1'#0#0's%'#0#0'P'#25#0#212#255#240#0#177#255#226#0#142#255
- +#212#0'k'#255#198#0'H'#255#184#0'%'#255#170#0#0#255#170#0#0#220#146#0#0#185
- +'z'#0#0#150'b'#0#0'sJ'#0#0'P2'#0#212#255#255#0#177#255#255#0#142#255#255#0'k'
- +#255#255#0'H'#255#255#0'%'#255#255#0#0#254#254#0#0#220#220#0#0#185#185#0#0
- +#150#150#0#0'ss'#0#0'PP'#0#242#242#242#0#230#230#230#0#218#218#218#0#206#206
- +#206#0#194#194#194#0#182#182#182#0#170#170#170#0#158#158#158#0#146#146#146#0
- +#134#134#134#0'zzz'#0'nnn'#0'bbb'#0'VVV'#0'JJJ'#0'>>>'#0'222'#0'&&&'#0#26#26
- +#26#0#14#14#14#0#240#251#255#0#164#160#160#0#128#128#128#0#0#0#255#0#0#255#0
- +#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#0#0#0#0#0#0#0
- +#0#0#0#0#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#19
- +#217#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#19#217#217
- +#217#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#239#239#239#239#239#239#239#239
- +#19#217#217#217#217#217#19#239#239#239#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#231
- +#231#231#231#231#232#19#217#217#217#217'r'#217#217#19#231#231#239#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#239#226#226#228#232#232#19#217#217'r'#217#217#217'r'#217#217
- +#19#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#228#231#232#19#217#217#217#217
- +'r'#217#217#217'r'#217#217#19#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#228#231#232
- +#19#217#217#217#217#217#217#217#217#217#217'r'#217#217#19#0#0#0#0#0#0#0#0#0#0
- +#0#0#0#239#226#228#19#217#217#217#217'r'#217#217#217'r'#217#217#217'r'#217
- +#217#19#0#0#0#0#0#0#0#0#0#0#0#0#239#226#19#217#217'r'#217#217#217'r'#217#217
- +#217'r'#217#217#217'r'#217#217#19#0#0#0#0#0#0#0#0#0#0#0#239#19#217#217#217
- +#217'r'#217#217#217'r'#217#217#217#217#217#217#217#217#19#0#0#0#0#0#0#0#0#0#0
- +#0#0#239#226#19#217#217#217#217'r'#217#217#217#217#0#0#0#217#217#217#19#0#0#0
- +#0#0#0#0#0#0#0#0#0#0#239#226#226#19#217#217#217#217'r'#217#217#0#149#149#149
- +#0#217#19#239#0#0#0#0#0#149#149#149#0#0#0#0#0#239#226#226#226#19#217#217#217
- +#217#217#0#145#145#0#145#149#0#232#239#0#0#0#0#9#9#9#9#149#0#0#0#0#239#226
- +#226#226#226#19#217#217#217#0#9#145#145#145#0#145#149#0#239#0#0#0#9#145#9#9#9
- +#9#149#0#0#0#239#226#226'mmm'#19#217#217#0#9#145#145#145#145#0#149#0#0#0#0#0
- +#9#145#9#9#9#9#149#0#0#0#239#226#226#226#226#226#226#19#217#0#9#145#0#145#145
- +#145#149#0#239#0#0#0#9#145#9#9#9#9#149#0#0#0#239#226#226#226#226#226#226#226
- +#19#217#0#9#145#145#145#145#0#231#239#0#0#0#0#9#145#145#145#9#0#0#0#0#239#226
- +#226'm'#226'mmmm'#19#217#0#9#9#9#0#226#231#239#0#0#0#0#0#9#9#9#0#0#0#0#0#239
- +#226#226#226#226#226#226#226#226#226#19#226#0#0#0#226#226#231#239#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#239#226#226#226#226#226#226#226#226#226#226#226#226#226#226
- +#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226#226#226#226
- +#226#226#226#226#226#226#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239
- +#226#226#226#226#226#226#226#226#226#239#226#226#226#226#226#226#231#239#0#0
- +#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226'*'#232#232#226#239#226#226#226#226
- +#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226'**'#232
- +#239#232#226#226#226#226#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239
- +#226#226#226#226'*%*'#232#232#232#226#226#226#226#226#226#231#239#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#239#239#239#239'*%%%*'#239#239#239#0#0#0#0#0#0#239#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#0#0#0'*%%%***'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
- +'**%%%*'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'*%%*'#0#0#0#0
- +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'**'#0#0#0#0#0#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'*'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#0#0#0#255#239#255#254#255#199#255#254#255#131#255#254#0#0#31
+ 'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#19#1#6'Height'#3'!'#1#3'Top'#3#227#0
+ +#5'Width'#3'l'#2#18'HorzScrollBar.Page'#3'k'#2#18'VertScrollBar.Page'#3' '#1
+ +#7'Caption'#6#14'ToolPanel demo'#12'ClientHeight'#3'!'#1#11'ClientWidth'#3'l'
+ +#2#8'Position'#7#15'poDesktopCenter'#17'SessionProperties'#6#21'Width;Height'
+ +';Left;Top'#8'ShowHint'#9#0#10'TToolPanel'#10'ToolPanel1'#6'Height'#2' '#5'W'
+ +'idth'#3'l'#2#5'Items'#14#1#6'Action'#7#6'actNew'#7'Visible'#9#4'Left'#3#216
+ +#0#6'Height'#2#24#3'Top'#2#4#5'Width'#2'1'#12'DropDownMenu'#7#10'PopupMenu1'
+ +#11'ShowCaption'#9#11'ButtonStyle'#7#11'tbrDropDown'#0#1#6'Action'#7#9'actCu'
+ +'stom'#7'Visible'#9#4'Left'#3#128#1#6'Height'#2#24#3'Top'#2#4#5'Width'#2'@'
+ +#11'ShowCaption'#9#0#1#6'Action'#7#7'actNext'#7'Visible'#9#4'Left'#3#168#0#6
+ +'Height'#2#24#3'Top'#2#4#5'Width'#2''''#12'DropDownMenu'#7#10'PopupMenu2'#11
+ +'ButtonStyle'#7#16'tbrDropDownExtra'#0#1#6'Action'#7#8'actPrior'#7'Visible'#9
+ +#4'Left'#2'p'#6'Height'#2#24#3'Top'#2#4#5'Width'#2'2'#12'DropDownMenu'#7#10
+ +'PopupMenu2'#11'ShowCaption'#9#0#1#6'Action'#7#7'actExit'#7'Visible'#9#4'Lef'
+ +'t'#3#248#1#6'Height'#2#24#3'Top'#2#4#5'Width'#2'.'#11'ShowCaption'#9#0#1#6
+ +'Action'#7#10'actSysMenu'#7'Visible'#9#4'Left'#2#8#6'Height'#2#24#3'Top'#2#4
+ +#5'Width'#2'?'#12'DropDownMenu'#7#10'PopupMenu1'#11'ShowCaption'#9#11'Button'
+ +'Style'#7#11'tbrDropDown'#0#1#6'Action'#7#8'sysAbout'#7'Visible'#9#4'Left'#3
+ +#192#1#6'Height'#2#24#3'Top'#2#4#5'Width'#2'9'#11'ShowCaption'#9#0#0#9'Image'
+ +'List'#7#10'ImageList1'#15'PropertyStorage'#7#15'XMLPropStorage1'#8'BtnWidth'
+ +#2#23#9'BtnHeight'#2#24#12'ToolBarStyle'#7#12'tbsWindowsXP'#7'Options'#11#10
+ +'tpFlatBtns'#14'tpCustomizable'#12'tpGlyphPopup'#14'tpCaptionPopup'#0#7'Vers'
+ +'ion'#2#3#5'Align'#7#5'alTop'#8'AutoSize'#9#11'BorderWidth'#2#4#12'ClientHei'
+ +'ght'#2' '#11'ClientWidth'#3'l'#2#11'FullRepaint'#8#8'TabOrder'#2#0#0#0#10'T'
+ +'ImageList'#10'ImageList1'#4'left'#3#168#0#3'top'#2'P'#6'Bitmap'#10#14#28#0#0
+ +'Li'#7#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255
+ +#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#128#128#255#0#128#128#255#0#0#0
+ +#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0
+ +#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#128#128#255
+ +#0#128#128#255#0#128#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#128#128
+ +#255#0#128#128#255#0#128#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0
+ +#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0
+ +#255#0#128#128#255#0#128#128#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0#0#0
+ +#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#128
+ +#255#0#0#0#255#0#0#0#255#0#0#0#255#0#128#128#255#0#128#128#255#0#0#0#0#0#0#0
+ +#255#0#0#0#255#0#0#0#255#0#0#0#255#192#192#192#255#0#0#0#255#0#0#0#0#0#0#0
+ +#255#0#0#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#255#0#128#128#255#0#0#0#255
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192#192#255#0#0#0#255
+ +#0#0#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192#192#255#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#128#255#0#0#0#255#192#192#192#255#0#0
+ +#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#255#0#0#128#255#0#0#0#255#0#0#0#0#0#0#0#255#192#192#192#255
+ +#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#255#0#0#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192#192
+ +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0
+ +#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192
+ +#192#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0
+ ,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+ +#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255
+ +#255#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+ +#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
+ +#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#0#0
+ +#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+ +#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+ +#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0
+ +#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ ,#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
+ +#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0
+ +#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192#192#255#192#192#192#255#192
+ +#192#192#255#192#192#192#255#192#192#192#255#192#192#192#255#0#0#0#255#128#0
+ +#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192#192#192
+ +#255#0#0#0#255#192#192#192#255#192#192#192#255#192#192#192#255#192#192#192
+ +#255#192#192#192#255#192#192#192#255#128#0#0#255#0#0#0#0#0#0#0#255#0#0#0#255
+ +#0#0#0#255#0#0#0#255#0#0#0#255#192#192#192#255#0#0#0#255#192#192#192#255#0#0
+ +#0#255#192#192#192#255#192#192#192#255#192#192#192#255#192#192#192#255#192
+ +#192#192#255#128#0#0#255#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#0
+ +#0#0#255#192#192#192#255#0#0#0#255#192#192#192#255#0#0#0#255#192#192#192#255
+ +#0#0#0#255#192#192#192#255#192#192#192#255#192#192#192#255#0#0#0#255#128#0#0
+ +#255#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#192#192#192#255#0#0#0#255
+ +#255#255#255#255#0#0#0#255#192#192#192#255#0#0#0#255#192#192#192#255#0#0#0
+ +#255#0#0#0#255#0#0#0#255#0#0#0#0#128#0#0#255#0#0#0#0#0#0#0#255#255#255#255
+ +#255#0#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0
+ +#0#255#192#192#192#255#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#255
+ +#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255
+ +#255#128#0#0#255#128#0#0#255#255#255#255#255#128#0#0#255#128#0#0#255#128#0#0
+ +#255#128#0#0#255#128#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#255#255#255#255#255#128#0#0#255#128#0#0#255#255#255#255#255#128#0#0#255#128
+ +#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#255#0#0#0#255#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0
+ ,#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+ +#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#255#0#128#0#255#0#128#0#255#0#128#0#255#0#128#0#255#0#0#0#255
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255
+ +#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255#255#0#0#255#128#0#0
+ +#255#255#0#0#255#0#0#0#255#255#255#0#255#255#255#255#255#255#255#0#255#255
+ +#255#255#255#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128
+ +#0#0#255#128#0#0#255#255#0#0#255#128#0#0#255#0#0#0#255#255#255#255#255#255
+ +#255#0#255#255#255#255#255#255#255#0#255#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255#255#0#0#255#128#0#0#255#255#0#0#255#0#0
+ +#0#255#255#255#0#255#255#255#255#255#255#255#0#255#255#255#255#255#128#0#0
+ +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255#128#0#0#255
+ +#255#0#0#255#128#0#0#255#0#0#0#255#255#255#255#255#255#255#0#255#255#255#255
+ +#255#255#255#0#255#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#128#0#0#255#255#0#0#255#128#0#0#255#255#0#0#255#0#0#0#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#255#255#255#255#128#0#0#255#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255#128#0#0#255#255#0#0#255#128#0#0
+ +#255#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#255
+ +#255#0#0#255#128#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255#255#255#255#255
+ +#255#255#255#255#255#255#255#255#128#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0
+ +#255#128#0#0#255#128#0#0#255#128#0#0#255#0#0#0#255#0#0#0#255#128#128#128#255
+ +#128#128#128#255#128#128#128#255#255#255#255#255#255#255#255#255#255#255#255
+ +#255#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#128#128#128#255#128#128
+ +#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+ +#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255
+ +#255#255#255#255#128#128#128#255#255#255#255#255#128#128#128#255#128#128#128
+ +#255#128#128#0#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
+ +#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
+ +#128#128#255#255#255#255#255#192#192#192#255#128#128#128#255#192#192#192#255
+ +#255#255#255#255#128#128#128#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+ +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+ +#255#255#255#0#255#255#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255
+ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#255#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#0#0#255#0#0#0#255
+ +#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#255#0#0#0#255#0#255#255#255
+ +#0#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255
+ +#255#0#255#255#255#0#0#0#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#0#0#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#0
+ +#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+ +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0#255
+ +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#255#255#255#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0
+ +#255#255#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#255#0#255#255#255#0#255
+ +#255#255#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255
+ +#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#255#0#0#0#255
+ +#0#0#0#255#0#0#0#255#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0
+ +#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255
+ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+ +#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255
+ +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0
+ +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#11'TActionList'#11'ActionList1'#6'Images'
+ +#7#10'ImageList1'#4'left'#3#216#0#3'top'#2'('#0#7'TAction'#6'actNew'#7'Capti'
+ +'on'#6#3'New'#18'DisableIfNoHandler'#9#4'Hint'#6#10'Action N 1'#10'ImageInde'
+ +'x'#2#3#0#0#7'TAction'#7'actNext'#7'Caption'#6#4'Next'#18'DisableIfNoHandler'
+ +#9#4'Hint'#6#10'Action N 2'#10'ImageIndex'#2#2#9'OnExecute'#7#14'Action1Exec'
+ +'ute'#0#0#7'TAction'#8'actPrior'#7'Caption'#6#5'Prior'#18'DisableIfNoHandler'
+ +#9#4'Hint'#6#12'Prior action'#10'ImageIndex'#2#1#9'OnExecute'#7#14'Action1Ex'
+ +'ecute'#0#0#7'TAction'#9'actCustom'#7'Caption'#6#6'Custom'#18'DisableIfNoHan'
+ +'dler'#9#4'Hint'#6#17'Customize toolbar'#10'ImageIndex'#2#0#9'OnExecute'#7#16
+ +'actCustomExecute'#0#0#7'TAction'#7'actExit'#7'Caption'#6#4'Exit'#18'Disable'
+ +'IfNoHandler'#9#4'Hint'#6#26'exit from demo application'#10'ImageIndex'#2#5#9
+ +'OnExecute'#7#14'actExitExecute'#8'ShortCut'#4'X'#128#0#0#0#0#7'TAction'#10
+ +'actSysMenu'#3'Tag'#2#4#7'Caption'#6#6'System'#18'DisableIfNoHandler'#9#10'I'
+ +'mageIndex'#2#4#0#0#7'TAction'#8'sysAbout'#8'Category'#6#6'System'#7'Caption'
+ +#6#5'About'#18'DisableIfNoHandler'#9#10'ImageIndex'#2#6#9'OnExecute'#7#15'sy'
+ +'sAboutExecute'#0#0#0#15'TXMLPropStorage'#15'XMLPropStorage1'#12'StoredValue'
+ +'s'#14#0#8'FileName'#6#15'toolbardemo.cfg'#4'left'#3#216#0#3'top'#2'X'#0#0#10
+ +'TPopupMenu'#10'PopupMenu1'#4'left'#2#16#3'top'#2'('#0#9'TMenuItem'#9'MenuIt'
+ +'em1'#6'Action'#7#6'actNew'#7'OnClick'#7#14'Action1Execute'#0#0#9'TMenuItem'
+ +#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#7
+ +'actNext'#7'OnClick'#7#14'Action1Execute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Ac'
+ +'tion'#7#8'actPrior'#7'OnClick'#7#14'Action1Execute'#0#0#9'TMenuItem'#9'Menu'
+ +'Item8'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem9'#6'Action'#7#9'actCus'
+ +'tom'#7'OnClick'#7#16'actCustomExecute'#0#0#9'TMenuItem'#9'MenuItem7'#6'Acti'
+ +'on'#7#8'sysAbout'#7'OnClick'#7#15'sysAboutExecute'#0#0#9'TMenuItem'#9'MenuI'
+ +'tem6'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#7'actExit'
+ +#7'OnClick'#7#14'actExitExecute'#0#0#0#10'TRxAppIcon'#10'RxAppIcon1'#4'left'
+ +#3#216#0#3'top'#3#128#0#4'Data'#10#190#8#0#0#0#0#1#0#1#0' '#0#0#1#0#8#0#168
+ +#8#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0#8#0#0#0#0#0#128#4#0#0#0#0#0#0
+ +#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0
+ +#128#0#128#0#128#128#0#0#192#192#192#0#192#220#192#0#240#202#166#0#212#240
+ +#255#0#177#226#255#0#142#212#255#0'k'#198#255#0'H'#184#255#0'%'#170#255#0#0
+ +#170#255#0#0#146#220#0#0'z'#185#0#0'b'#150#0#0'Js'#0#0'2P'#0#212#227#255#0
+ +#177#199#255#0#142#171#255#0'k'#143#255#0'Hs'#255#0'%W'#255#0#0'U'#255#0#0'I'
+ +#220#0#0'='#185#0#0'1'#150#0#0'%s'#0#0#25'P'#0#212#212#255#0#177#177#255#0
+ +#142#142#255#0'kk'#255#0'HH'#255#0'%%'#255#0#0#0#254#0#0#0#220#0#0#0#185#0#0
+ +#0#150#0#0#0's'#0#0#0'P'#0#227#212#255#0#199#177#255#0#171#142#255#0#143'k'
+ +#255#0'sH'#255#0'W%'#255#0'U'#0#255#0'I'#0#220#0'='#0#185#0'1'#0#150#0'%'#0
+ +'s'#0#25#0'P'#0#240#212#255#0#226#177#255#0#212#142#255#0#198'k'#255#0#184'H'
+ +#255#0#170'%'#255#0#170#0#255#0#146#0#220#0'z'#0#185#0'b'#0#150#0'J'#0's'#0
+ +'2'#0'P'#0#255#212#255#0#255#177#255#0#255#142#255#0#255'k'#255#0#255'H'#255
+ +#0#255'%'#255#0#254#0#254#0#220#0#220#0#185#0#185#0#150#0#150#0's'#0's'#0'P'
+ +#0'P'#0#255#212#240#0#255#177#226#0#255#142#212#0#255'k'#198#0#255'H'#184#0
+ +#255'%'#170#0#255#0#170#0#220#0#146#0#185#0'z'#0#150#0'b'#0's'#0'J'#0'P'#0'2'
+ +#0#255#212#227#0#255#177#199#0#255#142#171#0#255'k'#143#0#255'Hs'#0#255'%W'#0
+ +#255#0'U'#0#220#0'I'#0#185#0'='#0#150#0'1'#0's'#0'%'#0'P'#0#25#0#255#212#212
+ +#0#255#177#177#0#255#142#142#0#255'kk'#0#255'HH'#0#255'%%'#0#254#0#0#0#220#0
+ +#0#0#185#0#0#0#150#0#0#0's'#0#0#0'P'#0#0#0#255#227#212#0#255#199#177#0#255
+ +#171#142#0#255#143'k'#0#255'sH'#0#255'W%'#0#255'U'#0#0#220'I'#0#0#185'='#0#0
+ +#150'1'#0#0's%'#0#0'P'#25#0#0#255#240#212#0#255#226#177#0#255#212#142#0#255
+ +#198'k'#0#255#184'H'#0#255#170'%'#0#255#170#0#0#220#146#0#0#185'z'#0#0#150'b'
+ ,#0#0'sJ'#0#0'P2'#0#0#255#255#212#0#255#255#177#0#255#255#142#0#255#255'k'#0
+ +#255#255'H'#0#255#255'%'#0#254#254#0#0#220#220#0#0#185#185#0#0#150#150#0#0's'
+ +'s'#0#0'PP'#0#0#240#255#212#0#226#255#177#0#212#255#142#0#198#255'k'#0#184
+ +#255'H'#0#170#255'%'#0#170#255#0#0#146#220#0#0'z'#185#0#0'b'#150#0#0'Js'#0#0
+ +'2P'#0#0#227#255#212#0#199#255#177#0#171#255#142#0#143#255'k'#0's'#255'H'#0
+ +'W'#255'%'#0'U'#255#0#0'I'#220#0#0'='#185#0#0'1'#150#0#0'%s'#0#0#25'P'#0#0
+ +#212#255#212#0#177#255#177#0#142#255#142#0'k'#255'k'#0'H'#255'H'#0'%'#255'%'
+ +#0#0#254#0#0#0#220#0#0#0#185#0#0#0#150#0#0#0's'#0#0#0'P'#0#0#212#255#227#0
+ +#177#255#199#0#142#255#171#0'k'#255#143#0'H'#255's'#0'%'#255'W'#0#0#255'U'#0
+ +#0#220'I'#0#0#185'='#0#0#150'1'#0#0's%'#0#0'P'#25#0#212#255#240#0#177#255#226
+ +#0#142#255#212#0'k'#255#198#0'H'#255#184#0'%'#255#170#0#0#255#170#0#0#220#146
+ +#0#0#185'z'#0#0#150'b'#0#0'sJ'#0#0'P2'#0#212#255#255#0#177#255#255#0#142#255
+ +#255#0'k'#255#255#0'H'#255#255#0'%'#255#255#0#0#254#254#0#0#220#220#0#0#185
+ +#185#0#0#150#150#0#0'ss'#0#0'PP'#0#242#242#242#0#230#230#230#0#218#218#218#0
+ +#206#206#206#0#194#194#194#0#182#182#182#0#170#170#170#0#158#158#158#0#146
+ +#146#146#0#134#134#134#0'zzz'#0'nnn'#0'bbb'#0'VVV'#0'JJJ'#0'>>>'#0'222'#0'&&'
+ +'&'#0#26#26#26#0#14#14#14#0#240#251#255#0#164#160#160#0#128#128#128#0#0#0#255
+ +#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#0#0
+ +#0#0#0#0#0#0#0#0#0#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#19#217#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#19#217
+ +#217#217#19#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#239#239#239#239#239#239#239
+ +#239#19#217#217#217#217#217#19#239#239#239#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239
+ +#231#231#231#231#231#232#19#217#217#217#217'r'#217#217#19#231#231#239#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#239#226#226#228#232#232#19#217#217'r'#217#217#217'r'#217
+ +#217#19#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#228#231#232#19#217#217#217
+ +#217'r'#217#217#217'r'#217#217#19#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#228#231
+ +#232#19#217#217#217#217#217#217#217#217#217#217'r'#217#217#19#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#239#226#228#19#217#217#217#217'r'#217#217#217'r'#217#217#217'r'
+ +#217#217#19#0#0#0#0#0#0#0#0#0#0#0#0#239#226#19#217#217'r'#217#217#217'r'#217
+ +#217#217'r'#217#217#217'r'#217#217#19#0#0#0#0#0#0#0#0#0#0#0#239#19#217#217
+ +#217#217'r'#217#217#217'r'#217#217#217#217#217#217#217#217#19#0#0#0#0#0#0#0#0
+ +#0#0#0#0#239#226#19#217#217#217#217'r'#217#217#217#217#0#0#0#217#217#217#19#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#19#217#217#217#217'r'#217#217#0#149#149
+ +#149#0#217#19#239#0#0#0#0#0#149#149#149#0#0#0#0#0#239#226#226#226#19#217#217
+ +#217#217#217#0#145#145#0#145#149#0#232#239#0#0#0#0#9#9#9#9#149#0#0#0#0#239
+ +#226#226#226#226#19#217#217#217#0#9#145#145#145#0#145#149#0#239#0#0#0#9#145#9
+ +#9#9#9#149#0#0#0#239#226#226'mmm'#19#217#217#0#9#145#145#145#145#0#149#0#0#0
+ +#0#0#9#145#9#9#9#9#149#0#0#0#239#226#226#226#226#226#226#19#217#0#9#145#0#145
+ +#145#145#149#0#239#0#0#0#9#145#9#9#9#9#149#0#0#0#239#226#226#226#226#226#226
+ +#226#19#217#0#9#145#145#145#145#0#231#239#0#0#0#0#9#145#145#145#9#0#0#0#0#239
+ +#226#226'm'#226'mmmm'#19#217#0#9#9#9#0#226#231#239#0#0#0#0#0#9#9#9#0#0#0#0#0
+ +#239#226#226#226#226#226#226#226#226#226#19#226#0#0#0#226#226#231#239#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#239#226#226#226#226#226#226#226#226#226#226#226#226#226
+ +#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226#226#226
+ +#226#226#226#226#226#226#226#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#239#226#226#226#226#226#226#226#226#226#239#226#226#226#226#226#226#231#239
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226'*'#232#232#226#239#226#226#226
+ +#226#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0#239#226#226#226#226'**'
+ +#232#239#232#226#226#226#226#226#226#226#231#239#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#239#226#226#226#226'*%*'#232#232#232#226#226#226#226#226#226#231#239#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#239#239#239#239'*%%%*'#239#239#239#0#0#0#0#0#0#239#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0'*%%%***'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0'**%%%*'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'*%%*'#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'**'#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'*'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+ +#0#0#0#0#0#0#0#0#0#0#0#255#239#255#254#255#199#255#254#255#131#255#254#0#0#31
+#254#0#0#31#254#0#0#31#254#0#0#31#254#0#0#31#254#0#0#15#254#0#0#7#254#0#0#15
+#254#0#0#31#30#0#0#30#14#0#0#28#6#0#0#24#2#0#0#16#0#0#0#8#3#0#0#28#7#0#0#30
+#15#0#0#31#31#0#0#31#255#0#0#31#255#0#0#31#255#0#0#31#255#0#0#31#255#0#0#31
+#255#0#0#31#255#224'?'#255#255#129#255#255#255#195#255#255#255#231#255#255
- +#255#247#255#255#255#0#0#0
+ +#255#247#255#255#255#0#0#10'TPopupMenu'#10'PopupMenu2'#6'Images'#7#10'ImageL'
+ +'ist1'#4'left'#3#168#0#3'top'#2'('#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6
+ +#6'Item 1'#0#0#9'TMenuItem'#10'MenuItem11'#7'Caption'#6#6'Item 2'#0#0#9'TMen'
+ +'uItem'#10'MenuItem12'#7'Caption'#6#6'Item 3'#0#0#9'TMenuItem'#10'MenuItem13'
+ ,#7'Caption'#6#6'Item 4'#0#0#0#0
]);
diff --git a/components/rx/Demos/ToolPanel/unit1.pas b/components/rx/Demos/ToolPanel/unit1.pas
index 0d58043b5..5e62c398f 100644
--- a/components/rx/Demos/ToolPanel/unit1.pas
+++ b/components/rx/Demos/ToolPanel/unit1.pas
@@ -16,8 +16,13 @@ type
TMainForm = class(TForm)
actExit: TAction;
actSysMenu: TAction;
+ MenuItem10: TMenuItem;
+ MenuItem11: TMenuItem;
+ MenuItem12: TMenuItem;
+ MenuItem13: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
+ PopupMenu2: TPopupMenu;
sysAbout: TAction;
actNew: TAction;
actNext: TAction;
diff --git a/components/rx/docs/WhatsNew.eng.txt b/components/rx/docs/WhatsNew.eng.txt
index ebedd8792..5540b5e3c 100644
--- a/components/rx/docs/WhatsNew.eng.txt
+++ b/components/rx/docs/WhatsNew.eng.txt
@@ -1,3 +1,11 @@
+29.08.2007 - ўҐабЁп 1.1.5.98 (svn revision 39)
+ + In RxDBgrid - after close dataset list of SelectedRows is cleared
+ + fix resaizing find form for RxDbGrd
+ + compile in latest Lazarus
+ + in TToolbarButton stile tbrSeparator and tbrDivider as Delphi
+ tbrSeparator - separator with line
+ tbrDivider - empty separator
+ + in TToolbarButton new style tbrDropDownExtra - button with dropdown menu.
12.08.2007 - version 1.1.4.93
+ in TRxDBComboBox publishe any property
+ in TRxDBLookupCombo add event OnGetGridCellProps
diff --git a/components/rx/docs/WhatsNew.rus.txt b/components/rx/docs/WhatsNew.rus.txt
index 5e28eb1a1..111720dcf 100644
--- a/components/rx/docs/WhatsNew.rus.txt
+++ b/components/rx/docs/WhatsNew.rus.txt
@@ -1,3 +1,14 @@
+29.08.2007 - версия 1.1.5.98 (svn revision 39)
+ + В RxDBGrid После закрытия набора данных список помеченных строк (SelectedRows)
+ очищается
+ + Улучшено масштабирование формы поиска по RxDbGrd
+ + Компиляция в последнем Lazarus
+ + TToolbarButton различает теперь стили tbrSeparator и tbrDivider
+ tbrSeparator - разделитьль с чертой
+ tbrDivider - пустой разделитель
+ + TToolbarButton новый стиль tbrDropDownExtra - кнопка с выпадающим меню.
+ В отличии от tbrDropDown это работает как кнопка + если нажата крайня правая область - то
+ тогда появляется меню. (интерфейс ещё коряв - надо будет доработать в дальнейшем)
12.08.2007 - версия 1.1.4.93
+ В TRxDBComboBox опубликованы недостающие поля
+ В TRxDBLookupCombo добавлено обработчик OnGetGridCellProps
diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas
index f4175ffbb..8cd5c7147 100644
--- a/components/rx/rxdbgrid.pas
+++ b/components/rx/rxdbgrid.pas
@@ -1085,7 +1085,11 @@ begin
FSortEngine:=nil;
end
else
+ begin
FSortEngine:=nil;
+ if SelectedRows.Count>0 then
+ SelectedRows.Clear;
+ end;
FSortField:=nil;
FSortOrder:=smNone;
end;
diff --git a/components/rx/rxdbgrid_findunit.lfm b/components/rx/rxdbgrid_findunit.lfm
index b1ac0dff3..d44b49974 100644
--- a/components/rx/rxdbgrid_findunit.lfm
+++ b/components/rx/rxdbgrid_findunit.lfm
@@ -1,82 +1,103 @@
object rxDBGridFindForm: TrxDBGridFindForm
Left = 436
- Height = 99
+ Height = 127
Top = 423
- Width = 434
- HorzScrollBar.Page = 433
- VertScrollBar.Page = 98
+ Width = 493
+ HorzScrollBar.Page = 492
+ VertScrollBar.Page = 126
ActiveControl = BtnFind
Caption = 'Find'
- ClientHeight = 99
- ClientWidth = 434
+ ClientHeight = 127
+ ClientWidth = 493
+ OnActivate = FormActivate
OnShow = FormShow
- PixelsPerInch = 96
object Label1: TLabel
+ AnchorSideBottom.Control = Edit1
+ AnchorSideBottom.Side = asrBottom
Left = 6
- Height = 14
- Top = 19
- Width = 57
+ Height = 13
+ Top = 17
+ Width = 62
+ Anchors = [akLeft, akBottom]
Caption = 'Text to find'
- Color = clNone
FocusControl = Edit1
ParentColor = False
end
object Label2: TLabel
- Left = 8
- Height = 14
- Top = 48
- Width = 57
+ AnchorSideLeft.Control = Label1
+ AnchorSideBottom.Control = ComboBox1
+ AnchorSideBottom.Side = asrBottom
+ Left = 6
+ Height = 13
+ Top = 51
+ Width = 67
+ Anchors = [akLeft, akBottom]
Caption = 'Find at filed'
- Color = clNone
ParentColor = False
end
object BtnFind: TButton
- Left = 346
- Height = 25
+ Left = 408
+ Height = 38
Top = 8
- Width = 83
+ Width = 80
Anchors = [akTop, akRight]
- BorderSpacing.InnerBorder = 2
Caption = 'Find more'
Default = True
OnClick = BtnFindClick
TabOrder = 4
end
object Button2: TButton
- Left = 346
- Height = 25
- Top = 41
- Width = 83
+ AnchorSideTop.Control = BtnFind
+ AnchorSideTop.Side = asrBottom
+ Left = 408
+ Height = 34
+ Top = 54
+ Width = 80
Anchors = [akTop, akRight]
- BorderSpacing.InnerBorder = 2
+ BorderSpacing.Top = 8
Cancel = True
Caption = 'Close'
OnClick = Button2Click
TabOrder = 5
end
object Edit1: TEdit
- Left = 80
- Height = 23
+ AnchorSideLeft.Control = ComboBox1
+ Left = 81
+ Height = 22
Top = 8
- Width = 258
+ Width = 316
Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
TabOrder = 0
end
object ComboBox1: TComboBox
- Left = 80
- Height = 21
- Top = 36
- Width = 256
+ AnchorSideLeft.Control = Label2
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = Edit1
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = Edit1
+ AnchorSideRight.Side = asrBottom
+ Left = 81
+ Height = 26
+ Top = 38
+ Width = 316
+ Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
+ BorderSpacing.Left = 8
+ BorderSpacing.Top = 8
MaxLength = 0
Style = csDropDownList
TabOrder = 1
end
object CheckBox1: TCheckBox
- Left = 8
- Height = 13
+ AnchorSideLeft.Control = Label1
+ AnchorSideTop.Control = ComboBox1
+ AnchorSideTop.Side = asrBottom
+ Left = 6
+ Height = 20
Top = 72
- Width = 92
+ Width = 113
+ BorderSpacing.Top = 8
Caption = 'Case sensetive'
TabOrder = 2
end
@@ -95,6 +116,8 @@ object rxDBGridFindForm: TrxDBGridFindForm
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
+ ClientHeight = 59
+ ClientWidth = 146
Items.Strings = (
'All'
'Forward'
@@ -104,10 +127,14 @@ object rxDBGridFindForm: TrxDBGridFindForm
Visible = False
end
object CheckBox2: TCheckBox
- Left = 128
- Height = 13
- Top = 70
- Width = 69
+ AnchorSideLeft.Control = Label1
+ AnchorSideTop.Control = CheckBox1
+ AnchorSideTop.Side = asrBottom
+ Left = 6
+ Height = 20
+ Top = 100
+ Width = 86
+ BorderSpacing.Top = 8
Caption = 'Partial key'
TabOrder = 3
end
diff --git a/components/rx/rxdbgrid_findunit.lrs b/components/rx/rxdbgrid_findunit.lrs
index b0059a156..1d04dfac7 100644
--- a/components/rx/rxdbgrid_findunit.lrs
+++ b/components/rx/rxdbgrid_findunit.lrs
@@ -2,35 +2,48 @@
LazarusResources.Add('TrxDBGridFindForm','FORMDATA',[
'TPF0'#17'TrxDBGridFindForm'#16'rxDBGridFindForm'#4'Left'#3#180#1#6'Height'#2
- +'c'#3'Top'#3#167#1#5'Width'#3#178#1#18'HorzScrollBar.Page'#3#177#1#18'VertSc'
- +'rollBar.Page'#2'b'#13'ActiveControl'#7#7'BtnFind'#7'Caption'#6#4'Find'#12'C'
- +'lientHeight'#2'c'#11'ClientWidth'#3#178#1#6'OnShow'#7#8'FormShow'#13'Pixels'
- +'PerInch'#2'`'#0#6'TLabel'#6'Label1'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#19#5
- +'Width'#2'9'#7'Caption'#6#12'Text to find'#5'Color'#7#6'clNone'#12'FocusCont'
- +'rol'#7#5'Edit1'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Hei'
- +'ght'#2#14#3'Top'#2'0'#5'Width'#2'9'#7'Caption'#6#13'Find at filed'#5'Color'
- +#7#6'clNone'#11'ParentColor'#8#0#0#7'TButton'#7'BtnFind'#4'Left'#3'Z'#1#6'He'
- +'ight'#2#25#3'Top'#2#8#5'Width'#2'S'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
- +'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#9'Find more'#7'Default'#9#7'OnC'
- +'lick'#7#12'BtnFindClick'#8'TabOrder'#2#4#0#0#7'TButton'#7'Button2'#4'Left'#3
- +'Z'#1#6'Height'#2#25#3'Top'#2')'#5'Width'#2'S'#7'Anchors'#11#5'akTop'#7'akRi'
- +'ght'#0#25'BorderSpacing.InnerBorder'#2#2#6'Cancel'#9#7'Caption'#6#5'Close'#7
- +'OnClick'#7#12'Button2Click'#8'TabOrder'#2#5#0#0#5'TEdit'#5'Edit1'#4'Left'#2
- +'P'#6'Height'#2#23#3'Top'#2#8#5'Width'#3#2#1#7'Anchors'#11#5'akTop'#6'akLeft'
- +#7'akRight'#0#8'TabOrder'#2#0#0#0#9'TComboBox'#9'ComboBox1'#4'Left'#2'P'#6'H'
- +'eight'#2#21#3'Top'#2'$'#5'Width'#3#0#1#16'AutoCompleteText'#11#22'cbactEndO'
- +'fLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#5'Style'#7#14'cs'
- +'DropDownList'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#4'Left'#2#8#6'H'
- +'eight'#2#13#3'Top'#2'H'#5'Width'#2'\'#7'Caption'#6#14'Case sensetive'#8'Tab'
- +'Order'#2#2#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#3#232#0#6'Height'#2
- +'L'#3'Top'#2'H'#5'Width'#3#150#0#8'AutoFill'#9#7'Caption'#6#9'Direction'#28
- +'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C'
- +'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing'
- +'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz'
- +'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi'
- +'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz'
- +'ing.ControlsPerLine'#2#1#13'Items.Strings'#1#6#3'All'#6#7'Forward'#6#8'Back'
- +'ward'#0#8'TabOrder'#2#6#7'Visible'#8#0#0#9'TCheckBox'#9'CheckBox2'#4'Left'#3
- +#128#0#6'Height'#2#13#3'Top'#2'F'#5'Width'#2'E'#7'Caption'#6#11'Partial key'
- +#8'TabOrder'#2#3#0#0#0
+ +''#3'Top'#3#167#1#5'Width'#3#237#1#18'HorzScrollBar.Page'#3#236#1#18'VertSc'
+ +'rollBar.Page'#2'~'#13'ActiveControl'#7#7'BtnFind'#7'Caption'#6#4'Find'#12'C'
+ +'lientHeight'#2''#11'ClientWidth'#3#237#1#10'OnActivate'#7#12'FormActivate'
+ +#6'OnShow'#7#8'FormShow'#0#6'TLabel'#6'Label1'#24'AnchorSideBottom.Control'#7
+ +#5'Edit1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#13
+ +#3'Top'#2#17#5'Width'#2'>'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6
+ +#12'Text to find'#12'FocusControl'#7#5'Edit1'#11'ParentColor'#8#0#0#6'TLabel'
+ +#6'Label2'#22'AnchorSideLeft.Control'#7#6'Label1'#24'AnchorSideBottom.Contro'
+ +'l'#7#9'ComboBox1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'He'
+ +'ight'#2#13#3'Top'#2'3'#5'Width'#2'C'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7
+ +'Caption'#6#13'Find at filed'#11'ParentColor'#8#0#0#7'TButton'#7'BtnFind'#4
+ +'Left'#3#152#1#6'Height'#2'&'#3'Top'#2#8#5'Width'#2'P'#7'Anchors'#11#5'akTop'
+ +#7'akRight'#0#7'Caption'#6#9'Find more'#7'Default'#9#7'OnClick'#7#12'BtnFind'
+ +'Click'#8'TabOrder'#2#4#0#0#7'TButton'#7'Button2'#21'AnchorSideTop.Control'#7
+ +#7'BtnFind'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#152#1#6'Height'#2
+ +'"'#3'Top'#2'6'#5'Width'#2'P'#7'Anchors'#11#5'akTop'#7'akRight'#0#17'BorderS'
+ +'pacing.Top'#2#8#6'Cancel'#9#7'Caption'#6#5'Close'#7'OnClick'#7#12'Button2Cl'
+ +'ick'#8'TabOrder'#2#5#0#0#5'TEdit'#5'Edit1'#22'AnchorSideLeft.Control'#7#9'C'
+ +'omboBox1'#4'Left'#2'Q'#6'Height'#2#22#3'Top'#2#8#5'Width'#3'<'#1#7'Anchors'
+ +#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#8'TabOrder'#2#0#0#0#9'TCom'
+ +'boBox'#9'ComboBox1'#22'AnchorSideLeft.Control'#7#6'Label2'#19'AnchorSideLef'
+ +'t.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#5'Edit1'#18'AnchorSideTo'
+ +'p.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Edit1'#20'AnchorSide'
+ +'Right.Side'#7#9'asrBottom'#4'Left'#2'Q'#6'Height'#2#26#3'Top'#2'&'#5'Width'
+ +#3'<'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11
+ +#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#18'BorderSpacing.Left'
+ +#2#8#17'BorderSpacing.Top'#2#8#9'MaxLength'#2#0#5'Style'#7#14'csDropDownList'
+ +#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#6
+ +'Label1'#21'AnchorSideTop.Control'#7#9'ComboBox1'#18'AnchorSideTop.Side'#7#9
+ +'asrBottom'#4'Left'#2#6#6'Height'#2#20#3'Top'#2'H'#5'Width'#2'q'#17'BorderSp'
+ +'acing.Top'#2#8#7'Caption'#6#14'Case sensetive'#8'TabOrder'#2#2#0#0#11'TRadi'
+ +'oGroup'#11'RadioGroup1'#4'Left'#3#232#0#6'Height'#2'L'#3'Top'#2'H'#5'Width'
+ +#3#150#0#8'AutoFill'#9#7'Caption'#6#9'Direction'#28'ChildSizing.LeftRightSpa'
+ +'cing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizo'
+ +'ntal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'c'
+ +'rsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChil'
+ +'ds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layo'
+ +'ut'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+ +#12'ClientHeight'#2';'#11'ClientWidth'#3#146#0#13'Items.Strings'#1#6#3'All'#6
+ +#7'Forward'#6#8'Backward'#0#8'TabOrder'#2#6#7'Visible'#8#0#0#9'TCheckBox'#9
+ +'CheckBox2'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Control'
+ +#7#9'CheckBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+ +#20#3'Top'#2'd'#5'Width'#2'V'#17'BorderSpacing.Top'#2#8#7'Caption'#6#11'Part'
+ +'ial key'#8'TabOrder'#2#3#0#0#0
]);
diff --git a/components/rx/rxdbgrid_findunit.pas b/components/rx/rxdbgrid_findunit.pas
index cb2e67da2..49f24a757 100644
--- a/components/rx/rxdbgrid_findunit.pas
+++ b/components/rx/rxdbgrid_findunit.pas
@@ -24,6 +24,7 @@ type
RadioGroup1: TRadioGroup;
procedure BtnFindClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
FGrid:TRxDBGrid;
@@ -55,6 +56,12 @@ begin
Close;
end;
+procedure TrxDBGridFindForm.FormActivate(Sender: TObject);
+begin
+{ BtnFind.Height:=Canvas.TextHeight('W') + 6;
+ Button2.Height:=BtnFind.Height;}
+end;
+
procedure TrxDBGridFindForm.FormShow(Sender: TObject);
begin
Edit1.SetFocus;
diff --git a/components/rx/rxlookup.pas b/components/rx/rxlookup.pas
index bf7fde5b1..366f4127d 100644
--- a/components/rx/rxlookup.pas
+++ b/components/rx/rxlookup.pas
@@ -294,15 +294,9 @@ type
property LookupSource;
end;
-function CreateArrowBitmap:TBitmap;
implementation
uses VCLUtils, Math;
-function CreateArrowBitmap:TBitmap;
-begin
- Result:=Graphics.TBitmap.Create;
- Result.LoadFromLazarusResource('rxbtn_downarrow');
-end;
{ TCustomDBLookupEdit }
diff --git a/components/rx/rxnew.lpk b/components/rx/rxnew.lpk
index 37d623734..5f75e1d0c 100644
--- a/components/rx/rxnew.lpk
+++ b/components/rx/rxnew.lpk
@@ -23,7 +23,7 @@ translate to Lazarus by alexs in 2005 - 2007
"/>
-
+
@@ -182,17 +182,17 @@ translate to Lazarus by alexs in 2005 - 2007
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/rxtoolbar.pas b/components/rx/rxtoolbar.pas
index 95078815b..1b933f0e1 100644
--- a/components/rx/rxtoolbar.pas
+++ b/components/rx/rxtoolbar.pas
@@ -6,16 +6,19 @@ interface
uses
Classes, SysUtils, LCLType, LCLIntf, Buttons, Controls, ExtCtrls, ActnList,
- PropertyStorage, Menus, Forms, types;
+ PropertyStorage, Menus, Forms, types, Graphics;
const
DefButtonWidth = 24;
DefButtonHeight = 23;
-
+const
+ DropDownExtraBtnWidth = 15;
+
type
TToolPanel = class;
TToolbarItem = class;
- TToolbarButtonStyle = (tbrButton, tbrCheck, tbrDropDown, tbrSeparator, tbrDivider);
+ TToolbarButtonStyle = (tbrButton, tbrCheck, tbrDropDown, tbrSeparator,
+ tbrDivider, tbrDropDownExtra);
TToolBarStyle = (tbsStandart, tbsWindowsXP);
TToolButtonAllign = (tbaNone, tbaLeft, tbaRignt);
@@ -50,6 +53,7 @@ type
FLastDrawFlagsA:integer;
FAutoSize:boolean;
FOwnerItem:TToolbarItem;
+ FFullPush:boolean;
function IsDesignMode:boolean;
procedure PaintSeparator;
protected
@@ -58,6 +62,7 @@ type
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
+ procedure MouseLeave; override;
procedure Paint; override;
procedure Click; override;
procedure UpdateState(InvalidateOnChange: boolean); override;
@@ -157,6 +162,7 @@ type
FDefButtonHeight:integer;
FToolBarStyle: TToolBarStyle;
FVersion: Integer;
+ FArrowBmp:TBitmap;
function GetBtnHeight: Integer;
function GetBtnWidth: Integer;
function GetItems: TToolbarItems;
@@ -239,7 +245,7 @@ type
end;
implementation
-uses Math, Graphics, RxTBRSetup, LCLProc, vclutils, Dialogs, typinfo, rxdconst;
+uses Math, RxTBRSetup, LCLProc, vclutils, Dialogs, typinfo, rxdconst;
const
BtnAl2Align:array [TToolButtonAllign] of TAlign = (alNone, alLeft, alRight);
@@ -259,14 +265,17 @@ begin
PaintRect:=ClientRect;
Canvas.Brush.Color := Color;
Canvas.FillRect(PaintRect);
- X:=Width div 2 - 1;
- H:=TToolPanel(Parent).Height;
- if X>0 then
+ if FToolbarButtonStyle = tbrSeparator then
begin
- Canvas.Pen.Color:=clBtnShadow;
- Canvas.Line(X, 1, X, H);
- Canvas.Pen.Color:=clWindow;
- Canvas.Line(X+1, 1, X+1, H);
+ X:=Width div 2 - 1;
+ H:=TToolPanel(Parent).Height;
+ if X>0 then
+ begin
+ Canvas.Pen.Color:=clBtnShadow;
+ Canvas.Line(X, 1, X, H);
+ Canvas.Pen.Color:=clWindow;
+ Canvas.Line(X+1, 1, X+1, H);
+ end;
end;
end;
@@ -280,7 +289,10 @@ begin
FDesignY:=Max(Y-1, 1);
end
else
- inherited MouseDown(Button, Shift, X, Y);
+ begin
+ FFullPush:=X < (Width - DropDownExtraBtnWidth - 5);
+ inherited MouseDown(Button, Shift, X, Y);
+ end;
end;
procedure TToolbarButton.MouseMove(Shift: TShiftState; X, Y: Integer);
@@ -291,7 +303,10 @@ begin
Left:=Max(0, Min(X+Left-FDesignX, Parent.Width - Width));
end
else
- inherited MouseMove(Shift, X, Y);
+ begin
+// FFullPuch:=(X-Left) < (Width - DropDownExtraBtnWidth);
+ inherited MouseMove(Shift, X, Y);
+ end
end;
procedure TToolbarButton.MouseUp(Button: TMouseButton; Shift: TShiftState; X,
@@ -306,9 +321,15 @@ begin
inherited MouseUp(Button, Shift, X, Y);
end;
+procedure TToolbarButton.MouseLeave;
+begin
+ inherited MouseLeave;
+ FFullPush:=true;
+end;
+
procedure TToolbarButton.Paint;
var
- PaintRect: TRect;
+ PaintRect, PaintRect1: TRect;
GlyphWidth, GlyphHeight: Integer;
Offset, OffsetCap: TPoint;
ClientSize, TotalSize, TextSize: TSize;
@@ -318,7 +339,7 @@ var
SIndex : Longint;
TMP : String;
begin
- if FToolbarButtonStyle = tbrSeparator then
+ if FToolbarButtonStyle in [tbrSeparator, tbrDivider] then
begin
PaintSeparator;
exit;
@@ -345,12 +366,67 @@ begin
if FLastDrawFlagsA <> 0 then
begin
if TToolbarItems(FOwnerItem.Collection).FToolPanel.FToolBarStyle = tbsWindowsXP then
- DrawButtonFrameXP(Canvas, PaintRect, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ begin
+
+ if FToolbarButtonStyle = tbrDropDownExtra then
+ begin
+ PaintRect1:=PaintRect;
+ Dec(PaintRect1.Right, DropDownExtraBtnWidth);
+ if FFullPush then
+ begin
+ DrawButtonFrameXP(Canvas, PaintRect1, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end
+ else
+ DrawButtonFrameXP(Canvas, PaintRect1, false,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ ;
+
+ PaintRect1:=PaintRect;
+ PaintRect1.Left:=PaintRect1.Right - DropDownExtraBtnWidth;
+ DrawButtonFrameXP(Canvas, PaintRect1, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end
+ else
+ DrawButtonFrameXP(Canvas, PaintRect, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
(FLastDrawFlagsA and DFCS_FLAT) <> 0)
+ end
else
- DrawButtonFrame(Canvas, PaintRect, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ begin
+ if FToolbarButtonStyle = tbrDropDownExtra then
+ begin
+ PaintRect1:=PaintRect;
+ Dec(PaintRect1.Right, DropDownExtraBtnWidth);
+
+ if FFullPush then
+ begin
+ DrawButtonFrame(Canvas, PaintRect1, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
(FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end
+ else
+ begin
+ DrawButtonFrame(Canvas, PaintRect1, false,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end;
+
+ PaintRect1:=PaintRect;
+ PaintRect1.Left:=PaintRect1.Right - DropDownExtraBtnWidth;
+ DrawButtonFrame(Canvas, PaintRect1, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end
+ else
+ DrawButtonFrame(Canvas, PaintRect, (FLastDrawFlagsA and DFCS_PUSHED) <> 0,
+ (FLastDrawFlagsA and DFCS_FLAT) <> 0);
+ end;
end;
+
+ if FToolbarButtonStyle = tbrDropDownExtra then
+ begin
+ Canvas.Draw(PaintRect.Right - 10, Height div 2, TToolbarItems(FOwnerItem.Collection).FToolPanel.FArrowBmp);
+// FArrowBmp
+ Dec(PaintRect.Right, DropDownExtraBtnWidth);
+ end;
+
GlyphWidth:= FImageList.Width;
GlyphHeight:=FImageList.Height;
@@ -446,7 +522,7 @@ begin
end;
if ((FLastDrawFlagsA and DFCS_FLAT) <> 0) and ((FLastDrawFlagsA and DFCS_PUSHED) = 0)
- and (tpGlyphPopup in TToolbarItems(FOwnerItem.Collection).FToolPanel.Options)then
+ and (tpGlyphPopup in TToolbarItems(FOwnerItem.Collection).FToolPanel.Options) and FFullPush then
begin
// FImageList.Draw(Canvas, Offset.X, Offset.Y, TCustomAction(Action).ImageIndex, false);
Dec(Offset.X, 2);
@@ -489,6 +565,7 @@ begin
OffsetRect(PaintRect, -2, -2);
end;
Canvas.TextRect(PaintRect, PaintRect.Left, PaintRect.Top, Caption, TXTStyle);
+
end;
end;
@@ -507,6 +584,17 @@ begin
FDropDownMenu.PopUp(P.X, P.Y);
end;
end
+ else
+ if (FToolbarButtonStyle = tbrDropDownExtra) and (not FFullPush) then
+ begin
+ if Assigned(FDropDownMenu) then
+ begin
+ P.X:=Width - DropDownExtraBtnWidth;
+ P.Y:=Height;
+ P:=ClientToScreen(P);
+ FDropDownMenu.PopUp(P.X, P.Y);
+ end;
+ end
else
inherited Click;
end;
@@ -594,7 +682,7 @@ var
begin
if Assigned(Parent) and not (csLoading in TToolPanel(Parent).ComponentState) then
begin
- if FToolbarButtonStyle = tbrSeparator then
+ if FToolbarButtonStyle in [tbrSeparator, tbrDivider] then
begin
aWidth:=7;
if Assigned(FImageList) then
@@ -615,6 +703,12 @@ begin
ImgH:=TToolPanel(Parent).BtnHeight;
ImgW:=TToolPanel(Parent).BtnWidth;
end;
+
+ if FToolbarButtonStyle = tbrDropDownExtra then
+ begin
+ ImgW:=ImgW + DropDownExtraBtnWidth;
+ end;
+
if FShowCaption then
begin
TextSize:=Canvas.TextExtent(Caption);
@@ -966,6 +1060,7 @@ end;
constructor TToolPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
+ FArrowBmp:=CreateArrowBitmap;
AutoSize:=true;
FToolbarItems:=TToolbarItems.Create(Self);
Align:=alTop;
@@ -990,6 +1085,7 @@ begin
end;
FreeAndNil(FToolbarItems);
FreeAndNil(FPropertyStorageLink);
+ FreeAndNil(FArrowBmp);
inherited Destroy;
end;
@@ -1174,9 +1270,9 @@ end;
function TToolbarItem.GetDisplayName: string;
begin
- if ButtonStyle = tbrSeparator then
+ if ButtonStyle in [tbrSeparator, tbrDivider] then
begin
- Result:='Separator' //inherited GetDisplayName;
+ Result:='Separator'
end
else
if Assigned(Action) then
@@ -1203,6 +1299,7 @@ begin
FButton.FShowCaption:=false;
FButton.FAutoSize:=true;
FButton.FOwnerItem:=Self;
+ FButton.FFullPush:=true;
if not (csLoading in TToolbarItems(ACollection).FToolPanel.ComponentState) then
FButton.Align:=BtnAl2Align[TToolbarItems(ACollection).FToolPanel.ButtonAllign];
{ if TToolbarItems(ACollection).FToolPanel.ButtonAllign = tbaLeft then
diff --git a/components/rx/vclutils.pas b/components/rx/vclutils.pas
index d13ed191f..589bc89ce 100644
--- a/components/rx/vclutils.pas
+++ b/components/rx/vclutils.pas
@@ -28,6 +28,7 @@ procedure OutTextXY90(Canvas:TCanvas; X,Y:integer; Text:string; Orientation:TTex
function IsForegroundTask: Boolean;
function ValidParentForm(Control: TControl): TCustomForm;
+function CreateArrowBitmap:TBitmap;
{
function AllocMemo(Size: Longint): Pointer;
function ReallocMemo(fpBlock: Pointer; Size: Longint): Pointer;
@@ -508,6 +509,13 @@ begin
raise Exception.Create('SOutOfResources');
end;
{$ENDIF}
+
+function CreateArrowBitmap:TBitmap;
+begin
+ Result:=Graphics.TBitmap.Create;
+ Result.LoadFromLazarusResource('rxbtn_downarrow');
+end;
+
end.