From b2a260844732ff2bd8d66e67eea2ab6c98cef6f0 Mon Sep 17 00:00:00 2001 From: alexs75 Date: Mon, 12 Nov 2018 08:42:21 +0000 Subject: [PATCH] RxFPC:default editor for StrHolder git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6724 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/rx/trunk/dcl_rxtools.lpk | 11 ++-- .../rx/trunk/dcl_rxtools/register_rxtools.pas | 57 +++++++++++++++++-- components/rx/trunk/languages/rxconst.es.po | 4 ++ components/rx/trunk/languages/rxconst.po | 4 ++ components/rx/trunk/languages/rxconst.ru.po | 4 ++ components/rx/trunk/languages/rxconst.uk.po | 4 ++ components/rx/trunk/rxtools/rxconst.pas | 1 + 7 files changed, 75 insertions(+), 10 deletions(-) diff --git a/components/rx/trunk/dcl_rxtools.lpk b/components/rx/trunk/dcl_rxtools.lpk index 5c40bf734..e65d4e046 100644 --- a/components/rx/trunk/dcl_rxtools.lpk +++ b/components/rx/trunk/dcl_rxtools.lpk @@ -29,16 +29,19 @@ - + - + - + - + + + + diff --git a/components/rx/trunk/dcl_rxtools/register_rxtools.pas b/components/rx/trunk/dcl_rxtools/register_rxtools.pas index b3f35a939..08f85401c 100644 --- a/components/rx/trunk/dcl_rxtools/register_rxtools.pas +++ b/components/rx/trunk/dcl_rxtools/register_rxtools.pas @@ -39,8 +39,8 @@ uses procedure Register; implementation -uses LazarusPackageIntf, RxTextHolder, ComponentEditors, RxTextHolder_Editor, - rxconst; +uses Forms, LazarusPackageIntf, RxTextHolder, ComponentEditors, RxTextHolder_Editor, + rxconst, StrHolder, PropEdits, StringsPropEditDlg, UITypes; type @@ -53,14 +53,53 @@ type procedure ExecuteVerb(Index:integer);override; end; -procedure RegisterRxTextHolder; + { TRxStrHolderEditor } + + TRxStrHolderEditor = class(TComponentEditor) + public + function GetVerbCount:integer;override; + function GetVerb(Index:integer):string;override; + procedure ExecuteVerb(Index:integer);override; + end; + +{ TRxStrHolderEditor } + +function TRxStrHolderEditor.GetVerbCount: integer; begin - RegisterComponentEditor(TRxTextHolder, TRxTextHolderEditor); + Result:=1; end; -procedure Register; +function TRxStrHolderEditor.GetVerb(Index: integer): string; begin - RegisterUnit('RxTextHolder', @RegisterRxTextHolder); + case Index of + 0:Result:=sRxStrHolderTextEditor; + else + Result:=''; + end; +end; + +procedure TRxStrHolderEditor.ExecuteVerb(Index: integer); +var + C: TStrHolder; + F: TStringsPropEditorDlg; +begin + if Index = 0 then + begin + F:=TStringsPropEditorDlg.Create(Application); + try + C:=Component as TStrHolder; + F.Memo.Lines.Assign(C.Strings); + if F.ShowModal = mrOK then + begin + C.Strings.Assign(F.Memo.Lines); + Modified; + end; + finally + F.Free; + end; + end + else + inherited ExecuteVerb(Index); end; { TRxTextHolderEditor } @@ -90,5 +129,11 @@ begin inherited ExecuteVerb(Index); end; +procedure Register; +begin + RegisterComponentEditor(TRxTextHolder, TRxTextHolderEditor); + RegisterComponentEditor(TStrHolder, TRxStrHolderEditor); +end; + end. diff --git a/components/rx/trunk/languages/rxconst.es.po b/components/rx/trunk/languages/rxconst.es.po index c17eaa2d3..4b855ce4c 100644 --- a/components/rx/trunk/languages/rxconst.es.po +++ b/components/rx/trunk/languages/rxconst.es.po @@ -179,6 +179,10 @@ msgstr "Anterior A?o|" msgid "Error. Expected value for field %s." msgstr "" +#: rxconst.srxstrholdertexteditor +msgid "Rx string holder editor" +msgstr "" + #: rxconst.srxtextfolderitem msgid "Item " msgstr "" diff --git a/components/rx/trunk/languages/rxconst.po b/components/rx/trunk/languages/rxconst.po index c9c08eebe..808dc2897 100644 --- a/components/rx/trunk/languages/rxconst.po +++ b/components/rx/trunk/languages/rxconst.po @@ -177,6 +177,10 @@ msgstr "" msgid "Error. Expected value for field %s." msgstr "" +#: rxconst.srxstrholdertexteditor +msgid "Rx string holder editor" +msgstr "" + #: rxconst.srxtextfolderitem msgid "Item " msgstr "" diff --git a/components/rx/trunk/languages/rxconst.ru.po b/components/rx/trunk/languages/rxconst.ru.po index 79df028ba..a1a8168d0 100644 --- a/components/rx/trunk/languages/rxconst.ru.po +++ b/components/rx/trunk/languages/rxconst.ru.po @@ -177,6 +177,10 @@ msgstr "Превыдущий год|" msgid "Error. Expected value for field %s." msgstr "Поле %s. Требуется значение" +#: rxconst.srxstrholdertexteditor +msgid "Rx string holder editor" +msgstr "Редактор RxStrHolder" + #: rxconst.srxtextfolderitem msgid "Item " msgstr "Строка " diff --git a/components/rx/trunk/languages/rxconst.uk.po b/components/rx/trunk/languages/rxconst.uk.po index 3cce8977b..801cf1bde 100644 --- a/components/rx/trunk/languages/rxconst.uk.po +++ b/components/rx/trunk/languages/rxconst.uk.po @@ -192,6 +192,10 @@ msgstr "Попередній місяць|" msgid "Error. Expected value for field %s." msgstr "Поле %s. Вимагається значення" +#: rxconst.srxstrholdertexteditor +msgid "Rx string holder editor" +msgstr "" + #: rxconst.srxtextfolderitem msgid "Item " msgstr "" diff --git a/components/rx/trunk/rxtools/rxconst.pas b/components/rx/trunk/rxtools/rxconst.pas index f1bb60378..ed0ad26c8 100644 --- a/components/rx/trunk/rxtools/rxconst.pas +++ b/components/rx/trunk/rxtools/rxconst.pas @@ -136,6 +136,7 @@ resourcestring { TRxTextHolder } sRxTextHolderTextEditor = 'Rx text holder editor'; + sRxStrHolderTextEditor = 'Rx string holder editor'; sRxTextHolderEditor = 'RxTextHolder editor'; sRxTextHolderTextCaption = 'Caption'; sRxTextHolderAdd = 'Add';