educationlaz: propevents

git-svn-id: trunk@23289 -
This commit is contained in:
mattias 2009-12-26 10:59:14 +00:00
parent 9966c2200c
commit 8732cff32f
19 changed files with 759 additions and 254 deletions

2
.gitattributes vendored
View File

@ -722,6 +722,8 @@ components/education/eduoptionsdlg.pas svneol=native#text/plain
components/education/edupkgsystem.lfm svneol=native#text/plain
components/education/edupkgsystem.lrs svneol=native#text/plain
components/education/edupkgsystem.pas svneol=native#text/plain
components/education/edupropsevents.lfm svneol=native#text/plain
components/education/edupropsevents.pas svneol=native#text/plain
components/filebrowser/frmconfigfilebrowser.lfm svneol=native#text/plain
components/filebrowser/frmconfigfilebrowser.lrs svneol=native#text/pascal
components/filebrowser/frmconfigfilebrowser.pp svneol=native#text/plain

View File

@ -2,15 +2,9 @@ Package EducationLaz
====================
This package helps to setup the IDE for courses, training and education.
Install this package in the IDE and setup it in
Environment / Options .. / Education
The documentation can be found here:
http://wiki.lazarus.freepascal.org/Lazarus_for_education
ToDo:
register menu item for options dialog
option to hide various tools
option to hide menu items for frames
option to hide menu items for packages
option to hide menu items for forms
option to hide components in the component palette
speed button for single file program
option component name at create
option file name at create
option Form name at create

View File

@ -15,7 +15,7 @@
<Description Value="IDE package for training, courses and education."/>
<License Value="LGPL-2 or any later"/>
<Version Major="1" Release="1"/>
<Files Count="7">
<Files Count="8">
<Item1>
<Filename Value="eduenvoptsframe.pas"/>
<HasRegisterProc Value="True"/>
@ -49,8 +49,14 @@
<HasRegisterProc Value="True"/>
<UnitName Value="EduNewProgram"/>
</Item7>
<Item8>
<Filename Value="edupropsevents.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="EduPropsEvents"/>
</Item8>
</Files>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<Type Value="RunAndDesignTime"/>

View File

@ -2,13 +2,13 @@
This source is only used to compile and install the package.
}
unit EducationLaz;
unit educationlaz;
interface
uses
EduEnvOptsFrame, EduOptions, EduPkgSystem, EduCompPalette, EduMenu,
EduNewProgram, LazarusPackageIntf;
EduNewProgram, EduPropsEvents, LazarusPackageIntf;
implementation
@ -19,6 +19,7 @@ begin
RegisterUnit('EduCompPalette', @EduCompPalette.Register);
RegisterUnit('EduMenu', @EduMenu.Register);
RegisterUnit('EduNewProgram', @EduNewProgram.Register);
RegisterUnit('EduPropsEvents', @EduPropsEvents.Register);
end;
initialization

View File

@ -5,8 +5,8 @@ inherited EduCompPaletteFrame: TEduCompPaletteFrame
ClientWidth = 480
OnClick = FrameClick
TabOrder = 0
DesignLeft = 623
DesignTop = 145
DesignLeft = 906
DesignTop = 133
object ComponentsGroupBox: TGroupBox[0]
AnchorSideTop.Control = Owner
AnchorSideBottom.Control = Owner

View File

