diff --git a/components/rx/docs/laz_doc/rxfpc.xml b/components/rx/docs/laz_doc/rxfpc.xml index e1548a0bc..8f78bbf16 100644 --- a/components/rx/docs/laz_doc/rxfpc.xml +++ b/components/rx/docs/laz_doc/rxfpc.xml @@ -1,32 +1,1348 @@ - + + Пакет времени разработки + Данный пакет содержит в себе вспомогательные классы и утилиты, которые необходимы во время разработки программы. +Все эти данные не испошльзуются во время работы готовой программы, поэтому этот код е включается в финальнуе версии программ + - + + + Абстрактный класс сортировки данных + Абстрактный класс сортировки данных в RXDBGrid. +От этого класса необходимо создавать наследников, которые будут предоставлять функционал по сортировке данных в наборе данных, который подключен к RXDBGrid. + + + Абстрактный метод сортировки по столбцу + Этот метод необходимо перекрывать в наследнике для обеспечения функции сортировки данных при щелчке по столбцу в RxDBGrid-е + + + Абстрактный метод сортировки по нескольким столбцам + В RXDBGrid-е есть возможность сортировки по нескольким столбцам одновременно. +Если набор данных имеет такую возможность, то данный метод необходимо переопределить и вписать в нём вызов сортировки по нескольким столбцам. + + + Этот класс представляет собой заголовок столбца в RXDbGrid + + TRxColumnTitle = class(TColumnTitle) +Этот класс наследует все основные свойства заголовка из DBGrid и добавялет инструменты по отображению многострочных заголовков + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Наследник от стандартного TDBGrid с дополнительными возможностями + Наследник от стандартного TDBGrid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Этот клас представляет собой колонку в RxDBGrid + + + Конструктор constructor TRxColumn.Create(ACollection: TCollection); + Конструктор constructor TRxColumn.Create(ACollection: TCollection); +Создаёт класс столбца и заполняет начальные значения + + + + + + + + + - + Unit RxCtrls Description Компонента TRxLabel аналогична стандартной компоненте VCL TLabel, однако дополнительно позволяет придать тексту статического элемента управления (Label) 3-мерный вид, либо отобразить "тень" текста. С помощью свойст ShadowPos, ShadowColor и ShadowSize вы можете задать расположение, цвет и толщину "тени" букв текста. Значения, заданные для этих свойств по умолчанию, создают "трехмерный" эффект изображения текс - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Класс по управлению списком файлов + Даный класс предназначен для чтения списка файлов из указанного каталога и формирования по этому списку меню. +Папка, для сканирования определяется свойством FileFolder +Пункт меню, куда в качестве подменю будут добавлен список файлов - MenuItem + + + Метод запускает процесс сканирования папки с файлами + + + + + Свойство содержит в себе имена всех фалов, которые были обнаружены в указанной папке + + Свойство - массив, содержит в себе список всех файлов и каталогов, которые были обнаружены в указанной папке. +Кол-во элементов данного массива находится в свойстве + + Count + + + + + + + + Количество прочитанных файлов/каталогов + Свойство содержит в себе кол-во прочитанных файлов + + + + + + + Свойство FileFolder + + property FileFolder:string +Свойство FileFolder определяет каталог с файлами, который будет сканироваться при вызове метода + + Execute и по содержимому которого будет произведено заполнение массива Files + + + + + + Свойство OnExecuteItem + + property OnExecuteItem:TNotifyEvent +Свойство OnExecuteItem вызывается при выборе пункта меню, которые было сформировано по элементам массива Files + + + Свойство MenuItem + + property MenuItem:TMenuItem; +Данное свойство определяет место в меню, где будет добавлено в виде подменю содержимое каталога FileFolder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Визуальный объект предназначен для редактирования времени + Визуальный объект предназначен для редактирования времени + + + + + Свойство содержит время, введённое в поле + Свойство содержит время, введённое в поле + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Текстовое представление введённого времени + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/rx/duallist.pas b/components/rx/duallist.pas index 98e0dc71f..dbf8148d2 100644 --- a/components/rx/duallist.pas +++ b/components/rx/duallist.pas @@ -65,7 +65,7 @@ type implementation -uses SysUtils, Forms, FDualLst, VCLUtils, LCLStrConsts; +uses SysUtils, Forms, FDualLst, VCLUtils, LCLStrConsts, rxconst; { TDualListDialog } @@ -76,11 +76,12 @@ begin FShowHelp := True; FList1 := TStringList.Create; FList2 := TStringList.Create; -{ FLabel1Caption := LoadStr(SDualListSrcCaption); - FLabel2Caption := LoadStr(SDualListDestCaption);} + FLabel1Caption := SDualListSrcCaption; + FLabel2Caption := SDualListDestCaption; OkBtnCaption := rsmbOK; CancelBtnCaption := rsmbCancel; HelpBtnCaption := rsmbHelp; + Title:=SDualListCaption; end; destructor TDualListDialog.Destroy; @@ -102,12 +103,12 @@ end; function TDualListDialog.IsLabel1Custom: Boolean; begin - Result := true;//CompareStr(Label1Caption, LoadStr(SDualListSrcCaption)) <> 0; + Result := CompareStr(Label1Caption, SDualListSrcCaption) <> 0; end; function TDualListDialog.IsLabel2Custom: Boolean; begin - Result := true;//CompareStr(Label2Caption, LoadStr(SDualListDestCaption)) <> 0; + Result := CompareStr(Label2Caption, SDualListDestCaption) <> 0; end; function TDualListDialog.IsOkBtnCustom: Boolean; @@ -143,14 +144,16 @@ begin if Self.Title <> '' then Form.Caption := Self.Title; if Label1Caption <> '' then SrcLabel.Caption := Label1Caption; if Label2Caption <> '' then DstLabel.Caption := Label2Caption; - OkBtn.Caption := OkBtnCaption; - CancelBtn.Caption := CancelBtnCaption; - HelpBtn.Caption := HelpBtnCaption; + ButtonPanel1.OKButton.Caption := OkBtnCaption; + ButtonPanel1.CancelButton.Caption := CancelBtnCaption; + ButtonPanel1.HelpButton.Caption := HelpBtnCaption; + HelpContext := Self.HelpContext; - HelpBtn.HelpContext := HelpContext; + ButtonPanel1.HelpButton.HelpContext := HelpContext; end; Result := (Form.ShowModal = mrOk); - if Result then begin + if Result then + begin List1 := Form.SrcList.Items; List2 := Form.DstList.Items; end; diff --git a/components/rx/exsortfb.pas b/components/rx/exsortfb.pas index ae063f938..f841611e3 100644 --- a/components/rx/exsortfb.pas +++ b/components/rx/exsortfb.pas @@ -44,9 +44,13 @@ uses ; type + + { TFBDataSetSortEngine } + TFBDataSetSortEngine = class(TExDBGridSortEngine) public procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override; + procedure SortList(ListField:string; ADataSet:TDataSet; Asc:boolean);override; end; implementation @@ -58,6 +62,13 @@ begin (ADataSet as TFBDataSet).SortOnField(Field.FieldName, Asc); end; +procedure TFBDataSetSortEngine.SortList(ListField: string; ADataSet: TDataSet; + Asc: boolean); +begin + if Assigned(ADataSet) then + (ADataSet as TFBDataSet).SortOnFields(ListField, Asc); +end; + initialization RegisterExDBGridSortEngine(TFBDataSetSortEngine, TFBDataSet); end. diff --git a/components/rx/fduallst.lfm b/components/rx/fduallst.lfm index 0d67529bc..d89f738af 100644 --- a/components/rx/fduallst.lfm +++ b/components/rx/fduallst.lfm @@ -1,51 +1,53 @@ object DualListForm: TDualListForm - Left = 311 - Height = 269 - Top = 225 - Width = 392 - HorzScrollBar.Page = 391 - VertScrollBar.Page = 268 - ActiveControl = SrcList + Left = 428 + Height = 344 + Top = 233 + Width = 552 + ActiveControl = IncBtn BorderIcons = [] - BorderStyle = bsDialog Caption = 'DualListForm' - ClientHeight = 269 - ClientWidth = 392 - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [fsBold] + ClientHeight = 344 + ClientWidth = 552 OnActivate = ListClick - OnCreate = FormCreate OnShow = ListClick Position = poScreenCenter - object Bevel1: TBevel - Left = 4 - Height = 224 - Top = 7 - Width = 384 - end + LCLVersion = '0.9.27' object SrcLabel: TLabel - Left = 12 - Height = 14 - Top = 12 - Width = 34 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + Left = 6 + Height = 18 + Top = 6 + Width = 50 + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 Caption = 'Source' ParentColor = False end object DstLabel: TLabel - Left = 216 - Height = 14 - Top = 12 - Width = 23 + AnchorSideLeft.Control = DstList + AnchorSideTop.Control = Owner + Left = 304 + Height = 18 + Top = 6 + Width = 34 + BorderSpacing.Top = 6 Caption = 'Dest' ParentColor = False end object SrcList: TListBox - Left = 12 - Height = 194 + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = SrcLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = IncAllBtn + AnchorSideBottom.Control = ButtonPanel1 + Left = 6 + Height = 260 Top = 30 - Width = 164 - ItemHeight = 13 + Width = 242 + Anchors = [akTop, akLeft, akRight, akBottom] + BorderSpacing.Around = 6 + ItemHeight = 0 MultiSelect = True OnClick = ListClick OnDblClick = IncBtnClick @@ -54,13 +56,23 @@ object DualListForm: TDualListForm ShowHint = True Sorted = True TabOrder = 0 + TopIndex = -1 end object DstList: TListBox - Left = 216 - Height = 194 + AnchorSideLeft.Control = IncAllBtn + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = DstLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = ButtonPanel1 + Left = 304 + Height = 260 Top = 30 - Width = 164 - ItemHeight = 13 + Width = 242 + Anchors = [akTop, akLeft, akRight, akBottom] + BorderSpacing.Around = 6 + ItemHeight = 0 MultiSelect = True OnClick = ListClick OnDblClick = ExclBtnClick @@ -69,93 +81,95 @@ object DualListForm: TDualListForm ShowHint = True Sorted = True TabOrder = 5 + TopIndex = -1 end object IncBtn: TButton - Left = 183 - Height = 26 - Top = 32 - Width = 26 + AnchorSideLeft.Control = IncAllBtn + AnchorSideTop.Control = SrcList + AnchorSideRight.Control = IncAllBtn + AnchorSideRight.Side = asrBottom + Left = 254 + Height = 37 + Top = 36 + Width = 44 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 4 Caption = '>' Font.Color = clBlack - Font.Height = -12 - Font.Name = 'MS Sans Serif' Font.Style = [fsBold] OnClick = IncBtnClick + ParentFont = False TabOrder = 1 end object IncAllBtn: TButton - Left = 183 - Height = 26 - Top = 64 - Width = 26 + AnchorSideLeft.Control = Owner + AnchorSideLeft.Side = asrCenter + AnchorSideTop.Control = IncBtn + AnchorSideTop.Side = asrBottom + Left = 254 + Height = 37 + Top = 79 + Width = 44 + AutoSize = True + BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 4 Caption = '>>' Font.Color = clBlack - Font.Height = -12 - Font.Name = 'MS Sans Serif' Font.Style = [fsBold] OnClick = IncAllBtnClick + ParentFont = False TabOrder = 2 end object ExclBtn: TButton - Left = 183 - Height = 26 - Top = 97 - Width = 26 + AnchorSideLeft.Control = IncAllBtn + AnchorSideTop.Control = IncAllBtn + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = IncAllBtn + AnchorSideRight.Side = asrBottom + Left = 254 + Height = 37 + Top = 122 + Width = 44 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 4 Caption = '<' Font.Color = clBlack - Font.Height = -12 - Font.Name = 'MS Sans Serif' Font.Style = [fsBold] OnClick = ExclBtnClick + ParentFont = False TabOrder = 3 end object ExclAllBtn: TButton - Left = 183 - Height = 26 - Top = 129 - Width = 26 + AnchorSideLeft.Control = IncAllBtn + AnchorSideTop.Control = ExclBtn + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = IncAllBtn + AnchorSideRight.Side = asrBottom + Left = 254 + Height = 37 + Top = 165 + Width = 44 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 4 Caption = '<<' Font.Color = clBlack - Font.Height = -12 - Font.Name = 'MS Sans Serif' Font.Style = [fsBold] OnClick = ExclAllBtnClick + ParentFont = False TabOrder = 4 end - object OkBtn: TButton - Left = 138 - Height = 25 - Top = 239 - Width = 77 - BorderSpacing.InnerBorder = 4 - Caption = 'OK' - Default = True - ModalResult = 1 + object ButtonPanel1: TButtonPanel + Left = 6 + Height = 42 + Top = 296 + Width = 540 TabOrder = 6 - end - object CancelBtn: TButton - Left = 221 - Height = 25 - Top = 239 - Width = 77 - BorderSpacing.InnerBorder = 4 - Cancel = True - Caption = 'Cancel' - ModalResult = 2 - TabOrder = 7 - end - object HelpBtn: TButton - Left = 310 - Height = 25 - Top = 239 - Width = 77 - BorderSpacing.InnerBorder = 4 - Caption = 'Help' - OnClick = HelpBtnClick - TabOrder = 8 + ShowButtons = [pbOK, pbCancel, pbHelp] end end diff --git a/components/rx/fduallst.lrs b/components/rx/fduallst.lrs index ab21803e8..c4e653848 100644 --- a/components/rx/fduallst.lrs +++ b/components/rx/fduallst.lrs @@ -1,46 +1,61 @@ { - , lazarus } LazarusResources.Add('TDualListForm','FORMDATA',[ - 'TPF0'#13'TDualListForm'#12'DualListForm'#4'Left'#3'7'#1#6'Height'#3#13#1#3'T' - +'op'#3#225#0#5'Width'#3#136#1#18'HorzScrollBar.Page'#3#135#1#18'VertScrollBa' - +'r.Page'#3#12#1#13'ActiveControl'#7#7'SrcList'#11'BorderIcons'#11#0#11'Borde' - +'rStyle'#7#8'bsDialog'#7'Caption'#6#12'DualListForm'#12'ClientHeight'#3#13#1 - +#11'ClientWidth'#3#136#1#11'Font.Height'#2#245#9'Font.Name'#6#13'MS Sans Ser' - +'if'#10'Font.Style'#11#6'fsBold'#0#10'OnActivate'#7#9'ListClick'#8'OnCreate' - +#7#10'FormCreate'#6'OnShow'#7#9'ListClick'#8'Position'#7#14'poScreenCenter'#0 - +#6'TBevel'#6'Bevel1'#4'Left'#2#4#6'Height'#3#224#0#3'Top'#2#7#5'Width'#3#128 - +#1#0#0#6'TLabel'#8'SrcLabel'#4'Left'#2#12#6'Height'#2#14#3'Top'#2#12#5'Width' - +#2'"'#7'Caption'#6#6'Source'#11'ParentColor'#8#0#0#6'TLabel'#8'DstLabel'#4'L' - +'eft'#3#216#0#6'Height'#2#14#3'Top'#2#12#5'Width'#2#23#7'Caption'#6#4'Dest' - +#11'ParentColor'#8#0#0#8'TListBox'#7'SrcList'#4'Left'#2#12#6'Height'#3#194#0 - +#3'Top'#2#30#5'Width'#3#164#0#10'ItemHeight'#2#13#11'MultiSelect'#9#7'OnClic' - +'k'#7#9'ListClick'#10'OnDblClick'#7#11'IncBtnClick'#9'OnKeyDown'#7#14'SrcLis' - +'tKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrder'#2#0#0#0 - +#8'TListBox'#7'DstList'#4'Left'#3#216#0#6'Height'#3#194#0#3'Top'#2#30#5'Widt' - +'h'#3#164#0#10'ItemHeight'#2#13#11'MultiSelect'#9#7'OnClick'#7#9'ListClick' - +#10'OnDblClick'#7#12'ExclBtnClick'#9'OnKeyDown'#7#14'DstListKeyDown'#14'Pare' - +'ntShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrder'#2#5#0#0#7'TButton'#6'In' - +'cBtn'#4'Left'#3#183#0#6'Height'#2#26#3'Top'#2' '#5'Width'#2#26#25'BorderSpa' - +'cing.InnerBorder'#2#4#7'Caption'#6#1'>'#10'Font.Color'#7#7'clBlack'#11'Font' - +'.Height'#2#244#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold' - +#0#7'OnClick'#7#11'IncBtnClick'#8'TabOrder'#2#1#0#0#7'TButton'#9'IncAllBtn'#4 - +'Left'#3#183#0#6'Height'#2#26#3'Top'#2'@'#5'Width'#2#26#25'BorderSpacing.Inn' - +'erBorder'#2#4#7'Caption'#6#2'>>'#10'Font.Color'#7#7'clBlack'#11'Font.Height' - +#2#244#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnCl' - +'ick'#7#14'IncAllBtnClick'#8'TabOrder'#2#2#0#0#7'TButton'#7'ExclBtn'#4'Left' - +#3#183#0#6'Height'#2#26#3'Top'#2'a'#5'Width'#2#26#25'BorderSpacing.InnerBord' - +'er'#2#4#7'Caption'#6#1'<'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#244 - +#9'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7 - +#12'ExclBtnClick'#8'TabOrder'#2#3#0#0#7'TButton'#10'ExclAllBtn'#4'Left'#3#183 - +#0#6'Height'#2#26#3'Top'#3#129#0#5'Width'#2#26#25'BorderSpacing.InnerBorder' - +#2#4#7'Caption'#6#2'<<'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#244#9 - +'Font.Name'#6#13'MS Sans Serif'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#15 - +'ExclAllBtnClick'#8'TabOrder'#2#4#0#0#7'TButton'#5'OkBtn'#4'Left'#3#138#0#6 - +'Height'#2#25#3'Top'#3#239#0#5'Width'#2'M'#25'BorderSpacing.InnerBorder'#2#4 - +#7'Caption'#6#2'OK'#7'Default'#9#11'ModalResult'#2#1#8'TabOrder'#2#6#0#0#7'T' - +'Button'#9'CancelBtn'#4'Left'#3#221#0#6'Height'#2#25#3'Top'#3#239#0#5'Width' - +#2'M'#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#11 - +'ModalResult'#2#2#8'TabOrder'#2#7#0#0#7'TButton'#7'HelpBtn'#4'Left'#3'6'#1#6 - +'Height'#2#25#3'Top'#3#239#0#5'Width'#2'M'#25'BorderSpacing.InnerBorder'#2#4 - +#7'Caption'#6#4'Help'#7'OnClick'#7#12'HelpBtnClick'#8'TabOrder'#2#8#0#0#0 + 'TPF0'#13'TDualListForm'#12'DualListForm'#4'Left'#3#172#1#6'Height'#3'X'#1#3 + +'Top'#3#233#0#5'Width'#3'('#2#13'ActiveControl'#7#6'IncBtn'#11'BorderIcons' + +#11#0#7'Caption'#6#12'DualListForm'#12'ClientHeight'#3'X'#1#11'ClientWidth'#3 + +'('#2#10'OnActivate'#7#9'ListClick'#6'OnShow'#7#9'ListClick'#8'Position'#7#14 + +'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#8'SrcLabel'#22'Ancho' + +'rSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2 + +#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'2'#18'BorderSpacing.Left'#2#6#17'Bor' + +'derSpacing.Top'#2#6#7'Caption'#6#6'Source'#11'ParentColor'#8#0#0#6'TLabel'#8 + +'DstLabel'#22'AnchorSideLeft.Control'#7#7'DstList'#21'AnchorSideTop.Control' + +#7#5'Owner'#4'Left'#3'0'#1#6'Height'#2#18#3'Top'#2#6#5'Width'#2'"'#17'Border' + +'Spacing.Top'#2#6#7'Caption'#6#4'Dest'#11'ParentColor'#8#0#0#8'TListBox'#7'S' + +'rcList'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#8 + +'SrcLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control' + +#7#9'IncAllBtn'#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6 + +'Height'#3#4#1#3'Top'#2#30#5'Width'#3#242#0#7'Anchors'#11#5'akTop'#6'akLeft' + +#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11 + +'MultiSelect'#9#7'OnClick'#7#9'ListClick'#10'OnDblClick'#7#11'IncBtnClick'#9 + +'OnKeyDown'#7#14'SrcListKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted' + +#9#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#8'TListBox'#7'DstList'#22'AnchorSid' + +'eLeft.Control'#7#9'IncAllBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc' + +'horSideTop.Control'#7#8'DstLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 + +'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom' + +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#3'0'#1#6'Height'#3#4 + +#1#3'Top'#2#30#5'Width'#3#242#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8 + +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect' + +#9#7'OnClick'#7#9'ListClick'#10'OnDblClick'#7#12'ExclBtnClick'#9'OnKeyDown'#7 + +#14'DstListKeyDown'#14'ParentShowHint'#8#8'ShowHint'#9#6'Sorted'#9#8'TabOrde' + +'r'#2#5#8'TopIndex'#2#255#0#0#7'TButton'#6'IncBtn'#22'AnchorSideLeft.Control' + +#7#9'IncAllBtn'#21'AnchorSideTop.Control'#7#7'SrcList'#23'AnchorSideRight.Co' + +'ntrol'#7#9'IncAllBtn'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#254 + +#0#6'Height'#2'%'#3'Top'#2'$'#5'Width'#2','#7'Anchors'#11#5'akTop'#6'akLeft' + +#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'BorderSpacing.Inner' + +'Border'#2#4#7'Caption'#6#1'>'#10'Font.Color'#7#7'clBlack'#10'Font.Style'#11 + +#6'fsBold'#0#7'OnClick'#7#11'IncBtnClick'#10'ParentFont'#8#8'TabOrder'#2#1#0 + +#0#7'TButton'#9'IncAllBtn'#22'AnchorSideLeft.Control'#7#5'Owner'#19'AnchorSi' + +'deLeft.Side'#7#9'asrCenter'#21'AnchorSideTop.Control'#7#6'IncBtn'#18'Anchor' + +'SideTop.Side'#7#9'asrBottom'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#2'O'#5'W' + +'idth'#2','#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'BorderSpacing.InnerBo' + +'rder'#2#4#7'Caption'#6#2'>>'#10'Font.Color'#7#7'clBlack'#10'Font.Style'#11#6 + +'fsBold'#0#7'OnClick'#7#14'IncAllBtnClick'#10'ParentFont'#8#8'TabOrder'#2#2#0 + +#0#7'TButton'#7'ExclBtn'#22'AnchorSideLeft.Control'#7#9'IncAllBtn'#21'Anchor' + +'SideTop.Control'#7#9'IncAllBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'An' + +'chorSideRight.Control'#7#9'IncAllBtn'#20'AnchorSideRight.Side'#7#9'asrBotto' + +'m'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#2'z'#5'Width'#2','#7'Anchors'#11#5 + +'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25'Bo' + +'rderSpacing.InnerBorder'#2#4#7'Caption'#6#1'<'#10'Font.Color'#7#7'clBlack' + +#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#12'ExclBtnClick'#10'ParentFont'#8 + +#8'TabOrder'#2#3#0#0#7'TButton'#10'ExclAllBtn'#22'AnchorSideLeft.Control'#7#9 + +'IncAllBtn'#21'AnchorSideTop.Control'#7#7'ExclBtn'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#23'AnchorSideRight.Control'#7#9'IncAllBtn'#20'AnchorSideRight.Si' + +'de'#7#9'asrBottom'#4'Left'#3#254#0#6'Height'#2'%'#3'Top'#3#165#0#5'Width'#2 + +','#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpa' + +'cing.Top'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'<<'#10'Font.' + +'Color'#7#7'clBlack'#10'Font.Style'#11#6'fsBold'#0#7'OnClick'#7#15'ExclAllBt' + +'nClick'#10'ParentFont'#8#8'TabOrder'#2#4#0#0#12'TButtonPanel'#12'ButtonPane' + +'l1'#4'Left'#2#6#6'Height'#2'*'#3'Top'#3'('#1#5'Width'#3#28#2#8'TabOrder'#2#6 + +#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHelp'#0#0#0#0 ]); diff --git a/components/rx/fduallst.lrt b/components/rx/fduallst.lrt new file mode 100644 index 000000000..c887c8f9c --- /dev/null +++ b/components/rx/fduallst.lrt @@ -0,0 +1,7 @@ +TDUALLISTFORM.CAPTION=DualListForm +TDUALLISTFORM.SRCLABEL.CAPTION=Source +TDUALLISTFORM.DSTLABEL.CAPTION=Dest +TDUALLISTFORM.INCBTN.CAPTION=> +TDUALLISTFORM.INCALLBTN.CAPTION=>> +TDUALLISTFORM.EXCLBTN.CAPTION=< +TDUALLISTFORM.EXCLALLBTN.CAPTION=<< diff --git a/components/rx/fduallst.pas b/components/rx/fduallst.pas index 24cec597f..49b9a3cba 100644 --- a/components/rx/fduallst.pas +++ b/components/rx/fduallst.pas @@ -14,10 +14,14 @@ unit fduallst; interface uses SysUtils, LCLIntf, Messages, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, ExtCtrls, Buttons, LResources, LCLType; + StdCtrls, ExtCtrls, Buttons, LResources, LCLType, ButtonPanel; type + + { TDualListForm } + TDualListForm = class(TForm) + ButtonPanel1: TButtonPanel; SrcList: TListBox; DstList: TListBox; SrcLabel: TLabel; @@ -26,10 +30,6 @@ type IncAllBtn: TButton; ExclBtn: TButton; ExclAllBtn: TButton; - OkBtn: TButton; - CancelBtn: TButton; - HelpBtn: TButton; - Bevel1: TBevel; procedure IncBtnClick(Sender: TObject); procedure IncAllBtnClick(Sender: TObject); procedure ExclBtnClick(Sender: TObject); @@ -45,14 +45,11 @@ type procedure DstListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure HelpBtnClick(Sender: TObject); - procedure FormCreate(Sender: TObject); procedure ListClick(Sender: TObject); private { Private declarations } function GetShowHelp: Boolean; - procedure SetShowHelp(Value: Boolean); - protected - procedure CreateParams(var Params: TCreateParams); override; + procedure SetShowHelp(AValue: Boolean); public { Public declarations } procedure SetButtons; @@ -67,11 +64,6 @@ uses VCLUtils, BOXPROCS; { TDualListForm } -procedure TDualListForm.CreateParams(var Params: TCreateParams); -begin - inherited CreateParams(Params); -end; - procedure TDualListForm.SetButtons; var SrcEmpty, DstEmpty: Boolean; @@ -86,28 +78,15 @@ end; function TDualListForm.GetShowHelp: Boolean; begin - Result := (HelpBtn.Enabled) and (HelpBtn.Visible); + Result := pbHelp in ButtonPanel1.ShowButtons; end; -procedure TDualListForm.SetShowHelp(Value: Boolean); -const - x_FrmBtn = 16; - x_GrpBtn = 15; - x_BtnBtn = 8; +procedure TDualListForm.SetShowHelp(AValue: Boolean); begin - with HelpBtn do begin - Enabled := Value; - Visible := Value; - end; - if Value then begin - HelpBtn.Left := Width - HelpBtn.Width - x_FrmBtn; - CancelBtn.Left := HelpBtn.Left - CancelBtn.Width - x_GrpBtn; - OkBtn.Left := CancelBtn.Left - OkBtn.Width - x_BtnBtn;; - end - else begin - CancelBtn.Left := Width - CancelBtn.Width - x_FrmBtn; - OkBtn.Left := CancelBtn.Left - OkBtn.Width - x_BtnBtn;; - end; + if AValue then + ButtonPanel1.ShowButtons:=ButtonPanel1.ShowButtons + [pbHelp] + else + ButtonPanel1.ShowButtons:=ButtonPanel1.ShowButtons - [pbHelp]; end; procedure TDualListForm.IncBtnClick(Sender: TObject); @@ -207,14 +186,6 @@ begin Application.HelpContext(HelpContext); end; -procedure TDualListForm.FormCreate(Sender: TObject); -begin -{ OkBtn.Caption := SOKButton; - CancelBtn.Caption := SCancelButton; - HelpBtn.Caption := SHelpButton;} - if NewStyleControls then Font.Style := []; -end; - procedure TDualListForm.ListClick(Sender: TObject); begin SetButtons; diff --git a/components/rx/languages/rxconst.po b/components/rx/languages/rxconst.po index 2ec717eb9..6aaa78fb8 100644 --- a/components/rx/languages/rxconst.po +++ b/components/rx/languages/rxconst.po @@ -1,10 +1,30 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" +#: rxconst.savaliablebuttons +msgid "Avaliable buttons" +msgstr "" + #: rxconst.sbrowse msgid "Browse" msgstr "" +#: rxconst.sbuttonalign +msgid "Button align" +msgstr "" + +#: rxconst.sbuttonalign1 +msgid "None" +msgstr "" + +#: rxconst.sbuttonalign2 +msgid "Left" +msgstr "" + +#: rxconst.sbuttonalign3 +msgid "Rignt" +msgstr "" + #: rxconst.sdatedlgtitle msgid "Select a Date" msgstr "" @@ -17,10 +37,26 @@ msgstr "" msgid "Details" msgstr "" +#: rxconst.sduallistcaption +msgid "Dual list dialog" +msgstr "" + +#: rxconst.sduallistdestcaption +msgid "Destination" +msgstr "" + +#: rxconst.sduallistsrccaption +msgid "Source" +msgstr "" + #: rxconst.sfilenotexec msgid "File specified is not an executable file, dynamic-link library, or icon file" msgstr "" +#: rxconst.sflatbuttons +msgid "Flat buttons" +msgstr "" + #: rxconst.sloadliberror msgid "Could not load '%s' library" msgstr "" @@ -37,6 +73,10 @@ msgstr "" msgid "Function not yet implemented" msgstr "" +#: rxconst.soptions +msgid "Options" +msgstr "" + #: rxconst.sprevmonth msgid "Previous Month|" msgstr "" @@ -45,10 +85,46 @@ msgstr "" msgid "Previous Year|" msgstr "" +#: rxconst.sshowcaption +msgid "Show caption" +msgstr "" + +#: rxconst.sshowhint +msgid "Show hint" +msgstr "" + #: rxconst.stocurdate msgid "Set current date" msgstr "" +#: rxconst.stoolbarstyle +msgid "Tool bar style" +msgstr "" + +#: rxconst.stoolbarstyle1 +msgid "Standart" +msgstr "" + +#: rxconst.stoolbarstyle2 +msgid "Windows XP" +msgstr "" + +#: rxconst.stoolbarstyle3 +msgid "Native" +msgstr "" + +#: rxconst.stoolpanelsetup +msgid "Tool panel setup" +msgstr "" + +#: rxconst.stransparent +msgid "Transparent" +msgstr "" + +#: rxconst.svisiblebuttons +msgid "Visible buttons" +msgstr "" + #: rxconst.swindowsicofiles msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*" msgstr "" diff --git a/components/rx/languages/rxconst.ru.po b/components/rx/languages/rxconst.ru.po new file mode 100644 index 000000000..b4c1c0994 --- /dev/null +++ b/components/rx/languages/rxconst.ru.po @@ -0,0 +1,131 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: rxconst.savaliablebuttons +msgid "Avaliable buttons" +msgstr "Доступные кнопки" + +#: rxconst.sbrowse +msgid "Browse" +msgstr "Обзор" + +#: rxconst.sbuttonalign +msgid "Button align" +msgstr "Выравнивание кнопок" + +#: rxconst.sbuttonalign1 +msgid "None" +msgstr "Нет" + +#: rxconst.sbuttonalign2 +msgid "Left" +msgstr "Влево" + +#: rxconst.sbuttonalign3 +msgid "Rignt" +msgstr "Вправо" + +#: rxconst.sdatedlgtitle +msgid "Select a Date" +msgstr "Выберите дату" + +#: rxconst.sdefaultfilter +msgid "All files (*.*)|*.*" +msgstr "Все файлы (*.*)|*.*" + +#: rxconst.sdetails +msgid "Details" +msgstr "Подробно" + +#: rxconst.sduallistcaption +msgid "Dual list dialog" +msgstr "Управление списками" + +#: rxconst.sduallistdestcaption +msgid "Destination" +msgstr "Выбор" + +#: rxconst.sduallistsrccaption +msgid "Source" +msgstr "Источник" + +#: rxconst.sfilenotexec +msgid "File specified is not an executable file, dynamic-link library, or icon file" +msgstr "Указанный файл не исполняемый, не библиотека и не иконка" + +#: rxconst.sflatbuttons +msgid "Flat buttons" +msgstr "Плавающие кнопки" + +#: rxconst.sloadliberror +msgid "Could not load '%s' library" +msgstr "Невозможно загрузить библиотеку '%s'" + +#: rxconst.snextmonth +msgid "Next Month|" +msgstr "Следующий месяц|" + +#: rxconst.snextyear +msgid "Next Year|" +msgstr "Следующий год|" + +#: rxconst.snotimplemented +msgid "Function not yet implemented" +msgstr "Функция не реализована" + +#: rxconst.soptions +msgid "Options" +msgstr "Параметры" + +#: rxconst.sprevmonth +msgid "Previous Month|" +msgstr "Превыдущий месяц|" + +#: rxconst.sprevyear +msgid "Previous Year|" +msgstr "Превыдущий год|" + +#: rxconst.sshowcaption +msgid "Show caption" +msgstr "Отображать заголовок" + +#: rxconst.sshowhint +msgid "Show hint" +msgstr "Отображать подсказки" + +#: rxconst.stocurdate +msgid "Set current date" +msgstr "Установть текущую дату" + +#: rxconst.stoolbarstyle +msgid "Tool bar style" +msgstr "Стиль панели инструментов" + +#: rxconst.stoolbarstyle1 +msgid "Standart" +msgstr "Стандартный" + +#: rxconst.stoolbarstyle2 +msgid "Windows XP" +msgstr "Windows XP" + +#: rxconst.stoolbarstyle3 +msgid "Native" +msgstr "Из текущей темы" + +#: rxconst.stoolpanelsetup +msgid "Tool panel setup" +msgstr "Настройка панели инструментов" + +#: rxconst.stransparent +msgid "Transparent" +msgstr "Прозрачно" + +#: rxconst.svisiblebuttons +msgid "Visible buttons" +msgstr "Отображаемые конпки" + +#: rxconst.swindowsicofiles +msgid "Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*" +msgstr "Файлы иконок Windows (*.ico)|*.ico|Все файлы (*.*)|*.*" + diff --git a/components/rx/languages/rxdconst.es.po b/components/rx/languages/rxdconst.es.po index 1f0617497..90f9736e4 100644 --- a/components/rx/languages/rxdconst.es.po +++ b/components/rx/languages/rxdconst.es.po @@ -14,7 +14,7 @@ msgid "calc" msgstr "" #: rxdconst.scapturefilter -msgid "Элементы уп#209авления захвачены фильт#209ом" +msgid "Control locked by filter" msgstr "" #: rxdconst.schangepassword @@ -62,7 +62,7 @@ msgid "Error message" msgstr "" #: rxdconst.sexprbadcompare -msgid "Опе#209ации с#209авнения т#209ебуют наличия поля и константы" +msgid "Compare opertion need fielad and const" msgstr "" #: rxdconst.sexprbadfield @@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'" msgstr "" #: rxdconst.sexprexpected -msgid "Ожидалось вы#209ажение, а вст#209ечено %s" +msgid "Error %s" msgstr "" #: rxdconst.sexprincorrect @@ -90,7 +90,7 @@ msgid "Error in filed name" msgstr "" #: rxdconst.sexprnorparen -msgid "Ожидалось ')', а вст#209ечено: %s" +msgid "Error ')', error: %s" msgstr "" #: rxdconst.sexprnotboolean @@ -142,7 +142,7 @@ msgid "User name or password not valid" msgstr "" #: rxdconst.slocaldatabase -msgid "Невозможно п#209оизвести эту опе#209ацию с локальной базой данных" +msgid "Unable complete this operation on local dataset" msgstr "" #: rxdconst.smemnorecords @@ -166,7 +166,7 @@ msgid "&Next" msgstr "" #: rxdconst.snotcapturefilter -msgid "Элементы уп#209авления должны быть захвачены фильт#209ом" +msgid "Control need locked by filter" msgstr "" #: rxdconst.snotediting @@ -206,11 +206,19 @@ msgid "Register" msgstr "" #: rxdconst.sretrylogin -msgid "Вы хотите повто#209ить попытку соединения с базой данных?" +msgid "Retry to connect with database?" msgstr "" #: rxdconst.srxascendign -msgid "Ascendente" +msgid "Ascendign" +msgstr "" + +#: rxdconst.srxborrowstructure +msgid "Borrow structure..." +msgstr "" + +#: rxdconst.srxcopyonlymetadata +msgid "Copy only metadata" msgstr "" #: rxdconst.srxdbgridemptifilter @@ -293,7 +301,7 @@ msgid "Sort data for collumns" msgstr "Ordenar por Columna" #: rxdconst.srxdescending -msgid "Descendente" +msgid "Descending" msgstr "" #: rxdconst.srxfilterformapply @@ -337,6 +345,10 @@ msgstr "Operando :" msgid "Enter filter expression for data in table:" msgstr "Seleccionar todos los registros que cumplan las siguientes condiciónes :" +#: rxdconst.srxselectdatasetstruct +msgid "Select dataset to copy to" +msgstr "" + #: rxdconst.srxsortbyformaddfield msgid "&Add field" msgstr "&Adicionar" @@ -369,6 +381,10 @@ msgstr "&Campos Disponibles :" msgid "Select field for sort data:" msgstr "Seleccionar Dirección de Ordenamiento :" +#: rxdconst.srxsoursedataset +msgid "Sourse dataset" +msgstr "" + #: rxdconst.sservererrorlabel msgid "Server error" msgstr "" diff --git a/components/rx/languages/rxdconst.po b/components/rx/languages/rxdconst.po index 85eb41891..ea0dd216b 100644 --- a/components/rx/languages/rxdconst.po +++ b/components/rx/languages/rxdconst.po @@ -14,7 +14,7 @@ msgid "calc" msgstr "" #: rxdconst.scapturefilter -msgid "Элементы уп#209авления захвачены фильт#209ом" +msgid "Control locked by filter" msgstr "" #: rxdconst.schangepassword @@ -62,7 +62,7 @@ msgid "Error message" msgstr "" #: rxdconst.sexprbadcompare -msgid "Опе#209ации с#209авнения т#209ебуют наличия поля и константы" +msgid "Compare opertion need fielad and const" msgstr "" #: rxdconst.sexprbadfield @@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'" msgstr "" #: rxdconst.sexprexpected -msgid "Ожидалось вы#209ажение, а вст#209ечено %s" +msgid "Error %s" msgstr "" #: rxdconst.sexprincorrect @@ -90,7 +90,7 @@ msgid "Error in filed name" msgstr "" #: rxdconst.sexprnorparen -msgid "Ожидалось ')', а вст#209ечено: %s" +msgid "Error ')', error: %s" msgstr "" #: rxdconst.sexprnotboolean @@ -142,7 +142,7 @@ msgid "User name or password not valid" msgstr "" #: rxdconst.slocaldatabase -msgid "Невозможно п#209оизвести эту опе#209ацию с локальной базой данных" +msgid "Unable complete this operation on local dataset" msgstr "" #: rxdconst.smemnorecords @@ -166,7 +166,7 @@ msgid "&Next" msgstr "" #: rxdconst.snotcapturefilter -msgid "Элементы уп#209авления должны быть захвачены фильт#209ом" +msgid "Control need locked by filter" msgstr "" #: rxdconst.snotediting @@ -206,11 +206,19 @@ msgid "Register" msgstr "" #: rxdconst.sretrylogin -msgid "Вы хотите повто#209ить попытку соединения с базой данных?" +msgid "Retry to connect with database?" msgstr "" #: rxdconst.srxascendign -msgid "Ascendente" +msgid "Ascendign" +msgstr "" + +#: rxdconst.srxborrowstructure +msgid "Borrow structure..." +msgstr "" + +#: rxdconst.srxcopyonlymetadata +msgid "Copy only metadata" msgstr "" #: rxdconst.srxdbgridemptifilter @@ -293,7 +301,7 @@ msgid "Sort data for collumns" msgstr "" #: rxdconst.srxdescending -msgid "Descendente" +msgid "Descending" msgstr "" #: rxdconst.srxfilterformapply @@ -337,6 +345,10 @@ msgstr "" msgid "Enter filter expression for data in table:" msgstr "" +#: rxdconst.srxselectdatasetstruct +msgid "Select dataset to copy to" +msgstr "" + #: rxdconst.srxsortbyformaddfield msgid "&Add field" msgstr "" @@ -369,6 +381,10 @@ msgstr "" msgid "Select field for sort data:" msgstr "" +#: rxdconst.srxsoursedataset +msgid "Sourse dataset" +msgstr "" + #: rxdconst.sservererrorlabel msgid "Server error" msgstr "" diff --git a/components/rx/languages/rxdconst.ru.po b/components/rx/languages/rxdconst.ru.po index a67dea921..6a2f6120e 100644 --- a/components/rx/languages/rxdconst.ru.po +++ b/components/rx/languages/rxdconst.ru.po @@ -14,7 +14,7 @@ msgid "calc" msgstr "вычисление" #: rxdconst.scapturefilter -msgid "Элементы уп#209авления захвачены фильт#209ом" +msgid "Control locked by filter" msgstr "Элементы управления захвачены фильтром" #: rxdconst.schangepassword @@ -62,7 +62,7 @@ msgid "Error message" msgstr "Сообщение об ошибке" #: rxdconst.sexprbadcompare -msgid "Опе#209ации с#209авнения т#209ебуют наличия поля и константы" +msgid "Compare opertion need fielad and const" msgstr "Операции сравнения требуют наличия поля и константы" #: rxdconst.sexprbadfield @@ -74,7 +74,7 @@ msgid "NULL-values enabled in '=' и '<>'" msgstr "NULL-значения разрешены только в выражениях '=' и '<>'" #: rxdconst.sexprexpected -msgid "Ожидалось вы#209ажение, а вст#209ечено %s" +msgid "Error %s" msgstr "Ожидалось выражение, а встречено %s" #: rxdconst.sexprincorrect @@ -87,10 +87,10 @@ msgstr "Ошибочный символ в выражении: '%s'" #: rxdconst.sexprnameerror msgid "Error in filed name" -msgstr "" +msgstr "Ошибка в имени поля" #: rxdconst.sexprnorparen -msgid "Ожидалось ')', а вст#209ечено: %s" +msgid "Error ')', error: %s" msgstr "Ожидалось ')', а встречено: %s" #: rxdconst.sexprnotboolean @@ -142,7 +142,7 @@ msgid "User name or password not valid" msgstr "Ошибка в имени пользователя или пароле" #: rxdconst.slocaldatabase -msgid "Невозможно п#209оизвести эту опе#209ацию с локальной базой данных" +msgid "Unable complete this operation on local dataset" msgstr "Невозможно произвести эту операцию с локальной базой данных" #: rxdconst.smemnorecords @@ -166,7 +166,7 @@ msgid "&Next" msgstr "&Дальше" #: rxdconst.snotcapturefilter -msgid "Элементы уп#209авления должны быть захвачены фильт#209ом" +msgid "Control need locked by filter" msgstr "Элементы управления должны быть захвачены фильтром" #: rxdconst.snotediting @@ -206,12 +206,20 @@ msgid "Register" msgstr "Регистрация" #: rxdconst.sretrylogin -msgid "Вы хотите повто#209ить попытку соединения с базой данных?" +msgid "Retry to connect with database?" msgstr "Вы хотите повторить попытку соединения с базой данных?" #: rxdconst.srxascendign -msgid "Ascendente" -msgstr "" +msgid "Ascendign" +msgstr "По возрастанию" + +#: rxdconst.srxborrowstructure +msgid "Borrow structure..." +msgstr "Обзор структуры..." + +#: rxdconst.srxcopyonlymetadata +msgid "Copy only metadata" +msgstr "Копировать только метаданные..." #: rxdconst.srxdbgridemptifilter msgid "(Empty)" @@ -242,7 +250,7 @@ msgstr "Поиск данных" #: rxdconst.srxdbgridfindcasesens msgid "Case sensetive" -msgstr "" +msgstr "Регистро-зависимо" #: rxdconst.srxdbgridfinddirecion msgid "Direction" @@ -293,8 +301,8 @@ msgid "Sort data for collumns" msgstr "Сортировать данные по колонкам" #: rxdconst.srxdescending -msgid "Descendente" -msgstr "" +msgid "Descending" +msgstr "По убыванию" #: rxdconst.srxfilterformapply msgid "Apply" @@ -337,6 +345,10 @@ msgstr "Операнд :" msgid "Enter filter expression for data in table:" msgstr "Введите выражение фильтрации данных в таблице:" +#: rxdconst.srxselectdatasetstruct +msgid "Select dataset to copy to" +msgstr "Выберите таблицу для копирования" + #: rxdconst.srxsortbyformaddfield msgid "&Add field" msgstr "&Добавить поле" @@ -369,6 +381,10 @@ msgstr "&Выбранные поля" msgid "Select field for sort data:" msgstr "Укажите поля для сортировки данных :" +#: rxdconst.srxsoursedataset +msgid "Sourse dataset" +msgstr "Исходная таблица" + #: rxdconst.sservererrorlabel msgid "Server error" msgstr "Ошибка сервера" diff --git a/components/rx/rxconst.pas b/components/rx/rxconst.pas index 326a68757..335e37f72 100644 --- a/components/rx/rxconst.pas +++ b/components/rx/rxconst.pas @@ -38,9 +38,44 @@ const PaletteMask = $02000000; resourcestring -//const - {$I rxstrconsts.inc} - + sBrowse = 'Browse'; + sDefaultFilter = 'All files (*.*)|*.*'; + sDateDlgTitle = 'Select a Date'; + sNextYear = 'Next Year|'; + sNextMonth = 'Next Month|'; + sPrevYear = 'Previous Year|'; + sPrevMonth = 'Previous Month|'; + sNotImplemented = 'Function not yet implemented'; + sFileNotExec = 'File specified is not an executable file, dynamic-link library, or icon file'; + sLoadLibError = 'Could not load ''%s'' library'; + sDetails = 'Details'; + sWindowsIcoFiles = 'Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*'; + sToCurDate = 'Set current date'; + + //TDualListDialog + SDualListSrcCaption = 'Source'; + SDualListDestCaption = 'Destination'; + SDualListCaption = 'Dual list dialog'; + + //TToolPanelSetupForm + sToolPanelSetup = 'Tool panel setup'; + sVisibleButtons = 'Visible buttons'; + sOptions = 'Options'; + sAvaliableButtons = 'Avaliable buttons'; + sShowCaption = 'Show caption'; + sToolBarStyle = 'Tool bar style'; + sToolBarStyle1 = 'Standart'; + sToolBarStyle2 = 'Windows XP'; + sToolBarStyle3 = 'Native'; + sFlatButtons = 'Flat buttons'; + sTransparent = 'Transparent'; + sShowHint = 'Show hint'; + sButtonAlign = 'Button align'; + sButtonAlign1 = 'None'; + sButtonAlign2 = 'Left'; + sButtonAlign3 = 'Rignt'; + + implementation uses Forms; diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas index 11ef8599e..0cc53e865 100644 --- a/components/rx/rxdbgrid.pas +++ b/components/rx/rxdbgrid.pas @@ -43,7 +43,8 @@ type rdgMrOkOnDblClik, rdgAllowQuickSearch, rdgAllowFilterForm, - rdgAllowSortForm + rdgAllowSortForm, + rdgAllowToolMenu ); TOptionsRx = set of TOptionRx; @@ -249,10 +250,10 @@ type FSwapButtons: Boolean; FTracking: Boolean; - F_TopRect : TRect; F_Clicked : Boolean; F_PopupMenu : TPopupMenu; F_MenuBMP : TBitmap; + F_EventOnFilterRec : TFilterRecordEvent; F_EventOnBeforeDelete: TDataSetNotifyEvent; F_EventOnBeforePost : TDataSetNotifyEvent; @@ -260,7 +261,7 @@ type F_EventOnPostError : TDataSetErrorEvent; F_LastFilter : TStringList; F_SortListField : TStringList; - F_CreateLookup : TCreateLookup; + F_CreateLookup : TCreateLookup; F_DisplayLookup : TDisplayLookup; //storage @@ -279,6 +280,7 @@ type FBeforeQuickSearch : TRxQuickSearchNotifyEvent; FQuickUTF8Search : String; + procedure DoCreateJMenu; function GetColumns: TRxDbGridColumns; function GetPropertyStorage: TCustomPropertyStorage; function GetTitleButtons: boolean; @@ -306,7 +308,6 @@ type procedure OnIniSave(Sender: TObject); procedure OnIniLoad(Sender: TObject); protected -// procedure CreateWnd; override; function DatalinkActive:boolean; procedure DefaultDrawCellA(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState); procedure DefaultDrawTitle(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState); @@ -868,6 +869,32 @@ begin result := TRxDbGridColumns(TCustomDrawGrid(Self).Columns); end; +procedure TRxDBGrid.DoCreateJMenu; + +procedure CreateMenuItem(ShortCut:Char; const ACaption:string; MenuAction:TNotifyEvent); +var + R:TMenuItem; +begin + R:=TMenuItem.Create(F_PopupMenu); + F_PopupMenu.Items.Add(R); + R.Caption := ACaption; + if ShortCut<>#0 then + R.ShortCut:=KeyToShortCut(ord(ShortCut), [ssCtrl]); + R.OnClick :=MenuAction; +end; + +begin + F_PopupMenu := TPopupMenu.Create(Self); + F_PopupMenu.Name := 'OptionsMenu'; + CreateMenuItem('F', sRxDBGridFind, @OnFind); + CreateMenuItem('T', sRxDBGridFilter, @OnFilterBy); + CreateMenuItem('E', sRxDBGridFilterSimple, @OnFilter); + CreateMenuItem('Q', sRxDBGridFilterClear, @OnFilterClose); + CreateMenuItem(#0, '-', nil); + CreateMenuItem('C', sRxDBGridSortByColumns, @OnSortBy); + CreateMenuItem('W', sRxDBGridSelectColumns, @OnChooseVisibleFields); +end; + function TRxDBGrid.GetPropertyStorage: TCustomPropertyStorage; begin Result:=FPropertyStorageLink.Storage; @@ -1232,17 +1259,6 @@ begin end; end; -{procedure TRxDBGrid.CreateWnd; -begin - BeginUpdate; - try - inherited CreateWnd; - CalcTitle; - finally - EndUpdate; - end; -end; } - procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState); begin @@ -1274,7 +1290,11 @@ begin if (dgIndicator in Options) and (aCol=0) then begin Canvas.FillRect(aRect); + if F_Clicked then + aState:= aState + [gdPushed]; DrawCellGrid(aCol,aRow, aRect, aState); + if DatalinkActive and (rdgAllowToolMenu in FOptionsRx) then + Canvas.Draw((ARect.Left+ARect.Right-F_MenuBMP.Width) div 2,(ARect.Top + ARect.Bottom - F_MenuBMP.Height) div 2, F_MenuBMP); exit; end; @@ -1503,13 +1523,13 @@ begin if (gdFixed in aState) and (aRow=0) then begin DefaultDrawCellA(aCol, aRow, aRect, aState); - if (ARect.Top<=0) and (aCol=0) and (aRow=0) and (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) then +{ if (ARect.Top<=0) and (aCol=0) and (aRow=0) and (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) then begin - F_TopRect := ARect; +// F_TopRect := ARect; Canvas.Lock; Canvas.Draw((ARect.Left+ARect.Right-F_MenuBMP.Width) div 2,(ARect.Top + ARect.Bottom - F_MenuBMP.Height) div 2, F_MenuBMP); Canvas.UnLock; - end; + end;} end else if not ((gdFixed in aState) or (aCol=0) or (aRow=0)) then @@ -1599,17 +1619,20 @@ begin end else begin - DataSource.DataSet.OnFilterRecord:=F_EventOnFilterRec; - F_EventOnFilterRec:=nil; - DataSource.DataSet.BeforeDelete:=F_EventOnBeforeDelete; - F_EventOnBeforeDelete:=nil; - DataSource.DataSet.BeforePost:=F_EventOnBeforePost; - F_EventOnBeforePost:=nil; - DataSource.DataSet.OnDeleteError:=F_EventOnDeleteError; - F_EventOnDeleteError:=nil; - DataSource.DataSet.OnPostError:=F_EventOnPostError; - F_EventOnPostError:=nil; - OptionsRx:=OptionsRx - [rdgFilter]; + if Assigned(DataSource) and Assigned(DataSource.DataSet) then + begin + DataSource.DataSet.OnFilterRecord:=F_EventOnFilterRec; + F_EventOnFilterRec:=nil; + DataSource.DataSet.BeforeDelete:=F_EventOnBeforeDelete; + F_EventOnBeforeDelete:=nil; + DataSource.DataSet.BeforePost:=F_EventOnBeforePost; + F_EventOnBeforePost:=nil; + DataSource.DataSet.OnDeleteError:=F_EventOnDeleteError; + F_EventOnDeleteError:=nil; + DataSource.DataSet.OnPostError:=F_EventOnPostError; + F_EventOnPostError:=nil; + OptionsRx:=OptionsRx - [rdgFilter]; + end; F_LastFilter.Clear; end; end; @@ -1722,28 +1745,16 @@ procedure TRxDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, var Cell: TGridCoord; Rect : TRect; -// X1,X2,Y1,Y2 : integer; -// msg: TGridMessage; -// pow : TForm; -// curCol,curRow : integer; -// dump : integer; begin Cell := MouseCoord(X, Y); - if (DatalinkActive) And (DataSource.DataSet.State = dsBrowse) And (Button = mbLeft) And (Cell.X =0 ) And (Cell.Y = 0) And (dgIndicator in Options) then + if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) + and (Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) and + (dgIndicator in Options) and (rdgAllowToolMenu in FOptionsRx) then begin F_Clicked := True; - Rect := F_TopRect; - Canvas.Brush.Color := FixedColor; - Canvas.FillRect(Rect); - if (dgColLines in Options) Then - begin - InflateRect(Rect, 1, 1); - DrawEdge(Canvas.Handle, Rect, BDR_RAISEDINNER, BF_FLAT); - DrawEdge(Canvas.Handle, Rect, BDR_RAISEDINNER, BF_FLAT); - end; - Canvas.Draw(((Rect.Left+Rect.Right-F_MenuBMP.Width) div 2)+1,((Rect.Top + Rect.Bottom - F_MenuBMP.Height) div 2)+1, F_MenuBMP); - end; - + InvalidateCell(0, 0); + end + else if (Cell.Y=0) and (Cell.X >= ord(dgIndicator in Options)) then begin if (rdgFilter in OptionsRx) and DatalinkActive then @@ -1762,7 +1773,7 @@ begin Height := Rect.Bottom - Rect.Top; BoundsRect := Rect; Style := csDropDownList; -// DropDownCount := TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.DropDownRows; + DropDownCount := TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.DropDownRows; Text:=TRxColumn(Columns[Columns.RealIndex(Cell.x-1)]).Filter.Value; Show(Self,Cell.x-1); end; @@ -1841,7 +1852,7 @@ var MPT : TPoint; Rct : TRect; begin - ShowMenu := False; + ShowMenu := false; FColumnResizing := false; @@ -1868,38 +1879,39 @@ begin end; end else - if FSwapButtons then begin + if FSwapButtons then + begin FSwapButtons := False; MouseCapture := False; - if Button = mbRight then Button := mbLeft; + if Button = mbRight then + Button := mbLeft; end; - if (DatalinkActive) And (DataSource.DataSet.State = dsBrowse) then + if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and + (rdgAllowToolMenu in FOptionsRx) then begin Cell := MouseCoord(X,Y); - if ((Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) And (dgIndicator in Options)) Or (F_Clicked) then + if ((Button = mbLeft) and (Cell.X =0 ) and (Cell.Y = 0) and (dgIndicator in Options)) or (F_Clicked) then begin - Rct := F_TopRect; - Canvas.Brush.Color := FixedColor; - Canvas.FillRect(Rct); - if (dgColLines in Options) Then - begin - DrawEdge(Canvas.Handle, Rct, BDR_RAISEDINNER, BF_BOTTOMRIGHT); - DrawEdge(Canvas.Handle, Rct, BDR_RAISEDINNER, BF_TOPLEFT); - end; F_Clicked := False; + InvalidateCell(0, 0); ShowMenu := True; Button:=mbRight; end; end; + inherited MouseUp(Button, Shift, X, Y); if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and (ShowMenu) then begin - MPT.X := F_TopRect.Left; - MPT.Y := F_TopRect.Bottom; + Rct:=CellRect(0, 0); + MPT.X := Rct.Left; + if rdgFilter in FOptionsRx then + MPT.Y := Rct.Bottom - DefaultRowHeight + else + MPT.Y := Rct.Bottom; MPT := ClientToScreen(MPT); - DrawCell(0,0,F_TopRect,[gdFixed]); +// DrawCell(0,0,F_TopRect,[gdFixed]); UpdateJMenuStates; F_PopupMenu.Popup(MPT.X,MPT.Y); end; @@ -2523,7 +2535,6 @@ begin FSortEngine.SortList(s, DataSource.DataSet, o); end; FreeAndNil(rxSortByForm); -// Paint; Invalidate; end; end; @@ -2565,41 +2576,7 @@ begin F_MenuBMP := TBitmap.Create; F_MenuBMP := LoadLazResBitmapImage('menu_grid'); - F_PopupMenu := TPopupMenu.Create(Self); - F_PopupMenu.Name := 'OptionsMenu'; - - F_PopupMenu.Items.Insert(0,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[0].Caption :=sRxDBGridFind; - F_PopupMenu.Items[0].ShortCut:=KeyToShortCut(ord('F'), [ssCtrl]); - F_PopupMenu.Items[0].OnClick :=@OnFind; - - F_PopupMenu.Items.Insert(1,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[1].Caption :=sRxDBGridFilter; - F_PopupMenu.Items[1].ShortCut:=KeyToShortCut(ord('T'), [ssCtrl]); - F_PopupMenu.Items[1].OnClick := @OnFilterBy; - - F_PopupMenu.Items.Insert(2,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[2].Caption :=sRxDBGridFilterSimple; - F_PopupMenu.Items[2].ShortCut:=KeyToShortCut(ord('E'), [ssCtrl]); - F_PopupMenu.Items[2].OnClick := @OnFilter; - - F_PopupMenu.Items.Insert(3,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[3].Caption :=sRxDBGridFilterClear; - F_PopupMenu.Items[3].ShortCut:=KeyToShortCut(ord('Q'), [ssCtrl]); - F_PopupMenu.Items[3].OnClick := @OnFilterClose; - - F_PopupMenu.Items.Insert(4,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[4].Caption :='-'; - - F_PopupMenu.Items.Insert(5,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[5].Caption :=sRxDBGridSortByColumns; - F_PopupMenu.Items[5].ShortCut:=KeyToShortCut(ord('C'), [ssCtrl]); - F_PopupMenu.Items[5].OnClick := @OnSortBy; - - F_PopupMenu.Items.Insert(6,TMenuItem.Create(F_PopupMenu)); - F_PopupMenu.Items[6].Caption :=sRxDBGridSelectColumns; - F_PopupMenu.Items[6].ShortCut:=KeyToShortCut(ord('W'), [ssCtrl]); - F_PopupMenu.Items[6].OnClick := @OnChooseVisibleFields; + DoCreateJMenu; F_LastFilter := TStringList.Create; F_SortListField := TStringList.Create; diff --git a/components/rx/rxdconst.pas b/components/rx/rxdconst.pas index ddd13dd86..6bbc67dfe 100644 --- a/components/rx/rxdconst.pas +++ b/components/rx/rxdconst.pas @@ -16,13 +16,13 @@ resourcestring { RxDBCtrl } - SLocalDatabase = 'Невозможно произвести эту операцию с локальной базой данных'; - SRetryLogin = 'Вы хотите повторить попытку соединения с базой данных?'; + SLocalDatabase = 'Unable complete this operation on local dataset'; + SRetryLogin = 'Retry to connect with database?'; SExprNotBoolean = 'Field ''%s'' is not boolean'; SExprBadNullTest = 'NULL-values enabled in ''='' и ''<>'''; SExprBadField = 'Field ''%s'' not used in filter expression'; - SCaptureFilter = 'Элементы управления захвачены фильтром'; - SNotCaptureFilter = 'Элементы управления должны быть захвачены фильтром'; + SCaptureFilter = 'Control locked by filter'; + SNotCaptureFilter = 'Control need locked by filter'; SInactiveData = 'inactive'; SBrowseData = 'browse'; SEditData = 'editing'; @@ -54,9 +54,9 @@ resourcestring SExprNameError = 'Error in filed name'; SExprStringError = 'Error in string const'; SExprInvalidChar = 'Error symbol in expression: ''%s'''; - SExprNoRParen = 'Ожидалось '')'', а встречено: %s'; - SExprExpected = 'Ожидалось выражение, а встречено %s'; - SExprBadCompare = 'Операции сравнения требуют наличия поля и константы'; + SExprNoRParen = 'Error '')'', error: %s'; + SExprExpected = 'Error %s'; + SExprBadCompare = 'Compare opertion need fielad and const'; SConfirmSave = 'Data changed. Save?'; SDatabaseName = 'Database loocked: %s'; SUnlockCaption = 'Unloock'; @@ -66,8 +66,8 @@ resourcestring SPropDefByLookup = 'PropDefByLookup'; SDataSourceFixed = 'SDataSourceFixed'; SCircularDataLink = 'SCircularDataLink'; - sRxAscendign = 'Ascendente';//'Ascendente'); - sRxDescending = 'Descendente';//'Descendente'); + sRxAscendign = 'Ascendign'; + sRxDescending = 'Descending'; SDeleteRecordQuestion = 'Delete record?'; @@ -129,6 +129,12 @@ resourcestring sRxDbGridSelColHint1 = 'Move selected column up'; sRxDbGridSelColHint2 = 'Move selected column down'; + //seldsfrm + sRxBorrowStructure = 'Borrow structure...'; + sRxSelectDatasetStruct = 'Select dataset to copy to'; + sRxCopyOnlyMetadata = 'Copy only metadata'; + sRxSourseDataset = 'Sourse dataset'; + const { The following strings should not be localized } sAction = '.Action'; diff --git a/components/rx/rxnew.lpk b/components/rx/rxnew.lpk index 08fe652f6..7e5c5e3c2 100644 --- a/components/rx/rxnew.lpk +++ b/components/rx/rxnew.lpk @@ -189,61 +189,61 @@ translate to Lazarus by alexs in 2005 - 2009 - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + diff --git a/components/rx/rxnew.pas b/components/rx/rxnew.pas index f3d581174..733377238 100644 --- a/components/rx/rxnew.pas +++ b/components/rx/rxnew.pas @@ -16,7 +16,7 @@ uses rxdbgrid_findunit, rxdbgrid_columsunit, rxpopupunit, rxcustomchartpanel, rxsortmemds, AutoPanel, pickdate, rxiconv, rxceEditLookupFields, rxclock, rxspin, RxDBSpinEdit, RegisterRxDB, RxTimeEdit, RxDBTimeEdit, RxDBCtrls, - rxfilterby, LazarusPackageIntf; + rxfilterby, rxconst, LazarusPackageIntf; implementation diff --git a/components/rx/rxsortmemds.pas b/components/rx/rxsortmemds.pas index 68eede57e..71311f040 100644 --- a/components/rx/rxsortmemds.pas +++ b/components/rx/rxsortmemds.pas @@ -38,9 +38,13 @@ uses Classes, SysUtils, DB, RxDBGrid; type + + { TRxMemoryDataSortEngine } + TRxMemoryDataSortEngine = class(TExDBGridSortEngine) public procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override; + procedure SortList(ListField:string; ADataSet:TDataSet; Asc:boolean);override; end; implementation @@ -49,7 +53,14 @@ uses rxmemds; procedure TRxMemoryDataSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean); begin if Assigned(ADataSet) then - (ADataSet as TRxMemoryData).SortOnFields(Field.FieldName, true, Asc); + (ADataSet as TRxMemoryData).SortOnFields(Field.FieldName, true, not Asc); +end; + +procedure TRxMemoryDataSortEngine.SortList(ListField: string; + ADataSet: TDataSet; Asc: boolean); +begin + if Assigned(ADataSet) then + (ADataSet as TRxMemoryData).SortOnFields(ListField, true, not Asc); end; initialization diff --git a/components/rx/rxstrconsts.inc b/components/rx/rxstrconsts.inc deleted file mode 100644 index 93f6d9ce3..000000000 --- a/components/rx/rxstrconsts.inc +++ /dev/null @@ -1,27 +0,0 @@ -{ -/**************************************************************************** - -rxcconst.res - -Delphi VCL Extensions (RX) -Copyright (c) 1995 AO ROSNO -Copyright (c) 1997 Master-Bank - -*****************************************************************************/ -} - sBrowse = 'Browse'; - sDefaultFilter = 'All files (*.*)|*.*'; - sDateDlgTitle = 'Select a Date'; - sNextYear = 'Next Year|'; - sNextMonth = 'Next Month|'; - sPrevYear = 'Previous Year|'; - sPrevMonth = 'Previous Month|'; - sNotImplemented = 'Function not yet implemented'; - sFileNotExec = 'File specified is not an executable file, dynamic-link library, or icon file'; - sLoadLibError = 'Could not load ''%s'' library'; - sDetails = 'Details'; - sWindowsIcoFiles = 'Windows Ico files (*.ico)|*.ico|All files (*.*)|*.*'; - sToCurDate = 'Set current date'; - - - diff --git a/components/rx/rxtbrsetup.lfm b/components/rx/rxtbrsetup.lfm index ac32c6a5f..20e1ed4d3 100644 --- a/components/rx/rxtbrsetup.lfm +++ b/components/rx/rxtbrsetup.lfm @@ -1,38 +1,40 @@ object ToolPanelSetupForm: TToolPanelSetupForm - Left = 357 - Height = 422 - Top = 180 - Width = 554 + Left = 383 + Height = 487 + Top = 176 + Width = 659 ActiveControl = PageControl1 Caption = 'Tool panel setup' - ClientHeight = 422 - ClientWidth = 554 + ClientHeight = 487 + ClientWidth = 659 FormStyle = fsStayOnTop OnClose = FormClose + OnCreate = FormCreate OnDestroy = FormDestroy OnResize = FormResize + Position = poScreenCenter LCLVersion = '0.9.27' object PageControl1: TPageControl Left = 0 - Height = 364 + Height = 433 Top = 0 - Width = 554 + Width = 659 ActivePage = TabSheet2 Align = alClient TabIndex = 1 TabOrder = 0 object TabSheet1: TTabSheet Caption = 'Visible buttons' - ClientHeight = 329 - ClientWidth = 548 + ClientHeight = 402 + ClientWidth = 655 object Label1: TLabel AnchorSideLeft.Control = BitBtn3 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = TabSheet1 - Left = 282 + Left = 355 Height = 18 Top = 6 - Width = 110 + Width = 117 BorderSpacing.Around = 6 Caption = 'Avaliable buttons' FocusControl = ListBtnAvaliable @@ -43,7 +45,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm Left = 8 Height = 18 Top = 6 - Width = 95 + Width = 103 BorderSpacing.Around = 6 Caption = 'Visible buttons' FocusControl = ListBtnVisible @@ -55,10 +57,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideTop.Side = asrBottom AnchorSideRight.Control = BitBtn6 AnchorSideRight.Side = asrBottom - Left = 235 + Left = 306 Height = 30 Top = 152 - Width = 41 + Width = 43 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 2 @@ -73,10 +75,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideTop.Side = asrBottom AnchorSideRight.Control = BitBtn6 AnchorSideRight.Side = asrBottom - Left = 235 + Left = 306 Height = 33 Top = 113 - Width = 41 + Width = 43 Anchors = [akTop, akLeft, akRight] AutoSize = True BorderSpacing.Top = 6 @@ -92,10 +94,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideTop.Side = asrBottom AnchorSideRight.Control = BitBtn6 AnchorSideRight.Side = asrBottom - Left = 235 + Left = 306 Height = 38 Top = 69 - Width = 41 + Width = 43 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BorderSpacing.InnerBorder = 2 @@ -105,13 +107,13 @@ object ToolPanelSetupForm: TToolPanelSetupForm TabOrder = 2 end object BitBtn6: TBitBtn - AnchorSideLeft.Control = ListBtnVisible - AnchorSideLeft.Side = asrBottom + AnchorSideLeft.Control = TabSheet1 + AnchorSideLeft.Side = asrCenter AnchorSideTop.Control = ListBtnAvaliable - Left = 235 + Left = 306 Height = 33 Top = 30 - Width = 41 + Width = 43 AutoSize = True BorderSpacing.InnerBorder = 2 Caption = '>>' @@ -127,10 +129,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideRight.Control = TabSheet1 AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = cbShowCaption - Left = 282 - Height = 197 + Left = 355 + Height = 271 Top = 30 - Width = 861 + Width = 294 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 Items.Strings = ( @@ -147,18 +149,18 @@ object ToolPanelSetupForm: TToolPanelSetupForm OnDrawItem = ListBox1DrawItem Style = lbOwnerDrawFixed TabOrder = 4 - TopIndex = -1 end object ListBtnVisible: TListBox AnchorSideLeft.Control = Label2 AnchorSideTop.Control = Label2 AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = BitBtn6 AnchorSideBottom.Control = cbShowCaption Left = 14 - Height = 197 + Height = 271 Top = 30 - Width = 215 - Anchors = [akTop, akLeft, akBottom] + Width = 286 + Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 ItemHeight = 0 OnClick = ListBtnAvaliableClick @@ -172,8 +174,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideBottom.Side = asrBottom Left = 3 Height = 62 - Top = 261 - Width = 536 + Top = 334 + Width = 643 Alignment = taLeftJustify Anchors = [akLeft, akRight, akBottom] BorderSpacing.Around = 6 @@ -185,9 +187,9 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideLeft.Control = TabSheet1 AnchorSideBottom.Control = Panel1 Left = 6 - Height = 22 - Top = 233 - Width = 109 + Height = 21 + Top = 307 + Width = 116 Anchors = [akLeft, akBottom] BorderSpacing.Around = 6 Caption = 'Show caption' @@ -197,16 +199,16 @@ object ToolPanelSetupForm: TToolPanelSetupForm end object TabSheet2: TTabSheet Caption = 'Options' - ClientHeight = 329 - ClientWidth = 548 + ClientHeight = 402 + ClientWidth = 655 object cbShowHint: TCheckBox AnchorSideLeft.Control = TabSheet2 AnchorSideTop.Control = cbTransp AnchorSideTop.Side = asrBottom Left = 6 - Height = 22 - Top = 165 - Width = 86 + Height = 21 + Top = 163 + Width = 91 BorderSpacing.Around = 6 Caption = 'Show hint' TabOrder = 0 @@ -216,9 +218,9 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideTop.Control = cbFlatBtn AnchorSideTop.Side = asrBottom Left = 6 - Height = 22 - Top = 137 - Width = 99 + Height = 21 + Top = 136 + Width = 105 BorderSpacing.Around = 6 Caption = 'Transparent' TabOrder = 1 @@ -228,23 +230,24 @@ object ToolPanelSetupForm: TToolPanelSetupForm AnchorSideTop.Control = RadioGroup1 AnchorSideTop.Side = asrBottom Left = 6 - Height = 22 + Height = 21 Top = 109 - Width = 100 + Width = 105 BorderSpacing.Around = 6 Caption = 'Flat buttons' TabOrder = 2 end object RadioGroup1: TRadioGroup - AnchorSideLeft.Control = RadioGroup2 + AnchorSideLeft.Control = Panel2 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = TabSheet2 AnchorSideRight.Control = TabSheet2 AnchorSideRight.Side = asrBottom - Left = 126 + Left = 335 Height = 97 Top = 6 - Width = 175 + Width = 314 + Anchors = [akTop, akLeft, akRight] AutoFill = False BorderSpacing.Around = 6 Caption = 'Button align' @@ -255,7 +258,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 ClientHeight = 78 - ClientWidth = 171 + ClientWidth = 310 Items.Strings = ( 'None' 'Left' @@ -267,12 +270,12 @@ object ToolPanelSetupForm: TToolPanelSetupForm object RadioGroup2: TRadioGroup AnchorSideLeft.Control = TabSheet2 AnchorSideTop.Control = TabSheet2 - AnchorSideRight.Control = TabSheet2 - AnchorSideRight.Side = asrBottom + AnchorSideRight.Control = Panel2 Left = 6 - Height = 97 + Height = 94 Top = 6 - Width = 114 + Width = 314 + Anchors = [akTop, akLeft, akRight] AutoFill = True AutoSize = True BorderSpacing.Around = 6 @@ -285,8 +288,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 78 - ClientWidth = 110 + ClientHeight = 75 + ClientWidth = 310 Items.Strings = ( 'Standart' 'Windows XP' @@ -295,13 +298,27 @@ object ToolPanelSetupForm: TToolPanelSetupForm TabOrder = 4 TabStop = True end + object Panel2: TPanel + AnchorSideLeft.Control = TabSheet2 + AnchorSideLeft.Side = asrCenter + AnchorSideTop.Control = TabSheet2 + AnchorSideBottom.Control = TabSheet2 + AnchorSideBottom.Side = asrBottom + Left = 326 + Height = 390 + Top = 6 + Width = 3 + Anchors = [akTop, akLeft, akBottom] + BorderSpacing.Around = 6 + TabOrder = 5 + end end end object ButtonPanel1: TButtonPanel Left = 6 - Height = 46 - Top = 370 - Width = 542 + Height = 42 + Top = 439 + Width = 647 TabOrder = 1 ShowButtons = [pbClose, pbHelp] end diff --git a/components/rx/rxtbrsetup.lrs b/components/rx/rxtbrsetup.lrs index c8c98f181..0c3ecf46b 100644 --- a/components/rx/rxtbrsetup.lrs +++ b/components/rx/rxtbrsetup.lrs @@ -1,105 +1,112 @@ { - , lazarus } LazarusResources.Add('TToolPanelSetupForm','FORMDATA',[ - 'TPF0'#19'TToolPanelSetupForm'#18'ToolPanelSetupForm'#4'Left'#3'e'#1#6'Height' - +#3#166#1#3'Top'#3#180#0#5'Width'#3'*'#2#13'ActiveControl'#7#12'PageControl1' - +#7'Caption'#6#16'Tool panel setup'#12'ClientHeight'#3#166#1#11'ClientWidth'#3 - +'*'#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#9'OnDestroy'#7 - +#11'FormDestroy'#8'OnResize'#7#10'FormResize'#10'LCLVersion'#6#6'0.9.27'#0#12 - +'TPageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3'l'#1#3'Top'#2#0#5'Wi' - +'dth'#3'*'#2#10'ActivePage'#7#9'TabSheet2'#5'Align'#7#8'alClient'#8'TabIndex' - +#2#1#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Visible but' - +'tons'#12'ClientHeight'#3'I'#1#11'ClientWidth'#3'$'#2#0#6'TLabel'#6'Label1' - +#22'AnchorSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBott' - +'om'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3#26#1#6'Height'#2#18#3 - +'Top'#2#6#5'Width'#2'n'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Avaliab' - +'le buttons'#12'FocusControl'#7#16'ListBtnAvaliable'#11'ParentColor'#8#0#0#6 - +'TLabel'#6'Label2'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#2#8#6'He' - +'ight'#2#18#3'Top'#2#6#5'Width'#2'_'#20'BorderSpacing.Around'#2#6#7'Caption' - +#6#15'Visible buttons'#12'FocusControl'#7#14'ListBtnVisible'#11'ParentColor' - +#8#0#0#7'TBitBtn'#7'BitBtn3'#22'AnchorSideLeft.Control'#7#7'BitBtn6'#21'Anch' - +'orSideTop.Control'#7#7'BitBtn4'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'An' - +'chorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBottom' - +#4'Left'#3#235#0#6'Height'#2#30#3'Top'#3#152#0#5'Width'#2')'#7'Anchors'#11#5 - +'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.In' - +'nerBorder'#2#2#7'Caption'#6#2'<<'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn3C' - +'lick'#8'TabOrder'#2#0#0#0#7'TBitBtn'#7'BitBtn4'#22'AnchorSideLeft.Control'#7 - +#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn5'#18'AnchorSideTop.Side'#7#9 - +'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side' - +#7#9'asrBottom'#4'Left'#3#235#0#6'Height'#2'!'#3'Top'#2'q'#5'Width'#2')'#7'A' - +'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.T' - +'op'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'<'#9'NumGlyphs'#2#0 - +#7'OnClick'#7#12'BitBtn4Click'#8'TabOrder'#2#1#0#0#7'TBitBtn'#7'BitBtn5'#22 - +'AnchorSideLeft.Control'#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn6' - +#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBt' - +'n6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#235#0#6'Height'#2'&'#3 - +'Top'#2'E'#5'Width'#2')'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'Bo' - +'rderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'>'#9 - +'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#2#0#0#7'TBitBtn' - +#7'BitBtn6'#22'AnchorSideLeft.Control'#7#14'ListBtnVisible'#19'AnchorSideLef' - +'t.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'L' - +'eft'#3#235#0#6'Height'#2'!'#3'Top'#2#30#5'Width'#2')'#8'AutoSize'#9#25'Bord' - +'erSpacing.InnerBorder'#2#2#7'Caption'#6#2'>>'#9'NumGlyphs'#2#0#7'OnClick'#7 - +#12'BitBtn6Click'#8'TabOrder'#2#3#0#0#8'TListBox'#16'ListBtnAvaliable'#22'An' - +'chorSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 - +'AnchorSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 - +'AnchorSideRight.Control'#7#9'TabSheet1'#20'AnchorSideRight.Side'#7#9'asrBot' - +'tom'#24'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#3#26#1#6'Heig' - +'ht'#3#197#0#3'Top'#2#30#5'Width'#3']'#3#7'Anchors'#11#5'akTop'#6'akLeft'#7 - +'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#13'Items.Strings'#1#6#3 - +'111'#6#3'222'#6#3'333'#6#2'44'#6#3'555'#6#3'666'#6#3'777'#0#10'ItemHeight'#2 - +#0#7'OnClick'#7#21'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawIt' - +'em'#5'Style'#7#16'lbOwnerDrawFixed'#8'TabOrder'#2#4#8'TopIndex'#2#255#0#0#8 - +'TListBox'#14'ListBtnVisible'#22'AnchorSideLeft.Control'#7#6'Label2'#21'Anch' - +'orSideTop.Control'#7#6'Label2'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'Anc' - +'horSideBottom.Control'#7#13'cbShowCaption'#4'Left'#2#14#6'Height'#3#197#0#3 - +'Top'#2#30#5'Width'#3#215#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20 - +'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#7'OnClick'#7#21'ListBtnAvaliab' - +'leClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16'lbOwnerDrawFix' - +'ed'#8'TabOrder'#2#5#8'TopIndex'#2#255#0#0#6'TPanel'#6'Panel1'#24'AnchorSide' - +'Bottom.Control'#7#9'TabSheet1'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'L' - +'eft'#2#3#6'Height'#2'>'#3'Top'#3#5#1#5'Width'#3#24#2#9'Alignment'#7#13'taLe' - +'ftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacin' - +'g.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#11'FullRepaint'#8#8'TabOrder'#2 - +#6#0#0#9'TCheckBox'#13'cbShowCaption'#22'AnchorSideLeft.Control'#7#9'TabShee' - +'t1'#24'AnchorSideBottom.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2#22#3'T' - +'op'#3#233#0#5'Width'#2'm'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#20'BorderSp' - +'acing.Around'#2#6#7'Caption'#6#12'Show caption'#8'OnChange'#7#19'cbShowCapt' - ,'ionChange'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#9'TabSheet2'#7'Caption'#6#7'O' - +'ptions'#12'ClientHeight'#3'I'#1#11'ClientWidth'#3'$'#2#0#9'TCheckBox'#10'cb' - +'ShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Contro' - +'l'#7#8'cbTransp'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height' - +#2#22#3'Top'#3#165#0#5'Width'#2'V'#20'BorderSpacing.Around'#2#6#7'Caption'#6 - +#9'Show hint'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'cbTransp'#22'AnchorSideLeft' - +'.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'cbFlatBtn'#18'Anchor' - +'SideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#3#137#0#5'Wi' - +'dth'#2'c'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Transparent'#8'TabOr' - +'der'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSideLeft.Control'#7#9'TabSh' - +'eet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'#18'AnchorSideTop.Side'#7#9 - +'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'm'#5'Width'#2'd'#20'BorderSp' - +'acing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8'TabOrder'#2#2#0#0#11'TRad' - +'ioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#11'RadioGroup2'#19'An' - +'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'TabSheet2' + 'TPF0'#19'TToolPanelSetupForm'#18'ToolPanelSetupForm'#4'Left'#3''#1#6'Height' + +#3#231#1#3'Top'#3#176#0#5'Width'#3#147#2#13'ActiveControl'#7#12'PageControl1' + +#7'Caption'#6#16'Tool panel setup'#12'ClientHeight'#3#231#1#11'ClientWidth'#3 + +#147#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7 + +#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'OnResize'#7#10'FormResize'#8 + +'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'#0#12'TPageControl' + +#12'PageControl1'#4'Left'#2#0#6'Height'#3#177#1#3'Top'#2#0#5'Width'#3#147#2 + +#10'ActivePage'#7#9'TabSheet2'#5'Align'#7#8'alClient'#8'TabIndex'#2#1#8'TabO' + +'rder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Visible buttons'#12'C' + +'lientHeight'#3#146#1#11'ClientWidth'#3#143#2#0#6'TLabel'#6'Label1'#22'Ancho' + +'rSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'A' + +'nchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3'c'#1#6'Height'#2#18#3'Top'#2 + +#6#5'Width'#2'u'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Avaliable butt' + +'ons'#12'FocusControl'#7#16'ListBtnAvaliable'#11'ParentColor'#8#0#0#6'TLabel' + +#6'Label2'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#2#8#6'Height'#2 + +#18#3'Top'#2#6#5'Width'#2'g'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Vi' + +'sible buttons'#12'FocusControl'#7#14'ListBtnVisible'#11'ParentColor'#8#0#0#7 + +'TBitBtn'#7'BitBtn3'#22'AnchorSideLeft.Control'#7#7'BitBtn6'#21'AnchorSideTo' + +'p.Control'#7#7'BitBtn4'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSide' + +'Right.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left' + +#3'2'#1#6'Height'#2#30#3'Top'#3#152#0#5'Width'#2'+'#7'Anchors'#11#5'akTop'#6 + +'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder' + +#2#2#7'Caption'#6#2'<<'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn3Click'#8'Tab' + +'Order'#2#0#0#0#7'TBitBtn'#7'BitBtn4'#22'AnchorSideLeft.Control'#7#7'BitBtn6' + +#21'AnchorSideTop.Control'#7#7'BitBtn5'#18'AnchorSideTop.Side'#7#9'asrBottom' + +#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBo' + +'ttom'#4'Left'#3'2'#1#6'Height'#2'!'#3'Top'#2'q'#5'Width'#2'+'#7'Anchors'#11 + +#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#25 + +'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'<'#9'NumGlyphs'#2#0#7'OnClick' + +#7#12'BitBtn4Click'#8'TabOrder'#2#1#0#0#7'TBitBtn'#7'BitBtn5'#22'AnchorSideL' + +'eft.Control'#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn6'#18'AnchorS' + +'ideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'Anc' + +'horSideRight.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2'&'#3'Top'#2'E' + +#5'Width'#2'+'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacin' + +'g.Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'>'#9'NumGlyphs' + +#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#2#0#0#7'TBitBtn'#7'BitBtn6' + +#22'AnchorSideLeft.Control'#7#9'TabSheet1'#19'AnchorSideLeft.Side'#7#9'asrCe' + +'nter'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'Left'#3'2'#1#6'Hei' + +'ght'#2'!'#3'Top'#2#30#5'Width'#2'+'#8'AutoSize'#9#25'BorderSpacing.InnerBor' + +'der'#2#2#7'Caption'#6#2'>>'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn6Click'#8 + +'TabOrder'#2#3#0#0#8'TListBox'#16'ListBtnAvaliable'#22'AnchorSideLeft.Contro' + +'l'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Con' + +'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.' + +'Control'#7#9'TabSheet1'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSi' + +'deBottom.Control'#7#13'cbShowCaption'#4'Left'#3'c'#1#6'Height'#3#15#1#3'Top' + +#2#30#5'Width'#3'&'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom' + +#0#20'BorderSpacing.Around'#2#6#13'Items.Strings'#1#6#3'111'#6#3'222'#6#3'33' + +'3'#6#2'44'#6#3'555'#6#3'666'#6#3'777'#0#10'ItemHeight'#2#0#7'OnClick'#7#21 + +'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16 + +'lbOwnerDrawFixed'#8'TabOrder'#2#4#0#0#8'TListBox'#14'ListBtnVisible'#22'Anc' + +'horSideLeft.Control'#7#6'Label2'#21'AnchorSideTop.Control'#7#6'Label2'#18'A' + +'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6' + +#24'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#2#14#6'Height'#3#15 + +#1#3'Top'#2#30#5'Width'#3#30#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8 + +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#7'OnClick'#7#21 + +'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'Style'#7#16 + +'lbOwnerDrawFixed'#8'TabOrder'#2#5#8'TopIndex'#2#255#0#0#6'TPanel'#6'Panel1' + +#24'AnchorSideBottom.Control'#7#9'TabSheet1'#21'AnchorSideBottom.Side'#7#9'a' + +'srBottom'#4'Left'#2#3#6'Height'#2'>'#3'Top'#3'N'#1#5'Width'#3#131#2#9'Align' + +'ment'#7#13'taLeftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8'akBottom'#0 + +#20'BorderSpacing.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#11'FullRepaint'#8 + +#8'TabOrder'#2#6#0#0#9'TCheckBox'#13'cbShowCaption'#22'AnchorSideLeft.Contro' + +'l'#7#9'TabSheet1'#24'AnchorSideBottom.Control'#7#6'Panel1'#4'Left'#2#6#6'He' + +'ight'#2#21#3'Top'#3'3'#1#5'Width'#2't'#7'Anchors'#11#6'akLeft'#8'akBottom'#0 + ,#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Show caption'#8'OnChange'#7#19 + +'cbShowCaptionChange'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#9'TabSheet2'#7'Capt' + +'ion'#6#7'Options'#12'ClientHeight'#3#146#1#11'ClientWidth'#3#143#2#0#9'TChe' + +'ckBox'#10'cbShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSi' + +'deTop.Control'#7#8'cbTransp'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2 + +#6#6'Height'#2#21#3'Top'#3#163#0#5'Width'#2'['#20'BorderSpacing.Around'#2#6#7 + +'Caption'#6#9'Show hint'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8'cbTransp'#22'Anc' + +'horSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'cbFlatBtn' + +#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#3 + +#136#0#5'Width'#2'i'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Transparen' + +'t'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSideLeft.Control' + +#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'#18'AnchorSideTop' + +'.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2'm'#5'Width'#2'i' + +#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8'TabOrder'#2#2#0 + +#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7#6'Panel2'#19 + +'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'TabSheet2' +#23'AnchorSideRight.Control'#7#9'TabSheet2'#20'AnchorSideRight.Side'#7#9'asr' - +'Bottom'#4'Left'#2'~'#6'Height'#2'a'#3'Top'#2#6#5'Width'#3#175#0#8'AutoFill' - +#8#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Button align'#28'ChildSizing' - +'.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#28'ChildSizing.' - +'ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14 - +'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom' - +#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#3 - +#171#0#13'Items.Strings'#1#6#4'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7 - +'TabStop'#9#0#0#11'TRadioGroup'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7 - +#9'TabSheet2'#21'AnchorSideTop.Control'#7#9'TabSheet2'#23'AnchorSideRight.Co' - +'ntrol'#7#9'TabSheet2'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6 - +'Height'#2'a'#3'Top'#2#6#5'Width'#2'r'#8'AutoFill'#9#8'AutoSize'#9#20'Border' - +'Spacing.Around'#2#6#7'Caption'#6#14'Tool bar style'#28'ChildSizing.LeftRigh' - +'tSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHo' - +'rizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7 - +#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScale' - +'Childs'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.' - +'Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine' - +#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#2'n'#13'Items.Strings'#1#6#8'Stan' - +'dart'#6#10'Windows XP'#6#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#0#0#12 - +'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'.'#3'Top'#3'r'#1#5'W' - +'idth'#3#30#2#8'TabOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHelp'#0#0#0#0 + +'Bottom'#4'Left'#3'O'#1#6'Height'#2'a'#3'Top'#2#6#5'Width'#3':'#1#7'Anchors' + +#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#8#20'BorderSpacing.Around'#2 + +#6#7'Caption'#6#12'Button align'#28'ChildSizing.LeftRightSpacing'#2#6#28'Chi' + +'ldSizing.TopBottomSpacing'#2#6#28'ChildSizing.ShrinkHorizontal'#7#14'crsSca' + +'leChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizin' + +'g.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLin' + +'e'#2#1#12'ClientHeight'#2'N'#11'ClientWidth'#3'6'#1#13'Items.Strings'#1#6#4 + +'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7'TabStop'#9#0#0#11'TRadioGrou' + +'p'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideT' + +'op.Control'#7#9'TabSheet2'#23'AnchorSideRight.Control'#7#6'Panel2'#4'Left'#2 + +#6#6'Height'#2'^'#3'Top'#2#6#5'Width'#3':'#1#7'Anchors'#11#5'akTop'#6'akLeft' + +#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Cap' + +'tion'#6#14'Tool bar style'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSiz' + +'ing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogen' + +'ousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResi' + +'ze'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Sh' + +'rinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRig' + +'htThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'K' + +#11'ClientWidth'#3'6'#1#13'Items.Strings'#1#6#8'Standart'#6#10'Windows XP'#6 + +#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#6'TPanel'#6'Panel2'#22'AnchorS' + +'ideLeft.Control'#7#9'TabSheet2'#19'AnchorSideLeft.Side'#7#9'asrCenter'#21'A' + +'nchorSideTop.Control'#7#9'TabSheet2'#24'AnchorSideBottom.Control'#7#9'TabSh' + +'eet2'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'F'#1#6'Height'#3 + +#134#1#3'Top'#2#6#5'Width'#2#3#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0 + +#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0#0#0#0#12'TButtonPanel'#12'Bu' + +'ttonPanel1'#4'Left'#2#6#6'Height'#2'*'#3'Top'#3#183#1#5'Width'#3#135#2#8'Ta' + +'bOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHelp'#0#0#0#0 ]); diff --git a/components/rx/rxtbrsetup.lrt b/components/rx/rxtbrsetup.lrt new file mode 100644 index 000000000..9025b32b3 --- /dev/null +++ b/components/rx/rxtbrsetup.lrt @@ -0,0 +1,15 @@ +TTOOLPANELSETUPFORM.CAPTION=Tool panel setup +TTOOLPANELSETUPFORM.TABSHEET1.CAPTION=Visible buttons +TTOOLPANELSETUPFORM.LABEL1.CAPTION=Avaliable buttons +TTOOLPANELSETUPFORM.LABEL2.CAPTION=Visible buttons +TTOOLPANELSETUPFORM.BITBTN3.CAPTION=<< +TTOOLPANELSETUPFORM.BITBTN4.CAPTION=< +TTOOLPANELSETUPFORM.BITBTN5.CAPTION=> +TTOOLPANELSETUPFORM.BITBTN6.CAPTION=>> +TTOOLPANELSETUPFORM.CBSHOWCAPTION.CAPTION=Show caption +TTOOLPANELSETUPFORM.TABSHEET2.CAPTION=Options +TTOOLPANELSETUPFORM.CBSHOWHINT.CAPTION=Show hint +TTOOLPANELSETUPFORM.CBTRANSP.CAPTION=Transparent +TTOOLPANELSETUPFORM.CBFLATBTN.CAPTION=Flat buttons +TTOOLPANELSETUPFORM.RADIOGROUP1.CAPTION=Button align +TTOOLPANELSETUPFORM.RADIOGROUP2.CAPTION=Tool bar style diff --git a/components/rx/rxtbrsetup.pas b/components/rx/rxtbrsetup.pas index ceee2f142..2942b67a5 100644 --- a/components/rx/rxtbrsetup.pas +++ b/components/rx/rxtbrsetup.pas @@ -28,6 +28,7 @@ type ListBtnVisible: TListBox; PageControl1: TPageControl; Panel1: TPanel; + Panel2: TPanel; RadioGroup1: TRadioGroup; RadioGroup2: TRadioGroup; TabSheet1: TTabSheet; @@ -38,6 +39,7 @@ type procedure BitBtn6Click(Sender: TObject); procedure CheckBox1Change(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); + procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure FormResize(Sender: TObject); procedure ListBox1DrawItem(Control: TWinControl; Index: Integer; @@ -56,7 +58,7 @@ var ToolPanelSetupForm: TToolPanelSetupForm; implementation -uses vclutils, ActnList, boxprocs; +uses vclutils, ActnList, boxprocs, rxconst; type THackToolPanel = class(TToolPanel); @@ -176,6 +178,30 @@ begin CloseAction:=caFree; end; +procedure TToolPanelSetupForm.FormCreate(Sender: TObject); +begin + Caption:=sToolPanelSetup; + TabSheet1.Caption:=sVisibleButtons; + TabSheet2.Caption:=sOptions; + Label2.Caption:=sVisibleButtons; + Label2.Caption:=sVisibleButtons; + Label1.Caption:=sAvaliableButtons; + cbShowCaption.Caption:=sShowCaption; + RadioGroup2.Caption:=sToolBarStyle; + RadioGroup2.Items.Clear; + RadioGroup2.Items.Add(sToolBarStyle1); + RadioGroup2.Items.Add(sToolBarStyle2); + RadioGroup2.Items.Add(sToolBarStyle3); + cbFlatBtn.Caption:=sFlatButtons; + cbTransp.Caption:=sTransparent; + cbShowHint.Caption:=sShowHint; + RadioGroup1.Caption:=sButtonAlign; + RadioGroup1.Items.Clear; + RadioGroup1.Items.Add(sButtonAlign1); + RadioGroup1.Items.Add(sButtonAlign2); + RadioGroup1.Items.Add(sButtonAlign3); +end; + procedure TToolPanelSetupForm.CheckBox1Change(Sender: TObject); var diff --git a/components/rx/seldsfrm.lfm b/components/rx/seldsfrm.lfm index 29bda9877..d63b4d5d6 100644 --- a/components/rx/seldsfrm.lfm +++ b/components/rx/seldsfrm.lfm @@ -7,7 +7,8 @@ object SelectDataSetForm: TSelectDataSetForm Caption = 'Select dataset to copy to' ClientHeight = 315 ClientWidth = 400 - Position = poDesktopCenter + OnCreate = FormCreate + Position = poScreenCenter LCLVersion = '0.9.27' object Label1: TLabel AnchorSideLeft.Control = Owner @@ -15,8 +16,8 @@ object SelectDataSetForm: TSelectDataSetForm AnchorSideTop.Side = asrBottom Left = 6 Height = 18 - Top = 34 - Width = 99 + Top = 33 + Width = 106 BorderSpacing.Around = 6 Caption = 'Sourse dataset' FocusControl = DataSetList @@ -26,9 +27,9 @@ object SelectDataSetForm: TSelectDataSetForm AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner Left = 6 - Height = 22 + Height = 21 Top = 6 - Width = 153 + Width = 159 BorderSpacing.Around = 6 Caption = 'Copy only metadata' OnChange = CheckBox1Change @@ -42,8 +43,8 @@ object SelectDataSetForm: TSelectDataSetForm AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = ButtonPanel1 Left = 6 - Height = 195 - Top = 58 + Height = 204 + Top = 57 Width = 388 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 @@ -55,8 +56,8 @@ object SelectDataSetForm: TSelectDataSetForm end object ButtonPanel1: TButtonPanel Left = 6 - Height = 50 - Top = 259 + Height = 42 + Top = 267 Width = 388 TabOrder = 2 ShowButtons = [pbOK, pbCancel, pbHelp] diff --git a/components/rx/seldsfrm.lrs b/components/rx/seldsfrm.lrs index 971d03fed..062155b5a 100644 --- a/components/rx/seldsfrm.lrs +++ b/components/rx/seldsfrm.lrs @@ -4,23 +4,23 @@ LazarusResources.Add('TSelectDataSetForm','FORMDATA',[ 'TPF0'#18'TSelectDataSetForm'#17'SelectDataSetForm'#4'Left'#3#189#1#6'Height' +#3';'#1#3'Top'#3#197#0#5'Width'#3#144#1#13'ActiveControl'#7#9'CheckBox1'#7'C' +'aption'#6#25'Select dataset to copy to'#12'ClientHeight'#3';'#1#11'ClientWi' - +'dth'#3#144#1#8'Position'#7#15'poDesktopCenter'#10'LCLVersion'#6#6'0.9.27'#0 - +#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.' - +'Control'#7#9'CheckBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6 - +'Height'#2#18#3'Top'#2'"'#5'Width'#2'c'#20'BorderSpacing.Around'#2#6#7'Capti' - +'on'#6#14'Sourse dataset'#12'FocusControl'#7#11'DataSetList'#11'ParentColor' - +#8#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'An' - +'chorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Wid' - +'th'#3#153#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'Copy only metadata' - +#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#0#0#0#8'TListBox'#11'DataSe' - +'tList'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#6 - +'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7 - +#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Contro' - +'l'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3#195#0#3'Top'#2':'#5'Width'#3 - +#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSp' - +'acing.Around'#2#6#10'ItemHeight'#2#0#10'OnDblClick'#7#16'ListBox1DblClick' - +#10'OnKeyPress'#7#16'ListBox1KeyPress'#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0 - +#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'2'#3'Top'#3#3#1#5 - +'Width'#3#132#1#8'TabOrder'#2#2#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbH' - +'elp'#0#0#0#0 + +'dth'#3#144#1#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCenter' + +#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control' + +#7#5'Owner'#21'AnchorSideTop.Control'#7#9'CheckBox1'#18'AnchorSideTop.Side'#7 + +#9'asrBottom'#4'Left'#2#6#6'Height'#2#18#3'Top'#2'!'#5'Width'#2'j'#20'Border' + +'Spacing.Around'#2#6#7'Caption'#6#14'Sourse dataset'#12'FocusControl'#7#11'D' + +'ataSetList'#11'ParentColor'#8#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLe' + +'ft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'H' + +'eight'#2#21#3'Top'#2#6#5'Width'#3#159#0#20'BorderSpacing.Around'#2#6#7'Capt' + +'ion'#6#18'Copy only metadata'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder' + +#2#0#0#0#8'TListBox'#11'DataSetList'#22'AnchorSideLeft.Control'#7#5'Owner'#21 + +'AnchorSideTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 + +'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom' + +#24'AnchorSideBottom.Control'#7#12'ButtonPanel1'#4'Left'#2#6#6'Height'#3#204 + +#0#3'Top'#2'9'#5'Width'#3#132#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8 + +'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#10'OnDblClick'#7 + +#16'ListBox1DblClick'#10'OnKeyPress'#7#16'ListBox1KeyPress'#8'TabOrder'#2#1#8 + +'TopIndex'#2#255#0#0#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height' + +#2'*'#3'Top'#3#11#1#5'Width'#3#132#1#8'TabOrder'#2#2#11'ShowButtons'#11#4'pb' + +'OK'#8'pbCancel'#6'pbHelp'#0#0#0#0 ]); diff --git a/components/rx/seldsfrm.lrt b/components/rx/seldsfrm.lrt new file mode 100644 index 000000000..0fbff53db --- /dev/null +++ b/components/rx/seldsfrm.lrt @@ -0,0 +1,3 @@ +TSELECTDATASETFORM.CAPTION=Select dataset to copy to +TSELECTDATASETFORM.LABEL1.CAPTION=Sourse dataset +TSELECTDATASETFORM.CHECKBOX1.CAPTION=Copy only metadata diff --git a/components/rx/seldsfrm.pas b/components/rx/seldsfrm.pas index f3a05a9d3..38c35707e 100644 --- a/components/rx/seldsfrm.pas +++ b/components/rx/seldsfrm.pas @@ -18,6 +18,7 @@ type Label1: TLabel; DataSetList: TListBox; procedure CheckBox1Change(Sender: TObject); + procedure FormCreate(Sender: TObject); procedure ListBox1DblClick(Sender: TObject); procedure ListBox1KeyPress(Sender: TObject; var Key: char); private @@ -53,7 +54,7 @@ var SelectDataSetForm: TSelectDataSetForm; implementation -uses rxmemds; +uses rxmemds, rxdconst; function SelectDataSet(ADesigner: TComponentEditorDesigner; const ACaption: string; ExcludeDataSet: TDataSet): TDataSet; @@ -83,6 +84,13 @@ begin DataSetList.Enabled:=not CheckBox1.Checked; end; +procedure TSelectDataSetForm.FormCreate(Sender: TObject); +begin + Caption:=sRxSelectDatasetStruct; + CheckBox1.Caption:=sRxCopyOnlyMetadata; + Label1.Caption:=sRxSourseDataset; +end; + procedure TSelectDataSetForm.ListBox1DblClick(Sender: TObject); begin if DataSetList.ItemIndex >= 0 then ModalResult := mrOk; @@ -237,7 +245,7 @@ begin else begin case Index - DefaultEditor.GetVerbCount of - 0:Result:='Borrow structure...'; + 0:Result:=sRxBorrowStructure; end; end; end;
Свойство - массив, содержит в себе список всех файлов и каталогов, которые были обнаружены в указанной папке.