• R/O
  • SSH
  • HTTPS

akdf: Commit


Commit MetaInfo

Revision485 (tree)
Time2020-02-03 11:03:44
Authorderekwildstar

Log Message

Ajustes para adequação com novas units exclusivas de ativadores de editores de propriedade/componente
Ajustes para adequação com novas units existentes em ToolsApi
Ajustes no KRKExperts para se adequar as novas units adicionadas
Arquivo de recurso desenecessário removido
Arquivos de leia-me adicionados ou alterados

Change Summary

Incremental Difference

--- trunk/dtp/AdditionalControls/src/KRK.AdditionalControls.pas (revision 484)
+++ trunk/dtp/AdditionalControls/src/KRK.AdditionalControls.pas (revision 485)
@@ -12,6 +12,7 @@
1212 uses Controls
1313 , KRK.Vcl.Controls
1414 , KRK.Vcl.ExtCtrls
15+ , KRK.Vcl.ExtCtrls.Editors
1516 , KRK.Vcl.Utilities;
1617
1718 const
--- trunk/dtp/CustomModules/src/KRK.CustomModules.pas (revision 484)
+++ trunk/dtp/CustomModules/src/KRK.CustomModules.pas (revision 485)
@@ -9,7 +9,8 @@
99 uses DesignIntf
1010 , DesignEditors
1111 , KRK.Vcl.Forms
12- , KRK.Rtl.Common.Classes;
12+ , KRK.Rtl.Common.Classes
13+ , KRK.ToolsApi.Rtl.Common.Classes;
1314
1415 procedure Register;
1516 begin
--- trunk/dtp/DataControls/src/KRK.DataControls.pas (revision 484)
+++ trunk/dtp/DataControls/src/KRK.DataControls.pas (revision 485)
@@ -9,6 +9,7 @@
99 uses Classes
1010 , DesignIntf
1111 , KRK.Vcl.DBGrids
12+ , KRK.Vcl.DBGrids.Editors
1213 , KRK.Vcl.DBCtrls
1314 , KRK.DataSnap.DBClient
1415 , KRK.DataSnap.Provider;
--- trunk/dtp/Experts/src/KX.Main.pas (revision 484)
+++ trunk/dtp/Experts/src/KX.Main.pas (revision 485)
@@ -8,7 +8,7 @@
88 , ImgList
99 , Controls
1010 , UPngImageList
11- , KRK.Rtl.Common.Classes
11+ , KRK.ToolsApi.Rtl.Common.Classes
1212 , KRK.ToolsApi.Components.IDEMainMenu;
1313
1414 type
--- trunk/dtp/ToolsApiComponents/prj/Delphi 26 (Delphi Rio)/KRKToolsApiComponentsD.dproj (revision 484)
+++ trunk/dtp/ToolsApiComponents/prj/Delphi 26 (Delphi Rio)/KRKToolsApiComponentsD.dproj (revision 485)
@@ -61,7 +61,7 @@
6161 <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
6262 <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
6363 <VerInfo_Locale>1033</VerInfo_Locale>
64- <DCC_UsePackage>KRKOTAComponentsR;$(DCC_UsePackage)</DCC_UsePackage>
64+ <DCC_UsePackage>KRKOTAComponentsR;KRKLib;$(DCC_UsePackage)</DCC_UsePackage>
6565 </PropertyGroup>
6666 <PropertyGroup Condition="'$(Cfg_1)'!=''">
6767 <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
--- trunk/dtp/ToolsApiComponents/src/KRK.ToolsApiComponents.pas (revision 484)
+++ trunk/dtp/ToolsApiComponents/src/KRK.ToolsApiComponents.pas (revision 485)
@@ -11,7 +11,7 @@
1111 uses Classes
1212 , ToolsAPI
1313 , DesignIntf
14- , KRK.Rtl.Common.Classes
14+ , KRK.ToolsApi.Rtl.Common.Classes
1515 , KRK.ToolsApi.Components.EditorSubView
1616 , KRK.ToolsApi.Components.EditServicesNotifier
1717 , KRK.ToolsApi.Components.IDENotifier
@@ -20,7 +20,9 @@
2020 , KRK.ToolsApi.Components.RepositoryWizard
2121 , KRK.ToolsApi.Components.ModuleCreator
2222 , KRK.ToolsApi.Components.IDEInsightItem
23- , KRK.ToolsApi.Components.IDEMainMenu;
23+ , KRK.ToolsApi.Components.IDEInsightItem.Editors
24+ , KRK.ToolsApi.Components.IDEMainMenu
25+ , KRK.ToolsApi.Components.IDEMainMenu.Editors;
2426
2527 procedure Register;
2628 begin
--- trunk/dtp/Win32Controls/src/KRK.Win32Controls.pas (revision 484)
+++ trunk/dtp/Win32Controls/src/KRK.Win32Controls.pas (revision 485)
@@ -8,7 +8,8 @@
88
99 uses Classes
1010 , DesignIntf
11- , KRK.Vcl.ComCtrls;
11+ , KRK.Vcl.ComCtrls
12+ , KRK.Vcl.ComCtrls.Editors;
1213
1314 const
1415 PageName = 'Anak Krakatoa Win32 Controls';
--- trunk/rtp/prj/Delphi 26 (Delphi Rio)/KRKLib.dpk (revision 484)
+++ trunk/rtp/prj/Delphi 26 (Delphi Rio)/KRKLib.dpk (revision 485)
@@ -109,7 +109,6 @@
109109 KRK.Rtl.Common.ZLib.ZLibApi in '..\..\SRC\Rtl\Common\ZLib\KRK.Rtl.Common.ZLib.ZLibApi.pas',
110110 KRK.Rtl.Common.ZLib.ZLibGZ in '..\..\SRC\Rtl\Common\ZLib\KRK.Rtl.Common.ZLib.ZLibGZ.pas',
111111 KRK.Vcl.ExtCtrls in '..\..\SRC\Vcl\KRK.Vcl.ExtCtrls.pas',
112- KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor in '..\..\SRC\Vcl\KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas' {FormRTFLabelCaptionEditor},
113112 KRK.Vcl.Controls in '..\..\SRC\Vcl\KRK.Vcl.Controls.pas',
114113 KRK.Vcl.StdCtrls in '..\..\SRC\Vcl\KRK.Vcl.StdCtrls.pas',
115114 KRK.Vcl.ExtActns in '..\..\SRC\Vcl\KRK.Vcl.ExtActns.pas',
@@ -141,6 +140,7 @@
141140 KRK.ToolsApi.Components.IDEInsightItem.Editors in '..\..\src\ToolsAPI\Components\KRK.ToolsApi.Components.IDEInsightItem.Editors.pas',
142141 KRK.ToolsApi.Components.IDEMainMenu.Editors in '..\..\src\ToolsAPI\Components\KRK.ToolsApi.Components.IDEMainMenu.Editors.pas',
143142 KRK.Vcl.ComCtrls.Editors in '..\..\src\Vcl\KRK.Vcl.ComCtrls.Editors.pas',
144- KRK.Vcl.ExtCtrls.Editors in '..\..\src\Vcl\KRK.Vcl.ExtCtrls.Editors.pas';
143+ KRK.Vcl.ExtCtrls.Editors in '..\..\src\Vcl\KRK.Vcl.ExtCtrls.Editors.pas',
144+ KRK.ToolsApi.Editors.RTFLabel.CaptionEditor in '..\..\src\ToolsAPI\Editors\KRK.ToolsApi.Editors.RTFLabel.CaptionEditor.pas' {FormRTFLabelCaptionEditor};
145145
146146 end.
--- trunk/rtp/prj/Delphi 26 (Delphi Rio)/KRKLib.dproj (revision 484)
+++ trunk/rtp/prj/Delphi 26 (Delphi Rio)/KRKLib.dproj (revision 485)
@@ -121,10 +121,6 @@
121121 <DCCReference Include="..\..\SRC\Rtl\Common\ZLib\KRK.Rtl.Common.ZLib.ZLibApi.pas"/>
122122 <DCCReference Include="..\..\SRC\Rtl\Common\ZLib\KRK.Rtl.Common.ZLib.ZLibGZ.pas"/>
123123 <DCCReference Include="..\..\SRC\Vcl\KRK.Vcl.ExtCtrls.pas"/>
124- <DCCReference Include="..\..\SRC\Vcl\KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas">
125- <Form>FormRTFLabelCaptionEditor</Form>
126- <FormType>dfm</FormType>
127- </DCCReference>
128124 <DCCReference Include="..\..\SRC\Vcl\KRK.Vcl.Controls.pas"/>
129125 <DCCReference Include="..\..\SRC\Vcl\KRK.Vcl.StdCtrls.pas"/>
130126 <DCCReference Include="..\..\SRC\Vcl\KRK.Vcl.ExtActns.pas"/>
@@ -165,6 +161,10 @@
165161 <DCCReference Include="..\..\src\ToolsAPI\Components\KRK.ToolsApi.Components.IDEMainMenu.Editors.pas"/>
166162 <DCCReference Include="..\..\src\Vcl\KRK.Vcl.ComCtrls.Editors.pas"/>
167163 <DCCReference Include="..\..\src\Vcl\KRK.Vcl.ExtCtrls.Editors.pas"/>
164+ <DCCReference Include="..\..\src\ToolsAPI\Editors\KRK.ToolsApi.Editors.RTFLabel.CaptionEditor.pas">
165+ <Form>FormRTFLabelCaptionEditor</Form>
166+ <FormType>dfm</FormType>
167+ </DCCReference>
168168 <BuildConfiguration Include="Base">
169169 <Key>Base</Key>
170170 </BuildConfiguration>
--- trunk/rtp/src/ToolsAPI/Components/_Leia-me.txt (revision 484)
+++ trunk/rtp/src/ToolsAPI/Components/_Leia-me.txt (nonexistent)
@@ -1 +0,0 @@
1-Units cujos nomes terminam com o sufixo "Editors" contém os "ativadores de editores de componentes", classes que dependem de DesignIntf, DesignEditors, etc., e normalmente chamam editores de propriedade ou de componente contidos na pasta ToolsApi\Editors. Foi necessário mover tais ativadores para units exclusivas para remover a dependência existente entre as units dos componentes e DesignIde.dcp. Ao não fazer isso, toda vez que se dava uses em uma unit de um componente, como o KRKDBGrid que tem um editor de propriedade, o programa final não compilava porque ele requeria ToolsApi, que está dentro de DesignIde, obrigando o desenvolvedor a compilar seu programa com Runtime Packages, o que nem sempre é desejado
\ No newline at end of file
--- trunk/rtp/src/ToolsAPI/Editors/KRK.ToolsApi.Editors.RTFLabel.CaptionEditor.pas (nonexistent)
+++ trunk/rtp/src/ToolsAPI/Editors/KRK.ToolsApi.Editors.RTFLabel.CaptionEditor.pas (revision 485)
@@ -0,0 +1,142 @@
1+unit KRK.ToolsApi.Editors.RTFLabel.CaptionEditor;
2+
3+interface
4+
5+uses DesignWindows
6+ , ComCtrls
7+ , UPNGBitBtn
8+ , Dialogs
9+ , ActnList
10+ , ExtActns
11+ , ExtCtrls
12+ , UPNGImageList
13+ , StdActns
14+ , Windows
15+ , StdCtrls
16+ , Classes
17+ , Forms
18+ , Controls
19+ , ImgList
20+ , Buttons
21+ , ToolWin;
22+
23+type
24+ TFormRTFLabelCaptionEditor = class(TDesignWindow)
25+ RIED: TRichEdit;
26+ PNBBCancel: TPngBitBtn;
27+ PNBBOK: TPngBitBtn;
28+ OPDI: TOpenDialog;
29+ ACLI: TActionList;
30+ ACTNCenter: TRichEditAlignCenter;
31+ ToolBar1: TToolBar;
32+ TOBULoad: TToolButton;
33+ PANL: TPanel;
34+ ACTNLoad: TAction;
35+ PNIL: TPngImageList;
36+ TOBUCenter: TToolButton;
37+ TOBUSeparator1: TToolButton;
38+ ACTNLeft: TRichEditAlignLeft;
39+ ACTNRight: TRichEditAlignRight;
40+ TOBURight: TToolButton;
41+ TOBULeft: TToolButton;
42+ TOBUSeparator2: TToolButton;
43+ TOBUBold: TToolButton;
44+ ACTNBold: TRichEditBold;
45+ ACTNItalic: TRichEditItalic;
46+ ACTNUnderline: TRichEditUnderline;
47+ ACTNStrikeOut: TRichEditStrikeOut;
48+ ACTNBullet: TRichEditBullets;
49+ TOBUItalic: TToolButton;
50+ TOBUUnderline: TToolButton;
51+ TOBUStrikeOut: TToolButton;
52+ TOBUSeparator3: TToolButton;
53+ TOBUBullet: TToolButton;
54+ ACTNFont: TFontEdit;
55+ TOBUFont: TToolButton;
56+ ACTNCut: TEditCut;
57+ ACTNCopy: TEditCopy;
58+ ACTNPaste: TEditPaste;
59+ ACTNUndo: TEditUndo;
60+ TOBUCut: TToolButton;
61+ TOBUCopy: TToolButton;
62+ TOBUPaste: TToolButton;
63+ TOBUUndo: TToolButton;
64+ TOBUSeparator4: TToolButton;
65+ procedure ACTNLoadExecute(Sender: TObject);
66+ procedure ACTNFontBeforeExecute(Sender: TObject);
67+ procedure ACTNFontAccept(Sender: TObject);
68+ private
69+ { Private declarations }
70+ function CurrentSelection: TTextAttributes;
71+ public
72+ { Public declarations }
73+ class function ShowMe(AText: String): String;
74+ end;
75+
76+implementation
77+
78+{$R *.dfm}
79+
80+{ TFormRTFLabelCaptionEditor }
81+
82+procedure TFormRTFLabelCaptionEditor.ACTNFontAccept(Sender: TObject);
83+begin
84+ CurrentSelection.Assign(TFontEdit(Sender).Dialog.Font);
85+end;
86+
87+procedure TFormRTFLabelCaptionEditor.ACTNFontBeforeExecute(Sender: TObject);
88+begin
89+ TFontEdit(Sender).Dialog.Font.Assign(CurrentSelection);
90+end;
91+
92+procedure TFormRTFLabelCaptionEditor.ACTNLoadExecute(Sender: TObject);
93+begin
94+ if OPDI.Execute then
95+ RIED.Lines.LoadFromFile(OPDI.FileName);
96+end;
97+
98+function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric; FontType: Integer; Data: Pointer): Integer; stdcall;
99+begin
100+ TComboBox(Data).Items.Add(LogFont.lfFaceName);
101+ Result := 1;
102+end;
103+
104+function TFormRTFLabelCaptionEditor.CurrentSelection: TTextAttributes;
105+begin
106+ if RIED.SelLength > 0 then
107+ Result := RIED.SelAttributes
108+ else
109+ Result := RIED.DefAttributes;
110+end;
111+
112+class function TFormRTFLabelCaptionEditor.ShowMe(AText: String): String;
113+var
114+ SS: TStringStream;
115+begin
116+ Result := AText;
117+
118+ with Self.Create(Application) do
119+ try
120+ SS := TStringStream.Create(AText);
121+ try
122+ RIED.Lines.LoadFromStream(SS);
123+ finally
124+ SS.Free;
125+ end;
126+
127+ if ShowModal = mrOk then
128+ begin
129+ SS := TStringStream.Create('');
130+ try
131+ RIED.Lines.SaveToStream(SS);
132+ Result := SS.DataString;
133+ finally
134+ SS.Free;
135+ end;
136+ end;
137+ finally
138+ Free;
139+ end;
140+end;
141+
142+end.
--- trunk/rtp/src/ToolsAPI/Editors/_Leia-me.txt (revision 484)
+++ trunk/rtp/src/ToolsAPI/Editors/_Leia-me.txt (revision 485)
@@ -1 +1,25 @@
1-Todos os editores de componentes e propriedades se encontram nesta pasta. Editores de componentes e propriedades são forms especiais que atuam sobre componentes e propriedades fornecendo uma interface ao programador, que facilita a edição de um componente como um todo (Editor de componente) ou de uma propriedade específica (Editor de propriedade)
\ No newline at end of file
1+Do ponto de vista do Delphi, isto é, segundo sua literatura, editores de propriedade e de componente são ativadores, que herdam de TComponentEditor ou TPropertyEditor, dentre outros. Um ativador de um editor de componente chama-se T<NomeDoComponenteSemOPrefixoKRK>Editor e um ativador de um editor de propriedade chama-se T<NomeDoComponenteSemOPrefixoKRK><NomeDaPropriedade>Property. Esta não é a convenção usada pelo Delphi, a qual não inclui o nome do componente, mas como no KRK vários ativadores de componentes podem estar na mesma unit, seria provável existir um editor de propriedade com o mesmo nome para componentes distintos, mas com funcionalidades diferentes, o que não é possível. Tais "ativadores" encontram-se nas units que tem o mesmo nome das units dos componentes que eles manipulam, porém com o sufixo "Editors".
2+
3+Units cujos nomes terminam com o sufixo "Editors" contém os "ativadores de editores de componentes", classes que dependem de DesignIntf, DesignEditors, etc., e normalmente chamam editores de propriedade ou de componente contidos nesta pasta. Foi necessário mover tais ativadores para units exclusivas para remover a dependência existente entre as units dos componentes e DesignIde.dcp. Ao não fazer isso, toda vez que se dava uses em uma unit de um componente, como o KRKDBGrid que tem um editor de propriedade, o programa final não compilava porque ele requeria ToolsApi, que está dentro de DesignIde, obrigando o desenvolvedor a compilar seu programa com Runtime Packages, o que nem sempre é desejado
4+
5+Do meu ponto de vista, editores de componentes e propriedades são forms especiais que atuam sobre componentes e propriedades fornecendo uma interface ao programador, que facilita a edição de um componente como um todo (Editor de componente) ou de uma propriedade específica (Editor de propriedade).
6+
7+Todos os editores de componentes e propriedades (segundo meu ponto de vista) se encontram nesta pasta. Estes editores encontram-se em units cujos nomes seguem o seguinte padrão:
8+
9+KRK.ToolsApi.Editors.<NomeDoComponenteSemOPrefixoKRK>.[NomeDaPropriedade]Editor.pas
10+
11+As seguintes regras se aplicam:
12+
13+> "NomeDaPropriedade" não deve ser utilizado, caso o editor atue no componente "NomeDoComponenteSemOPrefixoKRK" como um todo, por exemplo, um editor para o componente TKRKRTFLabel estaria na unit KRK.ToolsApi.Editors.RTFLabel.Editor.pas
14+
15+> "NomeDaPropriedade" é obrigatório caso a unit contenha um editor que atue numa propriedade específica apenas, por exemplo, um editor para a propriedade Caption de TKRKRTFLabel estaria na unit KRK.ToolsApi.Editors.RTFLabel.CaptionEditor.pas
16+
17+Os nomes das classes de editores de propriedades e componentes seguem o seguinte padrão:
18+
19+TForm<NomeDoComponenteSemOPrefixoKRK>[NomeDaPropriedade]Editor
20+
21+As seguintes regras se aplicam:
22+
23+> "NomeDaPropriedade" não deve ser utilizado, caso a classe do form atue no componente "NomeDoComponenteSemOPrefixoKRK" como um todo, por exemplo, a classe de um editor para o componente TKRKRTFLabel se chamaria TFormRTFLabelEditor
24+
25+> "NomeDaPropriedade" é obrigatório caso a classe do form atue numa propriedade específica apenas, por exemplo, a classe de um editor para a propriedade Caption do componente TKRKRTFLabel se chamaria TFormRTFLabelCaptionEditor
\ No newline at end of file
--- trunk/rtp/src/ToolsAPI/_Leia-me.txt (revision 484)
+++ trunk/rtp/src/ToolsAPI/_Leia-me.txt (revision 485)
@@ -1,5 +1,3 @@
11 A pasta ToolsApi é "um mundo a parte" dentro do KRK. Todas as units que aqui existem funcionam apenas em pacotes ou dlls de experts, utilizadas em Designtime pelo Delphi. Se são designtime, por que não estão dentro da pasta dtp? Porque do ponto de vista de pacotes e experts (utilizados em designtime) estas units são runtime. Em outras palavras, aquilo que existe nesta pasta são units de runtime usadas exclusivamente por projetos (pacotes e dlls) de designtime.
22
3-A estrutura interna de pastas, com exceção da pasta Components, segue o mesmo princípio das pastas existentes em KRK, por exemplo, aqui há a pasta Rtl, que segue o estilo de nomenclatura idêntico aquele existente na pasta Rtl que se encontra um nível acima, porém, este é o Rtl do ponto de vista de ToolsAPI.
4-
5-KRK.ToolsApi.Rtl.Common.Classes.pas, por exemplo, é uma unit que contém aquilo que originalmente seria colocado na unit KRK.Rtl.Common.Classes.pas, porém isso faria esta ultima unit ficar dependente de DesignIde, que só deve ser usado em pacotes e dlls de experts e por isso houve essa necessidade de diferenciação
\ No newline at end of file
3+A estrutura interna de pastas, com exceção das pastas Components e Editors, segue a mesma estrutura das pastas existentes em KRK, por exemplo, aqui há a pasta Rtl, que segue o estilo de nomenclatura idêntico aquele existente na pasta Rtl que se encontra um nível acima, porém, este é o Rtl do ponto de vista de ToolsAPI. KRK.ToolsApi.Rtl.Common.Classes.pas, por exemplo, é uma unit que contém aquilo que originalmente seria colocado na unit KRK.Rtl.Common.Classes.pas, porém isso faria esta ultima unit ficar dependente de DesignIde, que só deve ser usado em pacotes e dlls de experts e por isso houve essa necessidade de diferenciação
\ No newline at end of file
--- trunk/rtp/src/Vcl/Padrões.txt (revision 484)
+++ trunk/rtp/src/Vcl/Padrões.txt (nonexistent)
@@ -1,9 +0,0 @@
1-Editores de propriedade e de componente são ativadores, que herdam de TComponentEditor ou TPropertyEditor. Um ativador de um editor de componente chama-se TNomeDoComponenteEditor e um ativador de um editor de propriedade chama-se TNomeDoComponenteNomeDaPropriedadeProperty, esta não é a convenção usada pelo Delphi, a qual não inclui o nome do componente, mas como no KRK vários componentes podem estar na mesma unit, seria provável existir um editor de propriedade com o mesmo nome para componentes distintos, mas com funcionalidades diferentes, o que não é possível. Tais "ativadores" encontram-se nas units que tem o mesmo nome das units dos componentes que eles manipulam, porém com o sufixo "Editors".
2-
3-Forms ou Frames que são exibidos quando um ativador é executado encontram-se em units que tem o mesmo nome da unit onde a classe do componente associado está, mais o nome da classe do componente (sem o prefixo TKRK), mais:
4-
5-> Caso seja um editor de componente que atue no componente como um todo, ou que manipule mais de uma propriedade (mais de um item no menu de contexto) adiciona-se apenas um ponto seguido da palavra Editor no final, por exemplo, um editor para o componente TKRKRTFLabel estaria na unit KRK.Vcl.ExtCtrls.RTFLabel.Editor.pas
6-
7-> Caso seja um editor de propriedade adiciona-se um ponto, mais o nome da propriedade seguido da palavra editor, por exemplo, um editor para a propriedade Caption de TKRKRTFLabel estará na unit KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas
8-
9-As classes dos Forms/Frames supramencionados usam o prefixo Form/Frame, mais nome do componente (sem o prefixo TKRK), mais o nome da propriedade, mais o sufixo Editor, por exemplo, a unit KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas contém uma classe TFormRTFLabelCaptionEditor que atua na propriedade Caption de TKRKRTFLabel. Já a unit KRK.Vcl.ExtCtrls.RTFLabel.Editor.pas conteria uma classe TFormRTFLabelEditor.
\ No newline at end of file
--- trunk/rtp/src/Vcl/_Leia-me.txt (revision 484)
+++ trunk/rtp/src/Vcl/_Leia-me.txt (nonexistent)
@@ -1 +0,0 @@
1-Units cujos nomes terminam com o sufixo "Editors" contém os "ativadores de editores de componentes", classes que dependem de DesignIntf, DesignEditors, etc., e normalmente chamam editores de propriedade ou de componente contidos na pasta ToolsApi\Editors. Foi necessário mover tais ativadores para units exclusivas para remover a dependência existente entre as units dos componentes e DesignIde.dcp. Ao não fazer isso, toda vez que se dava uses em uma unit de um componente, como o KRKDBGrid que tem um editor de propriedade, o programa final não compilava porque ele requeria ToolsApi, que está dentro de DesignIde, obrigando o desenvolvedor a compilar seu programa com Runtime Packages, o que nem sempre é desejado
\ No newline at end of file
--- trunk/rtp/src/Vcl/KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas (revision 484)
+++ trunk/rtp/src/Vcl/KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor.pas (nonexistent)
@@ -1,142 +0,0 @@
1-unit KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor;
2-
3-interface
4-
5-uses DesignWindows
6- , ComCtrls
7- , UPNGBitBtn
8- , Dialogs
9- , ActnList
10- , ExtActns
11- , ExtCtrls
12- , UPNGImageList
13- , StdActns
14- , Windows
15- , StdCtrls
16- , Classes
17- , Forms
18- , Controls
19- , ImgList
20- , Buttons
21- , ToolWin;
22-
23-type
24- TFormRTFLabelCaptionEditor = class(TDesignWindow)
25- RIED: TRichEdit;
26- PNBBCancel: TPngBitBtn;
27- PNBBOK: TPngBitBtn;
28- OPDI: TOpenDialog;
29- ACLI: TActionList;
30- ACTNCenter: TRichEditAlignCenter;
31- ToolBar1: TToolBar;
32- TOBULoad: TToolButton;
33- PANL: TPanel;
34- ACTNLoad: TAction;
35- PNIL: TPngImageList;
36- TOBUCenter: TToolButton;
37- TOBUSeparator1: TToolButton;
38- ACTNLeft: TRichEditAlignLeft;
39- ACTNRight: TRichEditAlignRight;
40- TOBURight: TToolButton;
41- TOBULeft: TToolButton;
42- TOBUSeparator2: TToolButton;
43- TOBUBold: TToolButton;
44- ACTNBold: TRichEditBold;
45- ACTNItalic: TRichEditItalic;
46- ACTNUnderline: TRichEditUnderline;
47- ACTNStrikeOut: TRichEditStrikeOut;
48- ACTNBullet: TRichEditBullets;
49- TOBUItalic: TToolButton;
50- TOBUUnderline: TToolButton;
51- TOBUStrikeOut: TToolButton;
52- TOBUSeparator3: TToolButton;
53- TOBUBullet: TToolButton;
54- ACTNFont: TFontEdit;
55- TOBUFont: TToolButton;
56- ACTNCut: TEditCut;
57- ACTNCopy: TEditCopy;
58- ACTNPaste: TEditPaste;
59- ACTNUndo: TEditUndo;
60- TOBUCut: TToolButton;
61- TOBUCopy: TToolButton;
62- TOBUPaste: TToolButton;
63- TOBUUndo: TToolButton;
64- TOBUSeparator4: TToolButton;
65- procedure ACTNLoadExecute(Sender: TObject);
66- procedure ACTNFontBeforeExecute(Sender: TObject);
67- procedure ACTNFontAccept(Sender: TObject);
68- private
69- { Private declarations }
70- function CurrentSelection: TTextAttributes;
71- public
72- { Public declarations }
73- class function ShowMe(AText: String): String;
74- end;
75-
76-implementation
77-
78-{$R *.dfm}
79-
80-{ TFormRTFLabelCaptionEditor }
81-
82-procedure TFormRTFLabelCaptionEditor.ACTNFontAccept(Sender: TObject);
83-begin
84- CurrentSelection.Assign(TFontEdit(Sender).Dialog.Font);
85-end;
86-
87-procedure TFormRTFLabelCaptionEditor.ACTNFontBeforeExecute(Sender: TObject);
88-begin
89- TFontEdit(Sender).Dialog.Font.Assign(CurrentSelection);
90-end;
91-
92-procedure TFormRTFLabelCaptionEditor.ACTNLoadExecute(Sender: TObject);
93-begin
94- if OPDI.Execute then
95- RIED.Lines.LoadFromFile(OPDI.FileName);
96-end;
97-
98-function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric; FontType: Integer; Data: Pointer): Integer; stdcall;
99-begin
100- TComboBox(Data).Items.Add(LogFont.lfFaceName);
101- Result := 1;
102-end;
103-
104-function TFormRTFLabelCaptionEditor.CurrentSelection: TTextAttributes;
105-begin
106- if RIED.SelLength > 0 then
107- Result := RIED.SelAttributes
108- else
109- Result := RIED.DefAttributes;
110-end;
111-
112-class function TFormRTFLabelCaptionEditor.ShowMe(AText: String): String;
113-var
114- SS: TStringStream;
115-begin
116- Result := AText;
117-
118- with Self.Create(Application) do
119- try
120- SS := TStringStream.Create(AText);
121- try
122- RIED.Lines.LoadFromStream(SS);
123- finally
124- SS.Free;
125- end;
126-
127- if ShowModal = mrOk then
128- begin
129- SS := TStringStream.Create('');
130- try
131- RIED.Lines.SaveToStream(SS);
132- Result := SS.DataString;
133- finally
134- SS.Free;
135- end;
136- end;
137- finally
138- Free;
139- end;
140-end;
141-
142-end.
--- trunk/rtp/src/Vcl/KRK.Vcl.ExtCtrls.Editors.pas (revision 484)
+++ trunk/rtp/src/Vcl/KRK.Vcl.ExtCtrls.Editors.pas (revision 485)
@@ -16,7 +16,7 @@
1616
1717 implementation
1818
19-uses KRK.Vcl.ExtCtrls.RTFLabel.CaptionEditor;
19+uses KRK.ToolsApi.Editors.RTFLabel.CaptionEditor;
2020
2121 { TKRKRTFLabelCaptionProperty }
2222
Show on old repository browser