@ -3,7 +3,7 @@
LazarusResources.Add('TEduCompPaletteFrame','FORMDATA',[
'TPF0'#241#20'TEduCompPaletteFrame'#19'EduCompPaletteFrame'#6'Height'#3#153#1
+#5'Width'#3#224#1#12'ClientHeight'#3#153#1#11'ClientWidth'#3#224#1#7'OnClick'
+#7#10'FrameClick'#8'TabOrder'#2#0#10'DesignLeft'#3'o'#2#9'DesignTop'#3#145#0
+#7#10'FrameClick'#8'TabOrder'#2#0#10'DesignLeft'#3#138#3#9'DesignTop'#3#133#0
+#0#242#2#0#9'TGroupBox'#18'ComponentsGroupBox'#21'AnchorSideTop.Control'#7#5
+'Owner'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3#142#0#6'Height'#3#141#1#3'Top'#2#6#5'Width'#3'L'#1#5'A'

View File

@ -324,7 +324,7 @@ end;
function TEduCompPaletteFrame.GetTitle: String;
begin
Result:='Component palette';
Result:=ersEduCompPaletteTitle;
end;
procedure TEduCompPaletteFrame.ReadSettings(AOptions: TAbstractIDEOptions);

View File

@ -5,15 +5,15 @@ inherited EduEnvFrame: TEduEnvFrame
ClientWidth = 495
OnClick = FrameClick
TabOrder = 0
DesignLeft = 352
DesignTop = 192
DesignLeft = 725
DesignTop = 198
object EnableCheckBox: TCheckBox[0]
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 18
Height = 17
Top = 6
Width = 124
Width = 99
BorderSpacing.Around = 6
Caption = 'EnableCheckBox'
TabOrder = 0

View File

@ -3,9 +3,9 @@
LazarusResources.Add('TEduEnvFrame','FORMDATA',[
'TPF0'#241#12'TEduEnvFrame'#11'EduEnvFrame'#6'Height'#3#132#1#5'Width'#3#239#1
+#12'ClientHeight'#3#132#1#11'ClientWidth'#3#239#1#7'OnClick'#7#10'FrameClick'
+#8'TabOrder'#2#0#10'DesignLeft'#3'`'#1#9'DesignTop'#3#192#0#0#242#2#0#9'TChe'
+'ckBox'#14'EnableCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSi'
+'deTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2
+'|'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'EnableCheckBox'#8'TabOrder'
+#8'TabOrder'#2#0#10'DesignLeft'#3#213#2#9'DesignTop'#3#198#0#0#242#2#0#9'TCh'
+'eckBox'#14'EnableCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorS'
+'ideTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#6#5'Width'#2
+'c'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'EnableCheckBox'#8'TabOrder'
+#2#0#0#0#0
]);

View File

@ -98,12 +98,12 @@ end;
function TEduEnvFrame.GetTitle: String;
begin
Result:='General';
Result:=ersEduEnvOptsFrameTitle;
end;
procedure TEduEnvFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
begin
EnableCheckBox.Caption:='Enable education settings';
EnableCheckBox.Caption:=ersEnableEduCheckBoxCaption;
end;
procedure TEduEnvFrame.ReadSettings(AOptions: TAbstractIDEOptions);

View File

@ -5,26 +5,26 @@ inherited EduMenuFrame: TEduMenuFrame
ClientWidth = 437
OnClick = FrameClick
TabOrder = 0
DesignLeft = 297
DesignTop = 171
DesignLeft = 437
DesignTop = 99
object MenusGroupBox: TGroupBox[0]
Left = 176
Left = 143
Height = 289
Top = 6
Width = 255
Width = 288
Align = alClient
BorderSpacing.Around = 6
Caption = 'MenusGroupBox'
ClientHeight = 267
ClientWidth = 247
ClientHeight = 271
ClientWidth = 284
TabOrder = 0
object MenusTreeView: TTreeView
Left = 0
Height = 267
Height = 271
Top = 0
Width = 247
Width = 284
Align = alClient
DefaultItemHeight = 19
DefaultItemHeight = 15
ReadOnly = True
TabOrder = 0
OnMouseDown = MenusTreeViewMouseDown
@ -35,7 +35,7 @@ inherited EduMenuFrame: TEduMenuFrame
Left = 0
Height = 301
Top = 0
Width = 170
Width = 137
Align = alLeft
AutoSize = True
ChildSizing.LeftRightSpacing = 6
@ -43,13 +43,13 @@ inherited EduMenuFrame: TEduMenuFrame
ChildSizing.HorizontalSpacing = 6
ChildSizing.VerticalSpacing = 6
ClientHeight = 301
ClientWidth = 170
ClientWidth = 137
TabOrder = 1
object ShowAllButton: TButton
Left = 7
Height = 20
Height = 23
Top = 7
Width = 156
Width = 123
Align = alTop
AutoSize = True
Caption = 'ShowAllButton'
@ -58,9 +58,9 @@ inherited EduMenuFrame: TEduMenuFrame
end
object ShowAllChildsButton: TButton
Left = 7
Height = 20
Top = 33
Width = 156
Height = 23
Top = 36
Width = 123
Align = alTop
AutoSize = True
Caption = 'ShowAllChildsButton'

View File

@ -3,24 +3,24 @@
LazarusResources.Add('TEduMenuFrame','FORMDATA',[
'TPF0'#241#13'TEduMenuFrame'#12'EduMenuFrame'#6'Height'#3'-'#1#5'Width'#3#181
+#1#12'ClientHeight'#3'-'#1#11'ClientWidth'#3#181#1#7'OnClick'#7#10'FrameClic'
+'k'#8'TabOrder'#2#0#10'DesignLeft'#3')'#1#9'DesignTop'#3#171#0#0#242#2#0#9'T'
+'GroupBox'#13'MenusGroupBox'#4'Left'#3#176#0#6'Height'#3'!'#1#3'Top'#2#6#5'W'
+'idth'#3#255#0#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#13'MenusGroupBox'#12'ClientHeight'#3#11#1#11'ClientWidth'#3#247#0#8'TabOr'
+'der'#2#0#0#9'TTreeView'#13'MenusTreeView'#4'Left'#2#0#6'Height'#3#11#1#3'To'
+'p'#2#0#5'Width'#3#247#0#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#19#8
+'ReadOnly'#9#8'TabOrder'#2#0#11'OnMouseDown'#7#22'MenusTreeViewMouseDown'#7
+'Options'#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedN'
+'odes'#11'tvoReadOnly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11
+'tvoToolTips'#0#0#0#0#242#2#1#6'TPanel'#15'EduMenuBtnPanel'#4'Left'#2#0#6'He'
+'ight'#3'-'#1#3'Top'#2#0#5'Width'#3#170#0#5'Align'#7#6'alLeft'#8'AutoSize'#9
+#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29
+'ChildSizing.HorizontalSpacing'#2#6#27'ChildSizing.VerticalSpacing'#2#6#12'C'
+'lientHeight'#3'-'#1#11'ClientWidth'#3#170#0#8'TabOrder'#2#1#0#7'TButton'#13
+'ShowAllButton'#4'Left'#2#7#6'Height'#2#20#3'Top'#2#7#5'Width'#3#156#0#5'Ali'
+'gn'#7#5'alTop'#8'AutoSize'#9#7'Caption'#6#13'ShowAllButton'#7'OnClick'#7#18
+'ShowAllButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#19'ShowAllChildsButton'#4
+'Left'#2#7#6'Height'#2#20#3'Top'#2'!'#5'Width'#3#156#0#5'Align'#7#5'alTop'#8
+'AutoSize'#9#7'Caption'#6#19'ShowAllChildsButton'#7'OnClick'#7#24'ShowAllChi'
+'ldsButtonClick'#8'TabOrder'#2#1#0#0#0#0
+'k'#8'TabOrder'#2#0#10'DesignLeft'#3#181#1#9'DesignTop'#2'c'#0#242#2#0#9'TGr'
+'oupBox'#13'MenusGroupBox'#4'Left'#3#143#0#6'Height'#3'!'#1#3'Top'#2#6#5'Wid'
+'th'#3' '#1#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#13'MenusGroupBox'#12'ClientHeight'#3#15#1#11'ClientWidth'#3#28#1#8'TabOrder'
+#2#0#0#9'TTreeView'#13'MenusTreeView'#4'Left'#2#0#6'Height'#3#15#1#3'Top'#2#0
+#5'Width'#3#28#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#15#8'ReadOnl'
+'y'#9#8'TabOrder'#2#0#11'OnMouseDown'#7#22'MenusTreeViewMouseDown'#7'Options'
+#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11
+'tvoReadOnly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoTool'
+'Tips'#0#0#0#0#242#2#1#6'TPanel'#15'EduMenuBtnPanel'#4'Left'#2#0#6'Height'#3
+'-'#1#3'Top'#2#0#5'Width'#3#137#0#5'Align'#7#6'alLeft'#8'AutoSize'#9#28'Chil'
+'dSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Child'
+'Sizing.HorizontalSpacing'#2#6#27'ChildSizing.VerticalSpacing'#2#6#12'Client'
+'Height'#3'-'#1#11'ClientWidth'#3#137#0#8'TabOrder'#2#1#0#7'TButton'#13'Show'
+'AllButton'#4'Left'#2#7#6'Height'#2#23#3'Top'#2#7#5'Width'#2'{'#5'Align'#7#5
+'alTop'#8'AutoSize'#9#7'Caption'#6#13'ShowAllButton'#7'OnClick'#7#18'ShowAll'
+'ButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#19'ShowAllChildsButton'#4'Left'
+#2#7#6'Height'#2#23#3'Top'#2'$'#5'Width'#2'{'#5'Align'#7#5'alTop'#8'AutoSize'
+#9#7'Caption'#6#19'ShowAllChildsButton'#7'OnClick'#7#24'ShowAllChildsButtonC'
+'lick'#8'TabOrder'#2#1#0#0#0#0
]);

View File

@ -294,7 +294,7 @@ end;
function TEduMenuFrame.GetTitle: String;
begin
Result:='Menus';
Result:=ersEduMenuTitle
end;
procedure TEduMenuFrame.ReadSettings(AOptions: TAbstractIDEOptions);

View File

@ -4,24 +4,24 @@ inherited EduNewPrgFrame: TEduNewPrgFrame
ClientHeight = 320
ClientWidth = 453
TabOrder = 0
DesignLeft = 297
DesignTop = 171
DesignLeft = 795
DesignTop = 54
object SrcGroupBox: TGroupBox[0]
Left = 6
Height = 258
Top = 56
Height = 262
Top = 52
Width = 441
Align = alClient
BorderSpacing.Around = 6
Caption = 'SrcGroupBox'
ClientHeight = 236
ClientWidth = 433
ClientHeight = 244
ClientWidth = 437
TabOrder = 0
object SrcSynEdit: TSynEdit
Left = 0
Height = 210
Height = 218
Top = 26
Width = 433
Width = 437
Align = alClient
Font.Height = 12
Font.Name = 'Monaco'
@ -30,7 +30,8 @@ inherited EduNewPrgFrame: TEduNewPrgFrame
ParentColor = False
ParentFont = False
TabOrder = 0
Gutter.Width = 55
BookMarkOptions.OnChange = nil
Gutter.Width = 61
Gutter.MouseActions = <
item
Shift = []
@ -608,7 +609,7 @@ inherited EduNewPrgFrame: TEduNewPrgFrame
Width = 23
end
object TSynGutterLineNumber
Width = 15
Width = 21
MouseActions = <>
MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone
@ -715,7 +716,7 @@ inherited EduNewPrgFrame: TEduNewPrgFrame
Left = 0
Height = 26
Top = 0
Width = 433
Width = 437
Caption = 'SrcToolBar'
TabOrder = 1
object SrcLoadDefaultSrcToolButton: TToolButton
@ -735,38 +736,38 @@ inherited EduNewPrgFrame: TEduNewPrgFrame
end
object OptsPanel: TPanel[1]
Left = 0
Height = 50
Height = 46
Top = 0
Width = 453
Align = alTop
AutoSize = True
ChildSizing.Layout = cclTopToBottomThenLeftToRight
ChildSizing.ControlsPerLine = 2
ClientHeight = 50
ClientHeight = 46
ClientWidth = 453
TabOrder = 1
object AddToNewDlgCheckBox: TCheckBox
Left = 6
Height = 18
Height = 17
Top = 6
Width = 176
Width = 139
BorderSpacing.Around = 6
Caption = 'AddToNewDlgCheckBox'
TabOrder = 0
end
object AddNewPrgBtnCheckBox: TCheckBox
Left = 6
Height = 18
Top = 30
Width = 176
Height = 17
Top = 29
Width = 139
Caption = 'AddNewPrgBtnCheckBox'
TabOrder = 1
end
object AddNewPrgMenuItmCheckBox: TCheckBox
Left = 188
Height = 18
Left = 151
Height = 17
Top = 6
Width = 211
Width = 165
Caption = 'AddNewPrgMenuItmCheckBox'
TabOrder = 2
end

View File

@ -3,164 +3,164 @@
LazarusResources.Add('TEduNewPrgFrame','FORMDATA',[
'TPF0'#241#15'TEduNewPrgFrame'#14'EduNewPrgFrame'#6'Height'#3'@'#1#5'Width'#3
+#197#1#12'ClientHeight'#3'@'#1#11'ClientWidth'#3#197#1#8'TabOrder'#2#0#10'De'
+'signLeft'#3')'#1#9'DesignTop'#3#171#0#0#242#2#0#9'TGroupBox'#11'SrcGroupBox'
+#4'Left'#2#6#6'Height'#3#2#1#3'Top'#2'8'#5'Width'#3#185#1#5'Align'#7#8'alCli'
+'ent'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'SrcGroupBox'#12'ClientHei'
+'ght'#3#236#0#11'ClientWidth'#3#177#1#8'TabOrder'#2#0#0#8'TSynEdit'#10'SrcSy'
+'nEdit'#4'Left'#2#0#6'Height'#3#210#0#3'Top'#2#26#5'Width'#3#177#1#5'Align'#7
+#8'alClient'#11'Font.Height'#2#12#9'Font.Name'#6#6'Monaco'#10'Font.Pitch'#7#7
+'signLeft'#3#27#3#9'DesignTop'#2'6'#0#242#2#0#9'TGroupBox'#11'SrcGroupBox'#4
+'Left'#2#6#6'Height'#3#6#1#3'Top'#2'4'#5'Width'#3#185#1#5'Align'#7#8'alClien'
+'t'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'SrcGroupBox'#12'ClientHeigh'
+'t'#3#244#0#11'ClientWidth'#3#181#1#8'TabOrder'#2#0#0#8'TSynEdit'#10'SrcSynE'
+'dit'#4'Left'#2#0#6'Height'#3#218#0#3'Top'#2#26#5'Width'#3#181#1#5'Align'#7#8
+'alClient'#11'Font.Height'#2#12#9'Font.Name'#6#6'Monaco'#10'Font.Pitch'#7#7
+'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10'Paren'
+'tFont'#8#8'TabOrder'#2#0#12'Gutter.Width'#2'7'#19'Gutter.MouseActions'#14#1
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc'
+'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10
+'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'
+#8#6'Option'#2#0#8'Priority'#2#0#0#0#11'Highlighter'#7#19'SrcSynFreePascalSy'
+'n'#10'Keystrokes'#14#1#7'Command'#7#4'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'
+#7#7'ecSelUp'#8'ShortCut'#3'& '#0#1#7'Command'#7#10'ecScrollUp'#8'ShortCut'#3
+'&@'#0#1#7'Command'#7#6'ecDown'#8'ShortCut'#2'('#0#1#7'Command'#7#9'ecSelDow'
+'n'#8'ShortCut'#3'( '#0#1#7'Command'#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1
+#7'Command'#7#6'ecLeft'#8'ShortCut'#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'Sho'
+'rtCut'#3'% '#0#1#7'Command'#7#10'ecWordLeft'#8'ShortCut'#3'%@'#0#1#7'Comman'
+'d'#7#13'ecSelWordLeft'#8'ShortCut'#3'%`'#0#1#7'Command'#7#7'ecRight'#8'Shor'
+'tCut'#2''''#0#1#7'Command'#7#10'ecSelRight'#8'ShortCut'#3''' '#0#1#7'Comman'
+'d'#7#11'ecWordRight'#8'ShortCut'#3'''@'#0#1#7'Command'#7#14'ecSelWordRight'
+#8'ShortCut'#3'''`'#0#1#7'Command'#7#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'C'
+'ommand'#7#13'ecSelPageDown'#8'ShortCut'#3'" '#0#1#7'Command'#7#12'ecPageBot'
+'tom'#8'ShortCut'#3'"@'#0#1#7'Command'#7#15'ecSelPageBottom'#8'ShortCut'#3'"'
+'`'#0#1#7'Command'#7#8'ecPageUp'#8'ShortCut'#2'!'#0#1#7'Command'#7#11'ecSelP'
+'ageUp'#8'ShortCut'#3'! '#0#1#7'Command'#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1
+#7'Command'#7#12'ecSelPageTop'#8'ShortCut'#3'!`'#0#1#7'Command'#7#11'ecLineS'
+'tart'#8'ShortCut'#2'$'#0#1#7'Command'#7#14'ecSelLineStart'#8'ShortCut'#3'$ '
+#0#1#7'Command'#7#11'ecEditorTop'#8'ShortCut'#3'$@'#0#1#7'Command'#7#14'ecSe'
+'lEditorTop'#8'ShortCut'#3'$`'#0#1#7'Command'#7#9'ecLineEnd'#8'ShortCut'#2'#'
+#0#1#7'Command'#7#12'ecSelLineEnd'#8'ShortCut'#3'# '#0#1#7'Command'#7#14'ecE'
+'ditorBottom'#8'ShortCut'#3'#@'#0#1#7'Command'#7#17'ecSelEditorBottom'#8'Sho'
+'rtCut'#3'#`'#0#1#7'Command'#7#12'ecToggleMode'#8'ShortCut'#2'-'#0#1#7'Comma'
+'nd'#7#6'ecCopy'#8'ShortCut'#3'-@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3
+'- '#0#1#7'Command'#7#12'ecDeleteChar'#8'ShortCut'#2'.'#0#1#7'Command'#7#5'e'
+'cCut'#8'ShortCut'#3'. '#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#2
+#8#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#3#8' '#0#1#7'Command'#7
+#16'ecDeleteLastWord'#8'ShortCut'#3#8'@'#0#1#7'Command'#7#6'ecUndo'#8'ShortC'
+'ut'#4#8#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Co'
+'mmand'#7#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8
+'ShortCut'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'
+#7#13'ecBlockIndent'#8'ShortCut'#3'I`'#0#1#7'Command'#7#11'ecLineBreak'#8'Sh'
+'ortCut'#3'M@'#0#1#7'Command'#7#12'ecInsertLine'#8'ShortCut'#3'N@'#0#1#7'Com'
+'mand'#7#12'ecDeleteWord'#8'ShortCut'#3'T@'#0#1#7'Command'#7#15'ecBlockUnind'
+'ent'#8'ShortCut'#3'U`'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7
+'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0#1#7'Command'#7#12'ecDeleteLine'#8'S'
+'hortCut'#3'Y@'#0#1#7'Command'#7#11'ecDeleteEOL'#8'ShortCut'#3'Y`'#0#1#7'Com'
+'mand'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#3
+'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8'ShortCut'#3'0@'#0#1#7'Command'#7#13
+'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7'Command'#7#13'ecGotoMarker2'#8'Short'
+'Cut'#3'2@'#0#1#7'Command'#7#13'ecGotoMarker3'#8'ShortCut'#3'3@'#0#1#7'Comma'
+'nd'#7#13'ecGotoMarker4'#8'ShortCut'#3'4@'#0#1#7'Command'#7#13'ecGotoMarker5'
+#8'ShortCut'#3'5@'#0#1#7'Command'#7#13'ecGotoMarker6'#8'ShortCut'#3'6@'#0#1#7
+'Command'#7#13'ecGotoMarker7'#8'ShortCut'#3'7@'#0#1#7'Command'#7#13'ecGotoMa'
+'rker8'#8'ShortCut'#3'8@'#0#1#7'Command'#7#13'ecGotoMarker9'#8'ShortCut'#3'9'
+'@'#0#1#7'Command'#7#12'ecSetMarker0'#8'ShortCut'#3'0`'#0#1#7'Command'#7#12
+'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7'Command'#7#12'ecSetMarker2'#8'ShortCu'
+'t'#3'2`'#0#1#7'Command'#7#12'ecSetMarker3'#8'ShortCut'#3'3`'#0#1#7'Command'
+#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0#1#7'Command'#7#12'ecSetMarker5'#8'Sh'
+'ortCut'#3'5`'#0#1#7'Command'#7#12'ecSetMarker6'#8'ShortCut'#3'6`'#0#1#7'Com'
+'mand'#7#12'ecSetMarker7'#8'ShortCut'#3'7`'#0#1#7'Command'#7#12'ecSetMarker8'
,#8'ShortCut'#3'8`'#0#1#7'Command'#7#12'ecSetMarker9'#8'ShortCut'#3'9`'#0#1#7
+'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'1'#160#0#0#0#1#7'Command'#7#12'Ec'
+'FoldLevel2'#8'ShortCut'#4'2'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'Sh'
+'ortCut'#4'3'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'4'#160
+#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'5'#160#0#0#0#1#7'Comman'
+'d'#7#12'EcFoldLevel6'#8'ShortCut'#4'6'#160#0#0#0#1#7'Command'#7#12'EcFoldLe'
+'vel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel8'#8'ShortCut'
+#4'8'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel9'#8'ShortCut'#4'9'#160#0#0#0#1
+#7'Command'#7#12'EcFoldLevel0'#8'ShortCut'#4'0'#160#0#0#0#1#7'Command'#7#13
+'EcFoldCurrent'#8'ShortCut'#4'-'#160#0#0#0#1#7'Command'#7#15'EcUnFoldCurrent'
+#8'ShortCut'#4'+'#160#0#0#0#1#7'Command'#7#18'EcToggleMarkupWord'#8'ShortCut'
+#4'M'#128#0#0#0#1#7'Command'#7#14'ecNormalSelect'#8'ShortCut'#3'N`'#0#1#7'Co'
+'mmand'#7#14'ecColumnSelect'#8'ShortCut'#3'C`'#0#1#7'Command'#7#12'ecLineSel'
+'ect'#8'ShortCut'#3'L`'#0#1#7'Command'#7#5'ecTab'#8'ShortCut'#2#9#0#1#7'Comm'
+'and'#7#10'ecShiftTab'#8'ShortCut'#3#9' '#0#1#7'Command'#7#14'ecMatchBracket'
+#8'ShortCut'#3'B`'#0#1#7'Command'#7#10'ecColSelUp'#8'ShortCut'#4'&'#160#0#0#0
+#1#7'Command'#7#12'ecColSelDown'#8'ShortCut'#4'('#160#0#0#0#1#7'Command'#7#12
+'ecColSelLeft'#8'ShortCut'#4'%'#160#0#0#0#1#7'Command'#7#13'ecColSelRight'#8
+'ShortCut'#4''''#160#0#0#0#1#7'Command'#7#16'ecColSelPageDown'#8'ShortCut'#4
+'"'#160#0#0#0#1#7'Command'#7#18'ecColSelPageBottom'#8'ShortCut'#4'"'#224#0#0
+#0#1#7'Command'#7#14'ecColSelPageUp'#8'ShortCut'#4'!'#160#0#0#0#1#7'Command'
+#7#15'ecColSelPageTop'#8'ShortCut'#4'!'#224#0#0#0#1#7'Command'#7#17'ecColSel'
+'LineStart'#8'ShortCut'#4'$'#160#0#0#0#1#7'Command'#7#15'ecColSelLineEnd'#8
+'ShortCut'#4'#'#160#0#0#0#1#7'Command'#7#17'ecColSelEditorTop'#8'ShortCut'#4
+'$'#224#0#0#0#1#7'Command'#7#20'ecColSelEditorBottom'#8'ShortCut'#4'#'#224#0
+#0#0#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#5'ssAl'
+'t'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdD'
+'own'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif'
+'t'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLe'
+'ft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'M'
+'oveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#5'ssAlt'#0#9'Shif'
+'tMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'cc'
+'Single'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'#2#0
+#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#5'ssAlt'#0#9'ShiftMask'#11#7'ssS'
+'hift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Click'
+'Dir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0
+#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7
+#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2
+#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'
+#10'ClickCount'#7#8'ccDouble'#8'ClickDir'#7#6'cdDown'#7'Command'#2#6#9'MoveC'
+'aret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6
+'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccTriple'#8'ClickDir'#7#6'cdDown'#7
+'Command'#2#7#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0
+#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#6'ccQuad'#8'ClickD'
+'ir'#7#6'cdDown'#7'Command'#2#8#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0
+#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7
+#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#10#9'MoveCaret'#9#6'Option'
+#2#0#8'Priority'#2#0#0#1#5'Shift'#11#6'ssMeta'#0#9'ShiftMask'#11#7'ssShift'#5
+'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Cli'
+'ckDir'#7#4'cdUp'#7'Command'#2#11#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2
+#0#0#0#15'MouseSelActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6
+'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9
+#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#13'Lines.Strings'#1#6#10'S'
+'rcSynEdit'#0#21'BracketHighlightStyle'#7#8'sbhsBoth'#0#18'TSynGutterPartLis'
+'t'#0#0#15'TSynGutterMarks'#0#5'Width'#2#23#0#0#20'TSynGutterLineNumber'#0#5
+'Width'#2#15#12'MouseActions'#14#0#21'MarkupInfo.Background'#7#9'clBtnFace'
+#21'MarkupInfo.Foreground'#7#6'clNone'#10'DigitCount'#2#2#30'ShowOnlyLineNum'
+'bersMultiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterCha'
+'nges'#0#5'Width'#2#4#13'ModifiedColor'#4#252#233#0#0#10'SavedColor'#7#7'clG'
+'reen'#0#0#19'TSynGutterSeparator'#0#5'Width'#2#2#0#0#21'TSynGutterCodeFoldi'
+'ng'#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'm'
+'bRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#16#9
+'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11
+#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7
,#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5
+'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'
+#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCar'
+'et'#8#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'B'
+'utton'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Comm'
+'and'#2#0#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MarkupInfo.Bac'
+'kground'#7#6'clNone'#21'MarkupInfo.Foreground'#7#6'clGray'#20'MouseActionsE'
+'xpanded'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'Clic'
+'kCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6
+'Option'#2#0#8'Priority'#2#0#0#0#21'MouseActionsCollapsed'#14#1#5'Shift'#11#6
+'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7
+#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2
+#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7
+#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15
+#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0#0#0#8'TToolBar'#10'Src'
+'ToolBar'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3#177#1#7'Caption'#6
+#10'SrcToolBar'#8'TabOrder'#2#1#0#11'TToolButton'#27'SrcLoadDefaultSrcToolBu'
+'tton'#4'Left'#2#1#3'Top'#2#2#8'AutoSize'#9#7'Caption'#6#19'Load default sou'
+'rce'#7'OnClick'#7' SrcLoadDefaultSrcToolButtonClick'#0#0#11'TToolButton'#21
+'SrcLoadFileToolButton'#4'Left'#2#24#3'Top'#2#2#7'Caption'#6#21'SrcLoadFileT'
+'oolButton'#7'OnClick'#7#26'SrcLoadFileToolButtonClick'#0#0#0#0#242#2#1#6'TP'
+'anel'#9'OptsPanel'#4'Left'#2#0#6'Height'#2'2'#3'Top'#2#0#5'Width'#3#197#1#5
+'Align'#7#5'alTop'#8'AutoSize'#9#18'ChildSizing.Layout'#7#29'cclTopToBottomT'
+'henLeftToRight'#27'ChildSizing.ControlsPerLine'#2#2#12'ClientHeight'#2'2'#11
+'ClientWidth'#3#197#1#8'TabOrder'#2#1#0#9'TCheckBox'#19'AddToNewDlgCheckBox'
+#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#3#176#0#20'BorderSpacing.Aro'
+'und'#2#6#7'Caption'#6#19'AddToNewDlgCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckB'
+'ox'#20'AddNewPrgBtnCheckBox'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#30#5'Width'
+#3#176#0#7'Caption'#6#20'AddNewPrgBtnCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckB'
+'ox'#24'AddNewPrgMenuItmCheckBox'#4'Left'#3#188#0#6'Height'#2#18#3'Top'#2#6#5
+'Width'#3#211#0#7'Caption'#6#24'AddNewPrgMenuItmCheckBox'#8'TabOrder'#2#2#0#0
+#0#242#2#2#17'TSynFreePascalSyn'#19'SrcSynFreePascalSyn'#7'Enabled'#8#12'Com'
+'pilerMode'#7#9'pcmObjFPC'#14'NestedComments'#9#4'left'#3#131#0#3'top'#3#149
+#0#0#0#0
+'tFont'#8#8'TabOrder'#2#0#24'BookMarkOptions.OnChange'#13#12'Gutter.Width'#2
+'='#19'Gutter.MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7
+#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13
+#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'
+#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cd'
+'Up'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#11'Hig'
+'hlighter'#7#19'SrcSynFreePascalSyn'#10'Keystrokes'#14#1#7'Command'#7#4'ecUp'
+#8'ShortCut'#2'&'#0#1#7'Command'#7#7'ecSelUp'#8'ShortCut'#3'& '#0#1#7'Comman'
+'d'#7#10'ecScrollUp'#8'ShortCut'#3'&@'#0#1#7'Command'#7#6'ecDown'#8'ShortCut'
+#2'('#0#1#7'Command'#7#9'ecSelDown'#8'ShortCut'#3'( '#0#1#7'Command'#7#12'ec'
+'ScrollDown'#8'ShortCut'#3'(@'#0#1#7'Command'#7#6'ecLeft'#8'ShortCut'#2'%'#0
+#1#7'Command'#7#9'ecSelLeft'#8'ShortCut'#3'% '#0#1#7'Command'#7#10'ecWordLef'
+'t'#8'ShortCut'#3'%@'#0#1#7'Command'#7#13'ecSelWordLeft'#8'ShortCut'#3'%`'#0
+#1#7'Command'#7#7'ecRight'#8'ShortCut'#2''''#0#1#7'Command'#7#10'ecSelRight'
+#8'ShortCut'#3''' '#0#1#7'Command'#7#11'ecWordRight'#8'ShortCut'#3'''@'#0#1#7
+'Command'#7#14'ecSelWordRight'#8'ShortCut'#3'''`'#0#1#7'Command'#7#10'ecPage'
+'Down'#8'ShortCut'#2'"'#0#1#7'Command'#7#13'ecSelPageDown'#8'ShortCut'#3'" '
+#0#1#7'Command'#7#12'ecPageBottom'#8'ShortCut'#3'"@'#0#1#7'Command'#7#15'ecS'
+'elPageBottom'#8'ShortCut'#3'"`'#0#1#7'Command'#7#8'ecPageUp'#8'ShortCut'#2
+'!'#0#1#7'Command'#7#11'ecSelPageUp'#8'ShortCut'#3'! '#0#1#7'Command'#7#9'ec'
+'PageTop'#8'ShortCut'#3'!@'#0#1#7'Command'#7#12'ecSelPageTop'#8'ShortCut'#3
+'!`'#0#1#7'Command'#7#11'ecLineStart'#8'ShortCut'#2'$'#0#1#7'Command'#7#14'e'
+'cSelLineStart'#8'ShortCut'#3'$ '#0#1#7'Command'#7#11'ecEditorTop'#8'ShortCu'
+'t'#3'$@'#0#1#7'Command'#7#14'ecSelEditorTop'#8'ShortCut'#3'$`'#0#1#7'Comman'
+'d'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7'Command'#7#12'ecSelLineEnd'#8'Shor'
+'tCut'#3'# '#0#1#7'Command'#7#14'ecEditorBottom'#8'ShortCut'#3'#@'#0#1#7'Com'
+'mand'#7#17'ecSelEditorBottom'#8'ShortCut'#3'#`'#0#1#7'Command'#7#12'ecToggl'
+'eMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'-@'#0#1#7
+'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1#7'Command'#7#12'ecDeleteChar'#8
+'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'. '#0#1#7'Command'#7
+#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7'Command'#7#16'ecDeleteLastChar'#8
+'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDeleteLastWord'#8'ShortCut'#3#8'@'#0
+#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#7#6'ecRedo'
+#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#2#13#0
+#1#7'Command'#7#11'ecSelectAll'#8'ShortCut'#3'A@'#0#1#7'Command'#7#6'ecCopy'
+#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'ecBlockIndent'#8'ShortCut'#3'I`'#0#1#7
+'Command'#7#11'ecLineBreak'#8'ShortCut'#3'M@'#0#1#7'Command'#7#12'ecInsertLi'
+'ne'#8'ShortCut'#3'N@'#0#1#7'Command'#7#12'ecDeleteWord'#8'ShortCut'#3'T@'#0
+#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U`'#0#1#7'Command'#7#7'ecP'
+'aste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0#1#7'C'
+'ommand'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDeleteEO'
+'L'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7'Com'
+'mand'#7#6'ecRedo'#8'ShortCut'#3'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8'Sh'
+'ortCut'#3'0@'#0#1#7'Command'#7#13'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7'Co'
+'mmand'#7#13'ecGotoMarker2'#8'ShortCut'#3'2@'#0#1#7'Command'#7#13'ecGotoMark'
+'er3'#8'ShortCut'#3'3@'#0#1#7'Command'#7#13'ecGotoMarker4'#8'ShortCut'#3'4@'
+#0#1#7'Command'#7#13'ecGotoMarker5'#8'ShortCut'#3'5@'#0#1#7'Command'#7#13'ec'
+'GotoMarker6'#8'ShortCut'#3'6@'#0#1#7'Command'#7#13'ecGotoMarker7'#8'ShortCu'
+'t'#3'7@'#0#1#7'Command'#7#13'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7'Command'
+#7#13'ecGotoMarker9'#8'ShortCut'#3'9@'#0#1#7'Command'#7#12'ecSetMarker0'#8'S'
+'hortCut'#3'0`'#0#1#7'Command'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7'Co'
+'mmand'#7#12'ecSetMarker2'#8'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecSetMarker'
+'3'#8'ShortCut'#3'3`'#0#1#7'Command'#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0#1
+#7'Command'#7#12'ecSetMarker5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12'ecSetMa'
+'rker6'#8'ShortCut'#3'6`'#0#1#7'Command'#7#12'ecSetMarker7'#8'ShortCut'#3'7`'
,#0#1#7'Command'#7#12'ecSetMarker8'#8'ShortCut'#3'8`'#0#1#7'Command'#7#12'ecS'
+'etMarker9'#8'ShortCut'#3'9`'#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4
+'1'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel2'#8'ShortCut'#4'2'#160#0#0#0#1#7
+'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'3'#160#0#0#0#1#7'Command'#7#12'Ec'
+'FoldLevel1'#8'ShortCut'#4'4'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'Sh'
+'ortCut'#4'5'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel6'#8'ShortCut'#4'6'#160
+#0#0#0#1#7'Command'#7#12'EcFoldLevel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Comman'
+'d'#7#12'EcFoldLevel8'#8'ShortCut'#4'8'#160#0#0#0#1#7'Command'#7#12'EcFoldLe'
+'vel9'#8'ShortCut'#4'9'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel0'#8'ShortCut'
+#4'0'#160#0#0#0#1#7'Command'#7#13'EcFoldCurrent'#8'ShortCut'#4'-'#160#0#0#0#1
+#7'Command'#7#15'EcUnFoldCurrent'#8'ShortCut'#4'+'#160#0#0#0#1#7'Command'#7
+#18'EcToggleMarkupWord'#8'ShortCut'#4'M'#128#0#0#0#1#7'Command'#7#14'ecNorma'
+'lSelect'#8'ShortCut'#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'ShortCut'#3
+'C`'#0#1#7'Command'#7#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Command'#7#5
+'ecTab'#8'ShortCut'#2#9#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3#9' '#0
+#1#7'Command'#7#14'ecMatchBracket'#8'ShortCut'#3'B`'#0#1#7'Command'#7#10'ecC'
+'olSelUp'#8'ShortCut'#4'&'#160#0#0#0#1#7'Command'#7#12'ecColSelDown'#8'Short'
+'Cut'#4'('#160#0#0#0#1#7'Command'#7#12'ecColSelLeft'#8'ShortCut'#4'%'#160#0#0
+#0#1#7'Command'#7#13'ecColSelRight'#8'ShortCut'#4''''#160#0#0#0#1#7'Command'
+#7#16'ecColSelPageDown'#8'ShortCut'#4'"'#160#0#0#0#1#7'Command'#7#18'ecColSe'
+'lPageBottom'#8'ShortCut'#4'"'#224#0#0#0#1#7'Command'#7#14'ecColSelPageUp'#8
+'ShortCut'#4'!'#160#0#0#0#1#7'Command'#7#15'ecColSelPageTop'#8'ShortCut'#4'!'
+#224#0#0#0#1#7'Command'#7#17'ecColSelLineStart'#8'ShortCut'#4'$'#160#0#0#0#1
+#7'Command'#7#15'ecColSelLineEnd'#8'ShortCut'#4'#'#160#0#0#0#1#7'Command'#7
+#17'ecColSelEditorTop'#8'ShortCut'#4'$'#224#0#0#0#1#7'Command'#7#20'ecColSel'
+'EditorBottom'#8'ShortCut'#4'#'#224#0#0#0#0#12'MouseActions'#14#1#5'Shift'#11
+#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'
+#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Optio'
+'n'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShi'
+'ft'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDi'
+'r'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0
+#1#5'Shift'#11#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6
+'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3
+#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#5's'
+'sAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'Clic'
+'kCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9'MoveCaret'#9
+#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'
+#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2
+#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMa'
+'sk'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccDouble'#8'ClickDir'#7#6
+'cdDown'#7'Command'#2#6#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'S'
+'hift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccTri'
+'ple'#8'ClickDir'#7#6'cdDown'#7'Command'#2#7#9'MoveCaret'#9#6'Option'#2#0#8
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10
+'ClickCount'#7#6'ccQuad'#8'ClickDir'#7#6'cdDown'#7'Command'#2#8#9'MoveCaret'
+#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Butto'
+'n'#7#8'mbMiddle'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Com'
+'mand'#2#10#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#6's'
+'sMeta'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbLe'
+'ft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#11#9'Mo'
+'veCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#15'MouseSelActions'#14#1#5'Shi'
+'ft'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingl'
+'e'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0#8'Pr'
+'iority'#2#0#0#0#13'Lines.Strings'#1#6#10'SrcSynEdit'#0#21'BracketHighlightS'
+'tyle'#7#8'sbhsBoth'#0#18'TSynGutterPartList'#0#0#15'TSynGutterMarks'#0#5'Wi'
+'dth'#2#23#0#0#20'TSynGutterLineNumber'#0#5'Width'#2#21#12'MouseActions'#14#0
+#21'MarkupInfo.Background'#7#9'clBtnFace'#21'MarkupInfo.Foreground'#7#6'clNo'
+'ne'#10'DigitCount'#2#2#30'ShowOnlyLineNumbersMultiplesOf'#2#1#9'ZeroStart'#8
+#12'LeadingZeros'#8#0#0#17'TSynGutterChanges'#0#5'Width'#2#4#13'ModifiedColo'
+'r'#4#252#233#0#0#10'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterSeparator'#0#5
+'Width'#2#2#0#0#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#5'Shift'#11
+#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'C'
+'lickDir'#7#4'cdUp'#7'Command'#2#16#9'MoveCaret'#8#6'Option'#2#0#8'Priority'
+#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'
,#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCar'
+'et'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMas'
+'k'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'Clic'
+'kDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2
+#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7
+#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#0#9'MoveCaret'#8#6'Option'#2#0
+#8'Priority'#2#0#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.For'
+'eground'#7#6'clGray'#20'MouseActionsExpanded'#14#1#5'Shift'#11#0#9'ShiftMas'
+'k'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdD'
+'own'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'Mo'
+'useActionsCollapsed'#14#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'
+#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7
+'Command'#2#15#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0
+#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#1#8'Prio'
+'rity'#2#0#0#0#0#0#0#0#8'TToolBar'#10'SrcToolBar'#4'Left'#2#0#6'Height'#2#26
+#3'Top'#2#0#5'Width'#3#181#1#7'Caption'#6#10'SrcToolBar'#8'TabOrder'#2#1#0#11
+'TToolButton'#27'SrcLoadDefaultSrcToolButton'#4'Left'#2#1#3'Top'#2#2#8'AutoS'
+'ize'#9#7'Caption'#6#19'Load default source'#7'OnClick'#7' SrcLoadDefaultSrc'
+'ToolButtonClick'#0#0#11'TToolButton'#21'SrcLoadFileToolButton'#4'Left'#2#24
+#3'Top'#2#2#7'Caption'#6#21'SrcLoadFileToolButton'#7'OnClick'#7#26'SrcLoadFi'
+'leToolButtonClick'#0#0#0#0#242#2#1#6'TPanel'#9'OptsPanel'#4'Left'#2#0#6'Hei'
+'ght'#2'.'#3'Top'#2#0#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#18
+'ChildSizing.Layout'#7#29'cclTopToBottomThenLeftToRight'#27'ChildSizing.Cont'
+'rolsPerLine'#2#2#12'ClientHeight'#2'.'#11'ClientWidth'#3#197#1#8'TabOrder'#2
+#1#0#9'TCheckBox'#19'AddToNewDlgCheckBox'#4'Left'#2#6#6'Height'#2#17#3'Top'#2
+#6#5'Width'#3#139#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AddToNewDlg'
+'CheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#20'AddNewPrgBtnCheckBox'#4'Left'
+#2#6#6'Height'#2#17#3'Top'#2#29#5'Width'#3#139#0#7'Caption'#6#20'AddNewPrgBt'
+'nCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#24'AddNewPrgMenuItmCheckBox'#4
+'Left'#3#151#0#6'Height'#2#17#3'Top'#2#6#5'Width'#3#165#0#7'Caption'#6#24'Ad'
+'dNewPrgMenuItmCheckBox'#8'TabOrder'#2#2#0#0#0#242#2#2#17'TSynFreePascalSyn'
+#19'SrcSynFreePascalSyn'#7'Enabled'#8#12'CompilerMode'#7#9'pcmObjFPC'#14'Nes'
+'tedComments'#9#4'left'#3#131#0#3'top'#3#149#0#0#0#0
]);

View File

@ -277,7 +277,7 @@ end;
function TEduNewPrgFrame.GetTitle: String;
begin
Result:='New program';
Result:=ersEduNewProgramTitle;
end;
procedure TEduNewPrgFrame.ReadSettings(AOptions: TAbstractIDEOptions);

View File

@ -59,6 +59,37 @@ resourcestring
+'default source code';
ersLoadSourceFromFile = 'Load source from file';
ersGrpBoxPropsMin = 'Properties: Minimal Configuration';
ersGrpBoxPropsExt = 'Properties: Extended Configuration';
ersGrpBoxPropsFull = 'Properties: Full Configuration';
ersGrpBoxEventsMin = 'Events: Minimal Configuration';
ersGrpBoxEventsExt = 'Events: Extended Configuration';
ersGrpBoxEventsFull = 'Events: Full Configuration';
ersStTextPropsMin = 'Name, Caption, Visible, Text, Checked, Items, Font, Color, Enabled, Height, Width, MaxLength, Picture, Columns';
ersStTextPropsExt ='Align, Left, Top, Hint, ShowHint, ParentFont, TabOrder, ParentShowHint, WordWrap, FixedCols, FixedRows, DefaultColWidth, DefaultRowHeight, ColCount, RowCount, Borderstyle, Glyph, State, Interval, DataSource, DataField, InitialDir';
ersStTextPropsFull = 'All Properties available';
ersStTextEventsMin = 'OnClick, OnChange, OnMouseMove';
ersStTextEventsExt = 'OnClick, OnChange, OnMouseMove, OnDblClick, OnCreate, OnKeyPress, OnFormCreate';
ersStTextEventsFull = 'All Events available';
ersRdGrpPropsCaption = 'Properties';
ersRdGrpEventsCaption = 'Events';
ersEduEnvOptsFrameTitle = 'General';
ersEduPropsEventsTitle = 'Properties & Events';
ersEduCompPaletteTitle = 'Component palette';
ersEduNewProgramTitle = 'New program';
ersEduMenuTitle = 'Menus';
ersRdBtnFull = 'Show All';
ersEnableEduCheckBoxCaption = 'Enable education settings';
const
DefaultEduOptionsFilename = 'education.xml';
@ -67,6 +98,7 @@ const
EduOptionCompPaletteID = 200;
EduOptionMenuID = 300;
EduOptionNewPrgID = 400;
EduPropsEventsOptionsID = 500;
type
@ -116,7 +148,7 @@ type
property ChangeStep: integer read FChangeStep write SetChangeStep;
end;
TEduOptions = class(TAbstractIDEEnvironmentOptions)
TEduOptions = class(TAbstractIDEOptions)
private
FEnabled: boolean;
FFilename: string;
@ -129,7 +161,6 @@ type
constructor Create;
destructor Destroy; override;
class function GetGroupCaption: string; override;
class function GetInstance: TAbstractIDEOptions;
property Root: TEduOptionsNode read FRoot;
function Load(Config: TConfigStorage): TModalResult; virtual;
function Save(Config: TConfigStorage): TModalResult; virtual;
@ -322,12 +353,6 @@ begin
Result:=EduRSEducation;
end;
class function TEduOptions.GetInstance: TAbstractIDEOptions;
begin
Result := EducationOptions;
end;
function TEduOptions.Load(Config: TConfigStorage): TModalResult;
begin
FEnabled:=Config.GetValue('Enabled',false);

View File

@ -0,0 +1,168 @@
inherited EduPropsEventsFrame: TEduPropsEventsFrame
Height = 393
Width = 456
ClientHeight = 393
ClientWidth = 456
TabOrder = 0
DesignLeft = 713
DesignTop = 9
object OptsPanel: TPanel[0]
Left = 8
Height = 128
Top = 0
Width = 440
Align = alCustom
ChildSizing.Layout = cclTopToBottomThenLeftToRight
ChildSizing.ControlsPerLine = 2
ClientHeight = 128
ClientWidth = 440
TabOrder = 0
object rdGrpProps: TRadioGroup
Left = 24
Height = 105
Top = 8
Width = 185
Align = alCustom
AutoFill = True
Caption = 'rdGrpProps'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 87
ClientWidth = 181
OnClick = rdGrpPropsClick
TabOrder = 0
object PropsMinRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 8
Width = 165
Align = alCustom
Caption = 'PropsMinRadioBtn'
OnClick = PropsMinRadioBtnClick
TabOrder = 0
TabStop = False
end
object PropsExtRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 32
Width = 165
Align = alCustom
Caption = 'PropsExtRadioBtn'
OnClick = PropsExtRadioBtnClick
TabOrder = 1
TabStop = False
end
object PropsFullRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 56
Width = 166
Align = alCustom
Caption = 'PropsFullRadioBtn'
OnClick = PropsFullRadioBtnClick
TabOrder = 2
end
end
object rdGrpEvents: TRadioGroup
Left = 224
Height = 105
Top = 8
Width = 185
Align = alCustom
AutoFill = True
Caption = 'rdGrpEvents'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 87
ClientWidth = 181
TabOrder = 1
object EventsMinRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 8
Width = 160
Align = alCustom
Caption = 'EventsMinRadioBtn'
OnClick = EventsMinRadioBtnClick
TabOrder = 0
end
object EventsExtRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 32
Width = 160
Align = alCustom
Caption = 'EventsExtRadioBtn'
OnClick = EventsExtRadioBtnClick
TabOrder = 1
end
object EventsFullRadioBtn: TRadioButton
Left = 14
Height = 17
Top = 56
Width = 161
Align = alCustom
Caption = 'EventsFullRadioBtn'
OnClick = EventsFullRadioBtnClick
TabOrder = 2
end
end
end
object grpBoxEvents: TGroupBox[1]
Left = 32
Height = 65
Top = 288
Width = 392
Caption = 'grpBoxEvents'
ClientHeight = 47
ClientWidth = 388
TabOrder = 1
object stTextEvents: TStaticText
Left = 14
Height = 25
Top = 8
Width = 369
Caption = 'stTextEvents'
TabOrder = 0
end
end
object grpBoxProps: TGroupBox[2]
Left = 32
Height = 128
Top = 144
Width = 392
Caption = 'grpBoxProps'
ClientHeight = 110
ClientWidth = 388
TabOrder = 2
object stTextProps: TStaticText
Left = 14
Height = 25
Top = 8
Width = 368
Caption = 'stTextProps'
TabOrder = 0
end
object stTextProps2: TStaticText
Left = 14
Height = 64
Top = 40
Width = 368
Caption = 'stTextProps2'
TabOrder = 1
end
end
end

View File

@ -0,0 +1,308 @@
{
*****************************************************************************
* *
* This file is part of the EducationLaz package *
* *
* See the file COPYING.modifiedLGPL.txt, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
Author: Michael Kuhardt
Abstract:
Frame to setup Properties and events
}
unit EduPropsEvents;
{$mode objfpc}{$H+}
interface
uses
Classes, LResources, Forms, StdCtrls, ExtCtrls, LazConfigStorage, IDEOptionsIntf, EduOptions,
ObjectInspector;
type
{ TEduPropsEventsOptions }
TEduPropsEventsOptions = class(TEduOptionsNode)
private
FPropsMinimal: boolean;
FPropsExt: boolean;
FPropsFull: boolean;
FEventsMinimal: boolean;
FEventsExt: boolean;
FEventsFull: boolean;
public
constructor Create; override;
destructor Destroy; override;
function Load(Config: TConfigStorage): TModalResult; override;
function Save(Config: TConfigStorage): TModalResult; override;
procedure Apply(Enable: boolean); override;
property PropsMinimal: boolean read FPropsMinimal write FPropsMinimal;
property PropsExt: boolean read FPropsExt write FPropsExt;
property PropsFull: boolean read FPropsFull write FPropsFull;
property EventsMinimal: boolean read FEventsMinimal write FEventsMinimal;
property EventsExt: boolean read FEventsExt write FEventsExt;
property EventsFull: boolean read FEventsFull write FEventsFull;
end;
{ TEduPropsEventsFrame }
TEduPropsEventsFrame = class(TAbstractIDEOptionsEditor)
grpBoxEvents: TGroupBox;
grpBoxProps: TGroupBox;
OptsPanel: TPanel;
PropsMinRadioBtn: TRadioButton;
PropsExtRadioBtn: TRadioButton;
rdGrpProps: TRadioGroup;
PropsFullRadioBtn: TRadioButton;
EventsMinRadioBtn: TRadioButton;
EventsExtRadioBtn: TRadioButton;
EventsFullRadioBtn: TRadioButton;
rdGrpEvents: TRadioGroup;
stTextEvents: TStaticText;
stTextProps2: TStaticText;
stTextProps: TStaticText;
procedure EventsExtRadioBtnClick(Sender: TObject);
procedure EventsFullRadioBtnClick(Sender: TObject);
procedure EventsMinRadioBtnClick(Sender: TObject);
procedure PropsExtRadioBtnClick(Sender: TObject);
procedure PropsFullRadioBtnClick(Sender: TObject);
procedure PropsMinRadioBtnClick(Sender: TObject);
procedure rdGrpPropsClick(Sender: TObject);
private
public
function GetTitle: String; override;
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
end;
var
EduPropsEventsOptions: TEduPropsEventsOptions = nil;
procedure Register;
implementation
procedure Register;
begin
EduPropsEventsOptions:=TEduPropsEventsOptions.Create;
EducationOptions.Root.Add(EduPropsEventsOptions);
RegisterIDEOptionsEditor(EduOptionID,TEduPropsEventsFrame,EduPropsEventsOptionsID);
end;
{ TEduPropsEventsOptions }
constructor TEduPropsEventsOptions.Create;
begin
inherited Create;
Name:='PropsEvents';
PropsMinimal:=true;
PropsExt:=false;
PropsFull:=false;
EventsMinimal:=true;
EventsExt:=false;
EventsFull:=false;
end;
destructor TEduPropsEventsOptions.Destroy;
begin
inherited Destroy;
end;
function TEduPropsEventsOptions.Load(Config: TConfigStorage): TModalResult;
begin
FPropsMinimal:=Config.GetValue('PropsMinimal',true);
FPropsExt:=Config.GetValue('PropsExt',true);
FPropsFull:=Config.GetValue('PropsFull',true);
FEventsMinimal:=Config.GetValue('EventsMinimal',true);
FEventsExt:=Config.GetValue('EventsExt',true);
FEventsFull:=Config.GetValue('EventsFull',true);
Result:=inherited Load(Config);
end;
function TEduPropsEventsOptions.Save(Config: TConfigStorage): TModalResult;
begin
Config.SetValue('PropsMinimal',FPropsMinimal);
Config.SetValue('PropsExt',FPropsExt);
Config.SetValue('PropsFull',FPropsFull);
Config.SetValue('EventsMinimal',FEventsMinimal);
Config.SetValue('EventsExt',FEventsExt);
Config.SetValue('EventsFull',FEventsFull);
Result:=inherited Save(Config);
end;
procedure TEduPropsEventsOptions.Apply(Enable: boolean);
begin
inherited Apply(Enable);
end;
{ TEduPropsEventsFrame }
procedure TEduPropsEventsFrame.PropsMinRadioBtnClick(Sender: TObject);
begin
grpBoxProps.Caption:=ersGrpBoxPropsMin;
stTextProps.Caption:=ersStTextPropsMin;
stTextProps2.Visible:=false;
end;
procedure TEduPropsEventsFrame.rdGrpPropsClick(Sender: TObject);
begin
end;
procedure TEduPropsEventsFrame.PropsExtRadioBtnClick(Sender: TObject);
begin
grpBoxProps.Caption:=ersGrpBoxPropsExt;
stTextProps.Caption:=ersStTextPropsMin;
stTextProps2.Visible:=true;
end;
procedure TEduPropsEventsFrame.EventsMinRadioBtnClick(Sender: TObject);
begin
grpBoxEvents.Caption:=ersGrpBoxEventsMin;
stTextEvents.Caption:=ersStTextEventsMin;
end;
procedure TEduPropsEventsFrame.EventsExtRadioBtnClick(Sender: TObject);
begin
grpBoxEvents.Caption:=ersGrpBoxEventsExt;
stTextEvents.Caption:=ersStTextEventsExt;
end;
procedure TEduPropsEventsFrame.EventsFullRadioBtnClick(Sender: TObject);
begin
grpBoxEvents.Caption:=ersGrpBoxEventsFull;
stTextEvents.Caption:=ersStTextEventsFull;
end;
procedure TEduPropsEventsFrame.PropsFullRadioBtnClick(Sender: TObject);
begin
grpBoxProps.Caption:=ersGrpBoxPropsFull;
stTextProps.Caption:=ersStTextPropsFull;
stTextProps2.Visible:=false;
end;
function TEduPropsEventsFrame.GetTitle: String;
begin
Result:=ersEduPropsEventsTitle;
end;
procedure TEduPropsEventsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
begin
PropsMinRadioBtn.Checked:=EduPropsEventsOptions.PropsMinimal;
PropsExtRadioBtn.Checked:=EduPropsEventsOptions.PropsExt;
PropsFullRadioBtn.Checked:=EduPropsEventsOptions.PropsFull;
EventsMinRadioBtn.Checked:=EduPropsEventsOptions.EventsMinimal;
EventsExtRadioBtn.Checked:=EduPropsEventsOptions.EventsExt;
EventsFullRadioBtn.Checked:=EduPropsEventsOptions.EventsFull;
end;
procedure TEduPropsEventsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
begin
rdGrpProps.Caption:= ersRdGrpPropsCaption;
rdGrpEvents.Caption:= ersRdGrpEventsCaption;
PropsMinRadioBtn.Caption:= ersShowMinimal;
PropsExtRadioBtn.Caption:= ersShowExtended;
PropsFullRadioBtn.Caption:= ersRdBtnFull;
EventsMinRadioBtn.Caption:= ersShowMinimal;
EventsExtRadioBtn.Caption:= ersShowExtended;
EventsFullRadioBtn.Caption:= ersRdBtnFull;
stTextProps2.Caption:=ersStTextPropsExt;
stTextProps2.Visible:=false;
if (EduPropsEventsOptions.PropsMinimal)
then begin
grpBoxProps.Caption:=ersGrpBoxPropsMin;
stTextProps.Caption:=ersStTextPropsMin
end else if (EduPropsEventsOptions.PropsExt)
then begin
grpBoxProps.Caption:=ersGrpBoxPropsExt;
stTextProps.Caption:=ersStTextPropsMin;
stTextProps2.Visible:=true
end
else begin
grpBoxProps.Caption:=ersGrpBoxPropsFull;
stTextProps.Caption:=ersStTextPropsFull
end;
if (EduPropsEventsOptions.EventsMinimal)
then begin
grpBoxEvents.Caption:=ersGrpBoxEventsMin;
stTextEvents.Caption:=ersStTextEventsMin
end
else if (EduPropsEventsOptions.EventsExt)
then begin
grpBoxEvents.Caption:=ersGrpBoxEventsExt;
stTextEvents.Caption:=ersStTextEventsExt;
end
else begin
grpBoxEvents.Caption:=ersGrpBoxEventsFull;
stTextEvents.Caption:=ersStTextEventsFull;
end;
end;
class function TEduPropsEventsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
begin
Result:=TEduOptions;
end;
procedure TEduPropsEventsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
begin
EduPropsEventsOptions.PropsMinimal:=PropsMinRadioBtn.Checked;
EduPropsEventsOptions.PropsExt:=PropsExtRadioBtn.Checked;
EduPropsEventsOptions.PropsFull:=PropsFullRadioBtn.Checked;
EduPropsEventsOptions.EventsMinimal:=EventsMinRadioBtn.Checked;
EduPropsEventsOptions.EventsExt:=EventsExtRadioBtn.Checked;
EduPropsEventsOptions.EventsFull:=EventsFullRadioBtn.Checked;
end;
initialization
{$I edupropsevents.lrs}
end.