From b36a4931e37eeaac75d649fd989a2f2a169caab8 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 18 Jun 2014 08:58:24 +0200 Subject: [PATCH] r7 --- lazproj/coedit.lpi | 10 +- lazproj/coedit.lpr | 6 +- lazproj/test/coeditproj/test.coedit | 4 +- lazproj/test/src/main.d | 6 +- src/ce_common.pas | 9 +- src/ce_d2syn.pas | 2 +- src/ce_dmdwrap.pas | 17 +- src/ce_editor.pas | 9 +- src/ce_main.lfm | 217 ++++++++++++++++++++- src/ce_main.pas | 54 ++++- src/ce_messages.pas | 31 +-- src/ce_projconf.lfm | 78 ++++---- src/ce_projconf.pas | 31 +-- src/ce_projconfall.lfm | 20 -- src/ce_projconfall.pas | 28 --- src/ce_projconfframe.lfm | 9 - src/ce_projconfframe.pas | 20 -- src/{ce_project.lfm => ce_projinspect.lfm} | 2 +- src/{ce_project.pas => ce_projinspect.pas} | 24 +-- src/ce_widget.lfm | 2 +- src/ce_widget.pas | 3 +- 21 files changed, 391 insertions(+), 191 deletions(-) delete mode 100644 src/ce_projconfall.lfm delete mode 100644 src/ce_projconfall.pas delete mode 100644 src/ce_projconfframe.lfm delete mode 100644 src/ce_projconfframe.pas rename src/{ce_project.lfm => ce_projinspect.lfm} (99%) rename src/{ce_project.pas => ce_projinspect.pas} (84%) diff --git a/lazproj/coedit.lpi b/lazproj/coedit.lpi index b40fb753..58c47be8 100644 --- a/lazproj/coedit.lpi +++ b/lazproj/coedit.lpi @@ -126,7 +126,7 @@ - + @@ -216,6 +216,14 @@ + + + + + + + + diff --git a/lazproj/coedit.lpr b/lazproj/coedit.lpr index 811eec68..f6a44fed 100644 --- a/lazproj/coedit.lpr +++ b/lazproj/coedit.lpr @@ -6,9 +6,9 @@ uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} - Interfaces, Forms, lazcontrols, runtimetypeinfocontrols, ce_main, ce_widget, - ce_common, ce_messages, ce_editor, ce_project, ce_synmemo, ce_dmdwrap, - ce_projconf, ce_projconfframe, ce_projconfall; + Interfaces, Forms, lazcontrols, runtimetypeinfocontrols, ce_widget, + ce_dmdwrap, ce_common, ce_synmemo, ce_main, ce_messages, ce_editor, ce_projinspect, + ce_projconf; {$R *.res} diff --git a/lazproj/test/coeditproj/test.coedit b/lazproj/test/coeditproj/test.coedit index 6d59de15..398f1586 100644 --- a/lazproj/test/coeditproj/test.coedit +++ b/lazproj/test/coeditproj/test.coedit @@ -33,8 +33,8 @@ object TCEProject documentationOptions.generateDocumentation = True documentationOptions.generateJSON = False documentationOptions.DocumentationDirectory = '..\doc' - debugingOptions.debug = True - debugingOptions.debugIdentifier = '1' + debugingOptions.debug = False + debugingOptions.debugIdentifier = '3' debugingOptions.addDInformations = False debugingOptions.addCInformations = False debugingOptions.generateMapFile = False diff --git a/lazproj/test/src/main.d b/lazproj/test/src/main.d index d128ae53..e0bd1b74 100644 --- a/lazproj/test/src/main.d +++ b/lazproj/test/src/main.d @@ -18,5 +18,9 @@ void main(string args[]) auto foo = new Foo; auto bar = new Bar; - readln; + scope(exit) + { + delete foo; + delete bar; + } } diff --git a/src/ce_common.pas b/src/ce_common.pas index 7566976e..84fd322a 100644 --- a/src/ce_common.pas +++ b/src/ce_common.pas @@ -148,16 +148,19 @@ end; function getModuleName(const aSource: TStrings): string; var ln: string; - pos: NativeInt; + pos, lcnt: NativeInt; id: string; tok: boolean; begin result := ''; tok := false; + lcnt := -1; for ln in aSource do begin pos := 1; id := ''; + lcnt += 1; + if lcnt > 100 then exit; while(true) do begin @@ -377,8 +380,8 @@ end; function TCEProject.getAbsoluteSourceName(const aIndex: integer): string; begin - if aIndex < 0 then exit; - if aIndex > fSrcs.Count-1 then exit; + if aIndex < 0 then exit(''); + if aIndex > fSrcs.Count-1 then exit(''); result := expandFileNameEx(fBasePath, fSrcs.Strings[aIndex]); end; diff --git a/src/ce_d2syn.pas b/src/ce_d2syn.pas index 8e946a12..8c38727a 100644 --- a/src/ce_d2syn.pas +++ b/src/ce_d2syn.pas @@ -290,7 +290,7 @@ constructor TSynD2Syn.create(aOwner: TComponent); begin inherited create(aOwner); - DefaultFilter:= '.d|.di'; + DefaultFilter:= 'D source|*.d|D interface|*.di'; fKeyWords.create; diff --git a/src/ce_dmdwrap.pas b/src/ce_dmdwrap.pas index 16e6123c..d7e56b40 100644 --- a/src/ce_dmdwrap.pas +++ b/src/ce_dmdwrap.pas @@ -85,13 +85,13 @@ type end; (***************************************************************************** - * Describes the target registry size - *) - TTargetSystem = (auto, os32bit, os64bit); - (** - * Describes the output kind - *) - TBinaryKind = (executable, staticlib, sharedlib, obj); + * Describes the target registry size + *) + TTargetSystem = (auto, os32bit, os64bit); + (** + * Describes the output kind + *) + TBinaryKind = (executable, staticlib, sharedlib, obj); (***************************************************************************** @@ -767,9 +767,6 @@ procedure TCompilerConfiguration.subOptsChanged(sender: TObject); begin Changed(true); doChanged; - {$IFDEF DEBUG} - writeln( #13#10 + getCmdLine); - {$ENDIF} end; procedure TCompilerConfiguration.doChanged; diff --git a/src/ce_editor.pas b/src/ce_editor.pas index e5bc661b..427dcb88 100644 --- a/src/ce_editor.pas +++ b/src/ce_editor.pas @@ -5,10 +5,10 @@ unit ce_editor; interface uses - Classes, SysUtils, FileUtil, ExtendedNotebook, Forms, Controls, Graphics, - SynEditKeyCmds, ComCtrls, SynEditHighlighter, SynEditHighlighterFoldBase, - SynMacroRecorder, SynPluginSyncroEdit, SynEdit, Dialogs, ExtCtrls, ce_widget, - ce_d2syn, ce_synmemo, ce_common; + Classes, SysUtils, eventlog, FileUtil, ExtendedNotebook, Forms, Controls, + Graphics, SynEditKeyCmds, ComCtrls, SynEditHighlighter, ExtCtrls, Menus, + SynEditHighlighterFoldBase, SynMacroRecorder, SynPluginSyncroEdit, SynEdit, + SynHighlighterLFM, ce_widget, ce_d2syn, ce_synmemo, ce_common; type { TCEEditorWidget } @@ -99,6 +99,7 @@ begin fSyncEdit.Editor := curr; identifierToD2Syn(curr); md := getModuleName(curr.Lines); + if md = '' then md := extractFileName(curr.fileName); pageControl.ActivePage.Caption := md; end; diff --git a/src/ce_main.lfm b/src/ce_main.lfm index f27f3204..c85afc56 100644 --- a/src/ce_main.lfm +++ b/src/ce_main.lfm @@ -8,7 +8,7 @@ object CEMainForm: TCEMainForm DragMode = dmAutomatic Menu = mainMenu OnDropFiles = FormDropFiles - LCLVersion = '1.2.2.0' + LCLVersion = '1.2.4.0' object mainMenu: TMainMenu Images = imgList object MenuItem1: TMenuItem @@ -252,6 +252,42 @@ object CEMainForm: TCEMainForm end object MenuItem50: TMenuItem Action = actFileSaveAll + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000001900000033000000330000 + 0033000000330000003300000033000000330000003300000021BB871F00BB87 + 1F00BB871F00BB871F00BB871F00BB871F00996E1795BF8816FFBF8816FFBF88 + 16FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFA77819B9BB871F00BB87 + 1F00BB871F00BB871F00BB871F00BB861E00BF8816FFF6CD8BFFF3C275FFF9FC + FFFF8B8D90FFF9F9F9FFF4F8FCFFF2C174FFF6CD8BFFBF8816FFBB871F00BB87 + 1F00BB871F00000000180000003300000033BF8816FFF3CC8BFFEBB65CFFF2ED + ECFF7F7978FFF1E9E2FFEEE9E8FFEAB55AFFF3CC8BFFBF8816FFBB871F00BB87 + 1F00BB871F00986D1795BF8816FFBF8816FFBF8816FFF3CE92FFE6AC4DFFEAD9 + C6FFFFFFFFFFFDFEFFFFE8D7C4FFE6AC4CFFF3CE93FFBF8816FF000000190000 + 003300000033BF8816FFF7CE8EFFF5C780FFBF8816FFF4D29BFFE3A43BFFE3A3 + 35FFE3A131FFE3A131FFE3A235FFE3A43BFFF4D39BFFBF8816FF996E1795BF88 + 16FFBF8816FFBF8816FFF4CD8DFFEEBD6AFFBF8816FFF5D5A3FFE8C99DFFEDE4 + E1FFEEE4DFFFEEE4DFFFEDE4E1FFE8C99DFFF5D6A5FFBF8816FFBF8816FFF7CE + 8EFFF5C780FFBF8816FFF3CF94FFEAB359FFBF8816FFF7DCAFFFEFE7E3FFB1A9 + A4FFB3ABA4FFB3ABA4FFB1A9A4FFEFE7E3FFF7DDB0FFBF8816FFBF8816FFF4CD + 8EFFEEBD6AFFBF8816FFF4D39CFFE7A944FFBF8816FFF9E4C4FFEFEBE5FFF0EA + E0FFF1EBE0FFF1EBE0FFF0EAE0FFEFEBE5FFFAE5C5FFBF8816FFBF8816FFF4CF + 95FFEAB359FFBF8816FFF5D6A5FFEACEA8FFBF8816FFFDE6C1FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9C7FFBF8816FFBF8816FFF5D4 + 9DFFE7A944FFBF8816FFF7DDB0FFF0EAEAFFE0BC73FFBF8816FFBF8816FFBF88 + 16FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFB9841AA7BF8816FFF6D7 + A7FFEACEA9FFBF8816FFF9E4C3FFEFECE8FFF0ECE9FFF1EEECFFF1EEECFFF1EE + EDFFF2F0F1FFFDE9CDFFBF8816FFB9841A00BA861D00BB871E00BF8816FFF8DE + B2FFF0ECEEFFBF8816FFFCE4BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFE9C9FFBF8816FFBB861D00BB871F00BB871F00BF8816FFFBE6 + C7FFF0EFEFFFE0BC73FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFBF88 + 16FFBF8816FFBF8816FFB9841A7BBB871E00BB871F00BB871F00BF8816FFFFE9 + C8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDD0FFBF88 + 16FFBA851B00BA861D00BB871E00BB871F00BB871F00BB871F00B9841AA7BF88 + 16FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFBF8816FFB985 + 1BA5BB871F00BB871F00BB871F00BB871F00BB871F00BB871F00 + } end object MenuItem25: TMenuItem Caption = '-' @@ -901,6 +937,9 @@ object CEMainForm: TCEMainForm 9FE5AEACA9FFB9B6B5FFABA9A5FFA7A5A2D2A8A6A323FFFFFF00 } end + object MenuItem51: TMenuItem + Action = actProjSource + end object MenuItem40: TMenuItem Caption = '-' end @@ -1026,9 +1065,81 @@ object CEMainForm: TCEMainForm end object MenuItem48: TMenuItem Action = actProjRun + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 001F000000080000003300000033000000040000002400000000000000000000 + 0000000000000000000000000000000000330000003300000033000000332D73 + BAAF1B3D60523F93D4FF3F93D4FF102438413578BAC300000024000000000000 + 0000000000230000002F00000000B88445FFC89451FFCE934AFF6D8192FF40A9 + EAFF429EDDFF52D0F8FF52D0F8FF439EDCFF48AAE2FF3980C8B6000000000000 + 0023AA7A3EBFB68243ED00000033B58142FFF5C378FFFCC371FFAD7E49FF3B9E + E3FF4ECFFBFF41B0EDFF42B1EDFF50CFFAFF439EDCFF1B3D5F5200000000AA7A + 3FBED2A76FFFD7A561FFB88241FFD39F58FFEDB96BFFF7B962FF288DE3FF4CCF + FCFF40B0EDFFC39F7BFF987653CB42B1EEFF52D0F9FF3F92D5FF00000000B984 + 43E9DDBB8CFFEEC486FFE8B466FFF1CC96FFF7DCB5FFFFDEADFF288CDFFF4CCE + FBFF3FAFEDFFFAB66DFFC7751FCE41B1EFFF52D0F9FF3F92D5FF000000330000 + 0033B78242FFE4B163FFEBC68EFFEACFA9FFD1A774FFD9A970FFCCBBA4FF399C + E1FF4CCEFBFF3FB0EEFF40B1EFFF4FCFFCFF429EDCFF16324E31B98545FFB782 + 42FFC8934EFFDFAB5EFFE4C494FFB68245DAB8813F3CBE823B2561809CFF37A8 + EFFF399DE3FF4CCFFDFF4AC7F8FF3D9EE1FF45AAE4FF3982CB9FC38F4EFFE2B5 + 72FFDEB06AFFDBA658FFC59555FF926935300000000000000000AA7333436A83 + 99FFCD9F5FFF298DE2FF2B8FE1FFB48B5AFF3081D29100000000C5995FFFF1DC + BBFFECD2ACFFD6A152FFC18C49FF70502A620000000C0000000C704F2861C88D + 44FFDFA24CFFEACEA6FFF1D7B2FFD79A51FF0000000000000000B98442FFB680 + 3EFFCEA673FFDBAE6EFFCB954BFFB88344FF6E4F2A616E4F2A61B88344FFCD97 + 4AFFDCAE6DFFD0A772FFB9813CFFBE843FFF0000000000000000000000000000 + 002FBA8547FFCE9949FFDAB276FFC9944BFFBE8943FFBE8943FFC9944BFFDAB2 + 76FFCE9949FFBA8546FF0000002F00000000000000000000000000000000B782 + 42ECD3AE7CFFE7CBA4FFEAD4B2FFE8D0ADFFCF9D56FFCF9D56FFE8D0ADFFEAD4 + B2FFE7CBA4FFD3AE7CFFB78242EC00000000000000000000000000000000B985 + 44AFCCA26CFFD4B080FFB98343FFCCA470FFC9984EFFC9984EFFCCA470FFB983 + 43FFD4B080FFCCA26CFFB98544AF000000000000000000000000000000000000 + 0000B98544AFB98443E900000000B78140FFE9D4B4FFE9D4B4FFB78140FF0000 + 0000B98443E9B98544AF00000000000000000000000000000000000000000000 + 0000000000000000000000000000BA8545FFB9843FFFB9843FFFBA8545FF0000 + 0000000000000000000000000000000000000000000000000000 + } end object MenuItem49: TMenuItem Action = actProjRunWithArgs + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 001F000000080000003300000033000000040000002400000000000000000000 + 0000000000000000000000000000000000330000003300000033000000332D73 + BAAF1B3D60523F93D4FF3F93D4FF102438413578BAC300000024000000000000 + 0000000000230000002F00000000B88445FFC89451FFCE934AFF6D8192FF40A9 + EAFF429EDDFF52D0F8FF52D0F8FF439EDCFF48AAE2FF3980C8B6000000000000 + 0023AA7A3EBFB68243ED00000033B58142FFF5C378FFFCC371FFAD7E49FF3B9E + E3FF4ECFFBFF41B0EDFF42B1EDFF50CFFAFF439EDCFF1B3D5F5200000000AA7A + 3FBED2A76FFFD7A561FFB88241FFD39F58FFEDB96BFFF7B962FF288DE3FF4CCF + FCFF40B0EDFFC39F7BFF987653CB42B1EEFF52D0F9FF3F92D5FF00000000B984 + 43E9DDBB8CFFEEC486FFE8B466FFF1CC96FFF7DCB5FFFFDEADFF288CDFFF4CCE + FBFF3FAFEDFFFAB66DFFC7751FCE41B1EFFF52D0F9FF3F92D5FF000000330000 + 0033B78242FFE4B163FFEBC68EFFEACFA9FFD1A774FFD9A970FFCCBBA4FF399C + E1FF4CCEFBFF3FB0EEFF40B1EFFF4FCFFCFF429EDCFF16324E31B98545FFB782 + 42FFC8934EFFDFAB5EFFE4C494FFB68245DAB8813F3CBE823B2561809CFF37A8 + EFFF399DE3FF4CCFFDFF4AC7F8FF3D9EE1FF45AAE4FF3982CB9FC38F4EFFE2B5 + 72FFDEB06AFFDBA658FFC59555FF926935300000000000000000AA7333436A83 + 99FFCD9F5FFF298DE2FF2B8FE1FFB48B5AFF3081D29100000000C5995FFFF1DC + BBFFECD2ACFFD6A152FFC18C49FF70502A620000000C0000000C704F2861C88D + 44FFDFA24CFFEACEA6FFF1D7B2FFD79A51FF0000000000000000B98442FFB680 + 3EFFCEA673FFDBAE6EFFCB954BFFB88344FF6E4F2A616E4F2A61B88344FFCD97 + 4AFFDCAE6DFFD0A772FFB9813CFFBE843FFF0000000000000000000000000000 + 002FBA8547FFCE9949FFDAB276FFC9944BFFBE8943FFBE8943FFC9944BFFDAB2 + 76FFCE9949FFBA8546FF0000002F00000000000000000000000000000000B782 + 42ECD3AE7CFFE7CBA4FFEAD4B2FFE8D0ADFFCF9D56FFCF9D56FFE8D0ADFFEAD4 + B2FFE7CBA4FFD3AE7CFFB78242EC00000000000000000000000000000000B985 + 44AFCCA26CFFD4B080FFB98343FFCCA470FFC9984EFFC9984EFFCCA470FFB983 + 43FFD4B080FFCCA26CFFB98544AF000000000000000000000000000000000000 + 0000B98544AFB98443E900000000B78140FFE9D4B4FFE9D4B4FFB78140FF0000 + 0000B98443E9B98544AF00000000000000000000000000000000000000000000 + 0000000000000000000000000000BA8545FFB9843FFFB9843FFFBA8545FF0000 + 0000000000000000000000000000000000000000000000000000 + } end end object MenuItem8: TMenuItem @@ -1236,9 +1347,81 @@ object CEMainForm: TCEMainForm end object MenuItem45: TMenuItem Action = actProjRun + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 001F000000080000003300000033000000040000002400000000000000000000 + 0000000000000000000000000000000000330000003300000033000000332D73 + BAAF1B3D60523F93D4FF3F93D4FF102438413578BAC300000024000000000000 + 0000000000230000002F00000000B88445FFC89451FFCE934AFF6D8192FF40A9 + EAFF429EDDFF52D0F8FF52D0F8FF439EDCFF48AAE2FF3980C8B6000000000000 + 0023AA7A3EBFB68243ED00000033B58142FFF5C378FFFCC371FFAD7E49FF3B9E + E3FF4ECFFBFF41B0EDFF42B1EDFF50CFFAFF439EDCFF1B3D5F5200000000AA7A + 3FBED2A76FFFD7A561FFB88241FFD39F58FFEDB96BFFF7B962FF288DE3FF4CCF + FCFF40B0EDFFC39F7BFF987653CB42B1EEFF52D0F9FF3F92D5FF00000000B984 + 43E9DDBB8CFFEEC486FFE8B466FFF1CC96FFF7DCB5FFFFDEADFF288CDFFF4CCE + FBFF3FAFEDFFFAB66DFFC7751FCE41B1EFFF52D0F9FF3F92D5FF000000330000 + 0033B78242FFE4B163FFEBC68EFFEACFA9FFD1A774FFD9A970FFCCBBA4FF399C + E1FF4CCEFBFF3FB0EEFF40B1EFFF4FCFFCFF429EDCFF16324E31B98545FFB782 + 42FFC8934EFFDFAB5EFFE4C494FFB68245DAB8813F3CBE823B2561809CFF37A8 + EFFF399DE3FF4CCFFDFF4AC7F8FF3D9EE1FF45AAE4FF3982CB9FC38F4EFFE2B5 + 72FFDEB06AFFDBA658FFC59555FF926935300000000000000000AA7333436A83 + 99FFCD9F5FFF298DE2FF2B8FE1FFB48B5AFF3081D29100000000C5995FFFF1DC + BBFFECD2ACFFD6A152FFC18C49FF70502A620000000C0000000C704F2861C88D + 44FFDFA24CFFEACEA6FFF1D7B2FFD79A51FF0000000000000000B98442FFB680 + 3EFFCEA673FFDBAE6EFFCB954BFFB88344FF6E4F2A616E4F2A61B88344FFCD97 + 4AFFDCAE6DFFD0A772FFB9813CFFBE843FFF0000000000000000000000000000 + 002FBA8547FFCE9949FFDAB276FFC9944BFFBE8943FFBE8943FFC9944BFFDAB2 + 76FFCE9949FFBA8546FF0000002F00000000000000000000000000000000B782 + 42ECD3AE7CFFE7CBA4FFEAD4B2FFE8D0ADFFCF9D56FFCF9D56FFE8D0ADFFEAD4 + B2FFE7CBA4FFD3AE7CFFB78242EC00000000000000000000000000000000B985 + 44AFCCA26CFFD4B080FFB98343FFCCA470FFC9984EFFC9984EFFCCA470FFB983 + 43FFD4B080FFCCA26CFFB98544AF000000000000000000000000000000000000 + 0000B98544AFB98443E900000000B78140FFE9D4B4FFE9D4B4FFB78140FF0000 + 0000B98443E9B98544AF00000000000000000000000000000000000000000000 + 0000000000000000000000000000BA8545FFB9843FFFB9843FFFBA8545FF0000 + 0000000000000000000000000000000000000000000000000000 + } end object MenuItem46: TMenuItem Action = actProjRunWithArgs + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 001F000000080000003300000033000000040000002400000000000000000000 + 0000000000000000000000000000000000330000003300000033000000332D73 + BAAF1B3D60523F93D4FF3F93D4FF102438413578BAC300000024000000000000 + 0000000000230000002F00000000B88445FFC89451FFCE934AFF6D8192FF40A9 + EAFF429EDDFF52D0F8FF52D0F8FF439EDCFF48AAE2FF3980C8B6000000000000 + 0023AA7A3EBFB68243ED00000033B58142FFF5C378FFFCC371FFAD7E49FF3B9E + E3FF4ECFFBFF41B0EDFF42B1EDFF50CFFAFF439EDCFF1B3D5F5200000000AA7A + 3FBED2A76FFFD7A561FFB88241FFD39F58FFEDB96BFFF7B962FF288DE3FF4CCF + FCFF40B0EDFFC39F7BFF987653CB42B1EEFF52D0F9FF3F92D5FF00000000B984 + 43E9DDBB8CFFEEC486FFE8B466FFF1CC96FFF7DCB5FFFFDEADFF288CDFFF4CCE + FBFF3FAFEDFFFAB66DFFC7751FCE41B1EFFF52D0F9FF3F92D5FF000000330000 + 0033B78242FFE4B163FFEBC68EFFEACFA9FFD1A774FFD9A970FFCCBBA4FF399C + E1FF4CCEFBFF3FB0EEFF40B1EFFF4FCFFCFF429EDCFF16324E31B98545FFB782 + 42FFC8934EFFDFAB5EFFE4C494FFB68245DAB8813F3CBE823B2561809CFF37A8 + EFFF399DE3FF4CCFFDFF4AC7F8FF3D9EE1FF45AAE4FF3982CB9FC38F4EFFE2B5 + 72FFDEB06AFFDBA658FFC59555FF926935300000000000000000AA7333436A83 + 99FFCD9F5FFF298DE2FF2B8FE1FFB48B5AFF3081D29100000000C5995FFFF1DC + BBFFECD2ACFFD6A152FFC18C49FF70502A620000000C0000000C704F2861C88D + 44FFDFA24CFFEACEA6FFF1D7B2FFD79A51FF0000000000000000B98442FFB680 + 3EFFCEA673FFDBAE6EFFCB954BFFB88344FF6E4F2A616E4F2A61B88344FFCD97 + 4AFFDCAE6DFFD0A772FFB9813CFFBE843FFF0000000000000000000000000000 + 002FBA8547FFCE9949FFDAB276FFC9944BFFBE8943FFBE8943FFC9944BFFDAB2 + 76FFCE9949FFBA8546FF0000002F00000000000000000000000000000000B782 + 42ECD3AE7CFFE7CBA4FFEAD4B2FFE8D0ADFFCF9D56FFCF9D56FFE8D0ADFFEAD4 + B2FFE7CBA4FFD3AE7CFFB78242EC00000000000000000000000000000000B985 + 44AFCCA26CFFD4B080FFB98343FFCCA470FFC9984EFFC9984EFFCCA470FFB983 + 43FFD4B080FFCCA26CFFB98544AF000000000000000000000000000000000000 + 0000B98544AFB98443E900000000B78140FFE9D4B4FFE9D4B4FFB78140FF0000 + 0000B98443E9B98544AF00000000000000000000000000000000000000000000 + 0000000000000000000000000000BA8545FFB9843FFFB9843FFFBA8545FF0000 + 0000000000000000000000000000000000000000000000000000 + } end end object mnuItemWin: TMenuItem @@ -1303,30 +1486,35 @@ object CEMainForm: TCEMainForm Caption = 'Save file' ImageIndex = 3 OnExecute = actFileSaveExecute + ShortCut = 16467 end object actFileSaveAs: TAction Category = 'File' Caption = 'Save file as...' ImageIndex = 2 OnExecute = actFileSaveAsExecute + ShortCut = 49235 end object actFileOpen: TAction Category = 'File' Caption = 'Open file...' ImageIndex = 9 OnExecute = actFileOpenExecute + ShortCut = 16463 end object actFileNew: TAction Category = 'File' Caption = 'new empty file' ImageIndex = 8 OnExecute = actFileNewExecute + ShortCut = 16462 end object actFileNewRun: TAction Category = 'File' Caption = 'New runnable module' ImageIndex = 22 OnExecute = actFileNewRunExecute + ShortCut = 49230 end object actFileAddToProj: TAction Category = 'File' @@ -1339,6 +1527,7 @@ object CEMainForm: TCEMainForm Caption = 'Compile and run file' ImageIndex = 22 OnExecute = actFileCompAndRunExecute + ShortCut = 16503 end object ActFileCompAndRunWithArgs: TAction Category = 'File' @@ -1357,6 +1546,7 @@ object CEMainForm: TCEMainForm Caption = 'Close file' ImageIndex = 27 OnExecute = actFileCloseExecute + ShortCut = 16471 end object actProjSave: TAction Category = 'Project' @@ -1394,17 +1584,25 @@ object CEMainForm: TCEMainForm ImageIndex = 24 OnExecute = actProjOptsExecute end + object actProjSource: TAction + Category = 'Project' + Caption = 'View Project source' + ImageIndex = 12 + OnExecute = actProjSourceExecute + end object actProjCompile: TAction Category = 'Project' Caption = 'Compile project' ImageIndex = 21 OnExecute = actProjCompileExecute + ShortCut = 16504 end object actProjCompileAndRun: TAction Category = 'Project' Caption = 'Compile and run project' ImageIndex = 21 OnExecute = actProjCompileAndRunExecute + ShortCut = 24696 end object actProjCompAndRunWithArgs: TAction Category = 'Project' @@ -1417,6 +1615,7 @@ object CEMainForm: TCEMainForm Caption = 'Run project' ImageIndex = 21 OnExecute = actProjRunExecute + ShortCut = 120 end object actProjRunWithArgs: TAction Category = 'Project' @@ -2332,4 +2531,20 @@ object CEMainForm: TCEMainForm HintShortPause = 2 left = 96 end + object LfmSyn: TSynLFMSyn + DefaultFilter = 'Fichiers fiches Lazarus (*.lfm)|*.lfm' + Enabled = False + CommentAttri.Foreground = clGreen + CommentAttri.FrameEdges = sfeAround + IdentifierAttri.Foreground = clBlack + IdentifierAttri.FrameEdges = sfeAround + KeyAttri.Foreground = clNavy + KeyAttri.FrameEdges = sfeAround + NumberAttri.Foreground = clPurple + NumberAttri.FrameEdges = sfeAround + SpaceAttri.FrameEdges = sfeAround + StringAttri.Foreground = clBlue + StringAttri.FrameEdges = sfeAround + left = 128 + end end diff --git a/src/ce_main.pas b/src/ce_main.pas index 73ae8c47..ac720c04 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -5,9 +5,9 @@ unit ce_main; interface uses - Classes, SysUtils, FileUtil, SynEditKeyCmds, Forms, Controls, Graphics, - Dialogs, Menus, ActnList, ce_common, ce_widget, ce_messages, ce_editor, - ce_project, ce_synmemo, ce_projconf, process, ce_dmdwrap; + Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms, + Controls, Graphics, Dialogs, Menus, ActnList, process, ce_common, ce_dmdwrap, + ce_synmemo, ce_widget, ce_messages, ce_editor, ce_projinspect, ce_projconf; type @@ -23,6 +23,7 @@ type actFileSaveAs: TAction; actFileSave: TAction; actFileCompAndRunWithArgs: TAction; + actProjSource: TAction; actProjRun: TAction; actProjRunWithArgs: TAction; actProjCompile: TAction; @@ -89,6 +90,7 @@ type MenuItem48: TMenuItem; MenuItem49: TMenuItem; MenuItem50: TMenuItem; + MenuItem51: TMenuItem; mnuItemWin: TMenuItem; MenuItem4: TMenuItem; MenuItem5: TMenuItem; @@ -96,6 +98,7 @@ type MenuItem7: TMenuItem; MenuItem8: TMenuItem; MenuItem9: TMenuItem; + LfmSyn: TSynLFMSyn; procedure actFileAddToProjExecute(Sender: TObject); procedure actFileCloseExecute(Sender: TObject); procedure actFileCompAndRunExecute(Sender: TObject); @@ -125,13 +128,14 @@ type procedure actProjSaveAsExecute(Sender: TObject); procedure actProjSaveExecute(Sender: TObject); procedure actEdUndoExecute(Sender: TObject); + procedure actProjSourceExecute(Sender: TObject); procedure FormDropFiles(Sender: TObject; const FileNames: array of String); private fProject: TCEProject; fWidgList: TCEWidgetList; fMesgWidg: TCEMessagesWidget; fEditWidg: TCEEditorWidget; - fProjWidg: TCEProjectWidget; + fProjWidg: TCEProjectInspectWidget; fPrjCfWidg: TCEProjectConfigurationWidget; // widget interfaces subroutines @@ -151,6 +155,7 @@ type procedure saveFileAs(const edIndex: NativeInt; const aFilename: string); // project sub routines + procedure saveProjSource(const aEditor: TCESynMemo); procedure projChange(sender: TObject); procedure newProj; procedure saveProj; @@ -168,7 +173,7 @@ type property WidgetList: TCEWidgetList read fWidgList; property MessageWidget: TCEMessagesWidget read fMesgWidg; property EditWidget: TCEEditorWidget read fEditWidg; - property ProjectWidget: TCEProjectWidget read fProjWidg; + property ProjectWidget: TCEProjectInspectWidget read fProjWidg; end; var @@ -194,7 +199,7 @@ begin fWidgList := TCEWidgetList.Create; fMesgWidg := TCEMessagesWidget.create(nil); fEditWidg := TCEEditorWidget.create(nil); - fProjWidg := TCEProjectWidget.create(nil); + fProjWidg := TCEProjectInspectWidget.create(nil); fPrjCfWidg:= TCEProjectConfigurationWidget.create(nil); fWidgList.addWidget(@fMesgWidg); @@ -219,7 +224,6 @@ begin end; newProj; - end; destructor TCEMainForm.destroy; @@ -288,6 +292,7 @@ begin actProjCompAndRunWithArgs.Enabled := hasProj; actProjRun.Enabled := hasProj; actProjRunWithArgs.Enabled := hasProj; + actProjSource.Enabled := hasProj; actFileAddToProj.Enabled := hasEd and hasProj; @@ -376,6 +381,12 @@ begin if fEditWidg = nil then exit; if edIndex >= fEditWidg.editorCount then exit; // + if fEditWidg.editor[edIndex].Highlighter = LfmSyn then + begin + saveProjSource(fEditWidg.editor[edIndex]); + exit; + end; + // str := fEditWidg.editor[edIndex].fileName; if str = '' then exit; try @@ -405,6 +416,7 @@ begin // with TOpenDialog.Create(nil) do try + filter := 'D source|*.d|D interface|*.di|all files|*.*'; if execute then begin openFile(filename); @@ -469,6 +481,8 @@ var begin if fEditWidg = nil then exit; if fEditWidg.editorIndex < 0 then exit; + if fEditWidg.editor[fEditWidg.editorIndex].Highlighter = LfmSyn + then exit; // str := fEditWidg.editor[fEditWidg.editorIndex].fileName; fProject.addSource(str); @@ -493,6 +507,7 @@ begin for fname in FileNames do openFile(fname); end; + {$ENDREGION} {$REGION edit ******************************************************************} @@ -804,8 +819,12 @@ end; {$REGION view ******************************************************************} procedure TCEMainForm.widgetShowFromAction(sender: TObject); +var + widg: TCEWidget; begin - TCEWidget( TComponent(sender).tag ).Show; + widg := TCEWidget( TComponent(sender).tag ); + if widg = nil then exit; + if widg.Visible then widg.Hide else widg.Show; end; {$ENDREGION} @@ -819,6 +838,16 @@ begin widg.projChange(fProject); end; +procedure TCEMainForm.saveProjSource(const aEditor: TCESynMemo); +begin + if fProject = nil then exit; + if fProject.fileName <> aEditor.fileName then exit; + // + aEditor.modified := false; + aEditor.Lines.SaveToFile(fProject.fileName); + self.openProj(fProject.fileName); +end; + procedure TCEMainForm.closeProj; var widg: TCEWidget; @@ -907,5 +936,14 @@ procedure TCEMainForm.actProjOptsExecute(Sender: TObject); begin fPrjCfWidg.Show; end; + +procedure TCEMainForm.actProjSourceExecute(Sender: TObject); +begin + if fProject = nil then exit; + if not fileExists(fProject.fileName) then exit; + // + openFile(fProject.fileName); + EditWidget.currentEditor.Highlighter := LfmSyn; +end; {$ENDREGION} end. diff --git a/src/ce_messages.pas b/src/ce_messages.pas index 904e94bb..bcc4bd90 100644 --- a/src/ce_messages.pas +++ b/src/ce_messages.pas @@ -170,6 +170,22 @@ function semanticMsgAna(const aMessg: string): TMessageKind; var pos: Nativeint; idt: string; +function checkIdent: TMessageKind; +begin + case idt of + 'ERROR', 'error', 'Error', 'Invalid', 'invalid', + 'illegal', 'Illegal', 'fatal', 'Fatal', 'Critical', 'critical': + exit(msgkError); + 'Warning', 'warning': + exit(msgkWarn); + 'Hint', 'hint', 'Tip', 'tip': + exit(msgkHint); + 'Information', 'information': + exit(msgkInfo); + else + exit(msgkUnknown); + end; +end; begin idt := ''; pos := 1; @@ -180,27 +196,20 @@ begin if aMessg[pos] in [#0..#32] then begin Inc(pos); + result := checkIdent; + if result <> msgkUnknown then exit; idt := ''; continue; end; if not (aMessg[pos] in ['a'..'z', 'A'..'Z']) then begin Inc(pos); + result := checkIdent; + if result <> msgkUnknown then exit; idt := ''; continue; end; idt += aMessg[pos]; - case idt of - 'ERROR', 'error', 'Error', 'Invalid', 'invalid', - 'illegal', 'Illegal', 'fatal', 'Fatal', 'Critical', 'critical': - exit(msgkError); - 'Warning', 'warning': - exit(msgkWarn); - 'Hint', 'hint', 'Tip', 'tip': - exit(msgkHint); - 'Information', 'information': - exit(msgkInfo); - end; Inc(pos); end; end; diff --git a/src/ce_projconf.lfm b/src/ce_projconf.lfm index d2db6b8f..8bbf4c04 100644 --- a/src/ce_projconf.lfm +++ b/src/ce_projconf.lfm @@ -1,26 +1,26 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget Left = 1098 Height = 278 - Width = 448 + Width = 455 BorderIcons = [biSystemMenu, biMinimize, biMaximize] Caption = 'Project configuration' ClientHeight = 278 - ClientWidth = 448 + ClientWidth = 455 inherited Back: TPanel Height = 278 - Width = 448 + Width = 455 ClientHeight = 278 - ClientWidth = 448 + ClientWidth = 455 inherited Content: TPanel Height = 252 - Width = 448 + Width = 455 ClientHeight = 252 - ClientWidth = 448 + ClientWidth = 455 object Tree: TTreeView[0] Left = 5 Height = 216 Top = 31 - Width = 190 + Width = 150 Align = alLeft AutoExpand = True BorderSpacing.Left = 4 @@ -48,46 +48,22 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget FF0000000000000000000E000000416C6C2063617465676F72696573 } end - inline frameEditAll: TCEProjConfAll[1] - Left = 202 - Height = 220 - Top = 29 - Width = 243 - Align = alClient - BorderSpacing.Around = 2 - ClientHeight = 220 - ClientWidth = 243 - TabOrder = 1 - DesignLeft = 1406 - DesignTop = 572 - inherited Grid: TTIPropertyGrid - Left = 2 - Height = 216 - Top = 2 - Width = 239 - BackgroundColor = clDefault - BorderSpacing.Around = 2 - DefaultItemHeight = 22 - PreferredSplitterX = 150 - SplitterX = 150 - end - end - object Panel1: TPanel[2] + object Panel1: TPanel[1] Left = 3 Height = 24 Top = 3 - Width = 442 + Width = 449 Align = alTop BorderSpacing.Around = 2 BevelOuter = bvNone ClientHeight = 24 - ClientWidth = 442 - TabOrder = 2 + ClientWidth = 449 + TabOrder = 1 object selConf: TComboBox Left = 0 Height = 23 Top = 1 - Width = 351 + Width = 358 Align = alClient BorderSpacing.Top = 1 BorderSpacing.Right = 1 @@ -97,7 +73,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget TabOrder = 0 end object btnAddConf: TSpeedButton - Left = 352 + Left = 359 Height = 24 Top = 0 Width = 30 @@ -142,7 +118,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget ShowCaption = False end object btnDelConf: TSpeedButton - Left = 382 + Left = 389 Height = 24 Top = 0 Width = 30 @@ -187,7 +163,7 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget ShowCaption = False end object btnCloneConf: TSpeedButton - Left = 412 + Left = 419 Height = 24 Top = 0 Width = 30 @@ -232,15 +208,33 @@ inherited CEProjectConfigurationWidget: TCEProjectConfigurationWidget ShowCaption = False end end - object Splitter1: TSplitter[3] - Left = 195 + object Splitter1: TSplitter[2] + Left = 155 Height = 222 Top = 29 Width = 5 end + object Grid: TTIPropertyGrid[3] + Left = 160 + Height = 216 + Top = 31 + Width = 290 + Align = alClient + BorderSpacing.Top = 4 + BorderSpacing.Right = 4 + BorderSpacing.Bottom = 4 + DefaultValueFont.Color = clWindowText + Filter = [tkInteger, tkChar, tkEnumeration, tkFloat, tkSet, tkMethod, tkSString, tkLString, tkAString, tkWString, tkVariant, tkArray, tkRecord, tkInterface, tkClass, tkWChar, tkBool, tkInt64, tkQWord, tkDynArray, tkInterfaceRaw, tkProcVar, tkUString, tkUChar, tkHelper] + Indent = 16 + NameFont.Color = clWindowText + OnEditorFilter = GridEditorFilter + PreferredSplitterX = 145 + SplitterX = 145 + ValueFont.Color = clMaroon + end end inherited Header: TPanel - Width = 448 + Width = 455 end end object imgList: TImageList[2] diff --git a/src/ce_projconf.pas b/src/ce_projconf.pas index e7b42f3f..7064d0a0 100644 --- a/src/ce_projconf.pas +++ b/src/ce_projconf.pas @@ -5,9 +5,9 @@ unit ce_projconf; interface uses - Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, - ComCtrls, StdCtrls, Menus, Buttons, ce_widget, ce_common, ce_projconfall, - ce_dmdwrap; + Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, Dialogs, + ExtCtrls, ComCtrls, StdCtrls, Menus, Buttons, ce_widget, ce_common, + ce_projconfall, ce_dmdwrap, PropEdits, ObjectInspector; type @@ -15,16 +15,18 @@ type TCEProjectConfigurationWidget = class(TCEWidget) imgList: TImageList; selConf: TComboBox; - frameEditAll: TCEProjConfAll; Panel1: TPanel; btnAddConf: TSpeedButton; btnDelConf: TSpeedButton; btnCloneConf: TSpeedButton; Splitter1: TSplitter; + Grid: TTIPropertyGrid; Tree: TTreeView; procedure btnAddConfClick(Sender: TObject); procedure btnDelConfClick(Sender: TObject); procedure btnCloneCurrClick(Sender: TObject); + procedure GridEditorFilter(Sender: TObject; aEditor: TPropertyEditor; + var aShow: boolean); procedure selConfChange(Sender: TObject); procedure TreeChange(Sender: TObject; Node: TTreeNode); private @@ -65,8 +67,8 @@ end; procedure TCEProjectConfigurationWidget.projClose(const aProject: TCEProject); begin - frameEditAll.Grid.TIObject := nil; - frameEditAll.Grid.ItemIndex :=-1; + Grid.TIObject := nil; + Grid.ItemIndex :=-1; fProj := nil; end; @@ -84,7 +86,13 @@ end; procedure TCEProjectConfigurationWidget.TreeChange(Sender: TObject; Node: TTreeNode); begin - frameEditAll.Grid.TIObject := getGridTarget; + Grid.TIObject := getGridTarget; +end; + +procedure TCEProjectConfigurationWidget.GridEditorFilter(Sender: TObject; + aEditor: TPropertyEditor; var aShow: boolean); +begin + if aEditor.ClassType = TCollectionPropertyEditor then aShow := false; end; procedure TCEProjectConfigurationWidget.btnAddConfClick(Sender: TObject); @@ -108,9 +116,9 @@ begin if fProj.OptionsCollection.Count = 1 then exit; // beginManualWidgetUpdate; - frameEditAll.Grid.TIObject := nil; - frameEditAll.Grid.Clear; - frameEditAll.Invalidate; + Grid.TIObject := nil; + Grid.Clear; + Invalidate; fProj.OptionsCollection.Delete(selConf.ItemIndex); fProj.ConfigurationIndex := 0; endManualWidgetUpdate; @@ -138,6 +146,7 @@ begin if fProj = nil then exit(nil); if fProj.ConfigurationIndex = -1 then exit(nil); if Tree.Selected = nil then exit(nil); + // Warning: TTreeNode.StateIndex is usually made for the images...it's not a tag case Tree.Selected.StateIndex of 1: exit( fProj ); 2: exit( fProj.currentConfiguration.messagesOptions ); @@ -161,7 +170,7 @@ begin selConf.Items.Add(fProj.configuration[i].name); selConf.ItemIndex := fProj.ConfigurationIndex; - frameEditAll.Grid.TIObject := getGridTarget; + Grid.TIObject := getGridTarget; end; end. diff --git a/src/ce_projconfall.lfm b/src/ce_projconfall.lfm deleted file mode 100644 index 8d02de2c..00000000 --- a/src/ce_projconfall.lfm +++ /dev/null @@ -1,20 +0,0 @@ -inherited CEProjConfAll: TCEProjConfAll - Height = 428 - Width = 297 - ClientHeight = 428 - ClientWidth = 297 - DesignLeft = 1271 - DesignTop = 500 - object Grid: TTIPropertyGrid[0] - Left = 0 - Height = 428 - Top = 0 - Width = 297 - Align = alClient - DefaultValueFont.Color = clWindowText - Filter = [tkInteger, tkChar, tkEnumeration, tkFloat, tkSet, tkMethod, tkSString, tkLString, tkAString, tkWString, tkVariant, tkArray, tkRecord, tkInterface, tkClass, tkObject, tkWChar, tkBool, tkInt64, tkQWord, tkDynArray, tkInterfaceRaw, tkProcVar, tkUString, tkUChar, tkHelper] - Indent = 16 - NameFont.Color = clWindowText - ValueFont.Color = clMaroon - end -end diff --git a/src/ce_projconfall.pas b/src/ce_projconfall.pas deleted file mode 100644 index 8e85bfa1..00000000 --- a/src/ce_projconfall.pas +++ /dev/null @@ -1,28 +0,0 @@ -unit ce_projconfall; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, Dialogs, - ce_projconfframe; - -type - - { TCEProjConfAll } - - TCEProjConfAll = class(TCEProjConfFrame) - Grid: TTIPropertyGrid; - private - { private declarations } - public - { public declarations } - end; - -implementation - -{$R *.lfm} - -end. - diff --git a/src/ce_projconfframe.lfm b/src/ce_projconfframe.lfm deleted file mode 100644 index 87c8ea8d..00000000 --- a/src/ce_projconfframe.lfm +++ /dev/null @@ -1,9 +0,0 @@ -object CEProjConfFrame: TCEProjConfFrame - Left = 0 - Height = 240 - Top = 0 - Width = 320 - TabOrder = 0 - DesignLeft = 677 - DesignTop = 497 -end diff --git a/src/ce_projconfframe.pas b/src/ce_projconfframe.pas deleted file mode 100644 index 4916cfb0..00000000 --- a/src/ce_projconfframe.pas +++ /dev/null @@ -1,20 +0,0 @@ -unit ce_projconfframe; - -{$mode objfpc}{$H+} - -interface - -uses - Classes, SysUtils, FileUtil, Forms, Controls, ce_common; - -type - TCEProjConfFrame = class(TFrame) - private - protected - end; - -implementation -{$R *.lfm} - -end. - diff --git a/src/ce_project.lfm b/src/ce_projinspect.lfm similarity index 99% rename from src/ce_project.lfm rename to src/ce_projinspect.lfm index eb026956..a017c97f 100644 --- a/src/ce_project.lfm +++ b/src/ce_projinspect.lfm @@ -1,4 +1,4 @@ -inherited CEProjectWidget: TCEProjectWidget +inherited CEProjectInspectWidget: TCEProjectInspectWidget Left = 1670 Height = 405 Top = 89 diff --git a/src/ce_project.pas b/src/ce_projinspect.pas similarity index 84% rename from src/ce_project.pas rename to src/ce_projinspect.pas index 79358936..d49194a6 100644 --- a/src/ce_project.pas +++ b/src/ce_projinspect.pas @@ -1,4 +1,4 @@ -unit ce_project; +unit ce_projinspect; {$mode objfpc}{$H+} @@ -9,8 +9,8 @@ uses Dialogs, ExtCtrls, ComCtrls, Menus, Buttons, ce_common, ce_widget; type - { TCEProjectWidget } - TCEProjectWidget = class(TCEWidget) + { TCEProjectInspectWidget } + TCEProjectInspectWidget = class(TCEWidget) imgList: TImageList; Panel1: TPanel; btnAddFile: TSpeedButton; @@ -42,7 +42,7 @@ implementation uses ce_main; -constructor TCEProjectWidget.create(aOwner: TComponent); +constructor TCEProjectInspectWidget.create(aOwner: TComponent); begin inherited; fID := 'ID_PROJ'; @@ -51,25 +51,25 @@ begin fConfNode := Tree.Items[1]; end; -procedure TCEProjectWidget.projNew(const aProject: TCEProject); +procedure TCEProjectInspectWidget.projNew(const aProject: TCEProject); begin fProject := aProject; manualWidgetUpdate; end; -procedure TCEProjectWidget.projChange(const aProject: TCEProject); +procedure TCEProjectInspectWidget.projChange(const aProject: TCEProject); begin fProject := aProject; manualWidgetUpdate; end; -procedure TCEProjectWidget.projClose(const aProject: TCEProject); +procedure TCEProjectInspectWidget.projClose(const aProject: TCEProject); begin fProject := nil; manualWidgetUpdate; end; -procedure TCEProjectWidget.TreeDblClick(sender: TObject); +procedure TCEProjectInspectWidget.TreeDblClick(sender: TObject); var fname: string; i: NativeInt; @@ -96,7 +96,7 @@ begin end; end; -procedure TCEProjectWidget.btnAddFileClick(Sender: TObject); +procedure TCEProjectInspectWidget.btnAddFileClick(Sender: TObject); begin if fProject = nil then exit; // @@ -110,7 +110,7 @@ begin end; end; -procedure TCEProjectWidget.btnAddFoldClick(Sender: TObject); +procedure TCEProjectInspectWidget.btnAddFoldClick(Sender: TObject); var dir, ext, fname: string; sr: TSearchRec; @@ -143,7 +143,7 @@ begin end; end; -procedure TCEProjectWidget.btnRemFileClick(Sender: TObject); +procedure TCEProjectInspectWidget.btnRemFileClick(Sender: TObject); var fname: string; i: NativeInt; @@ -160,7 +160,7 @@ begin end end; -procedure TCEProjectWidget.manualWidgetUpdate; +procedure TCEProjectInspectWidget.manualWidgetUpdate; var src, conf: string; itm: TTreeNode; diff --git a/src/ce_widget.lfm b/src/ce_widget.lfm index 3ce9655b..eaecaf55 100644 --- a/src/ce_widget.lfm +++ b/src/ce_widget.lfm @@ -7,7 +7,7 @@ object CEWidget: TCEWidget Caption = 'CEWidget' ClientHeight = 121 ClientWidth = 320 - LCLVersion = '1.2.2.0' + LCLVersion = '1.2.4.0' object Back: TPanel Left = 0 Height = 121 diff --git a/src/ce_widget.pas b/src/ce_widget.pas index 08e081f8..ec75ff5b 100644 --- a/src/ce_widget.pas +++ b/src/ce_widget.pas @@ -6,7 +6,7 @@ interface uses Classes, SysUtils, FileUtil, Forms, Controls, ExtCtrls, - ce_common, ActnList, Menus, syncobjs; + ActnList, Menus, syncobjs, ce_common; type @@ -111,7 +111,6 @@ begin begin writeln('widget update count > 0'); exit; - end; fManuUpdating := true;