diff --git a/.gitattributes b/.gitattributes
index 76b894798a..73959d8dc8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -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
diff --git a/components/education/README.txt b/components/education/README.txt
index 7d525947a9..9a3b0afd98 100644
--- a/components/education/README.txt
+++ b/components/education/README.txt
@@ -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
diff --git a/components/education/educationlaz.lpk b/components/education/educationlaz.lpk
index f0b6c0c92f..18b8c9c806 100644
--- a/components/education/educationlaz.lpk
+++ b/components/education/educationlaz.lpk
@@ -15,7 +15,7 @@
-
+
@@ -49,8 +49,14 @@
+
+
+
+
+
+
diff --git a/components/education/educationlaz.pas b/components/education/educationlaz.pas
index 28d8f3a718..8bb7dbe56b 100644
--- a/components/education/educationlaz.pas
+++ b/components/education/educationlaz.pas
@@ -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
diff --git a/components/education/educomppalette.lfm b/components/education/educomppalette.lfm
index 42cbd4b10e..8a113ee07c 100644
--- a/components/education/educomppalette.lfm
+++ b/components/education/educomppalette.lfm
@@ -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
diff --git a/components/education/educomppalette.lrs b/components/education/educomppalette.lrs
index f7d60508fd..21e17b4a57 100644
--- a/components/education/educomppalette.lrs
+++ b/components/education/educomppalette.lrs
@@ -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'
diff --git a/components/education/educomppalette.pas b/components/education/educomppalette.pas
index 00d308b64c..0b705a1508 100644
--- a/components/education/educomppalette.pas
+++ b/components/education/educomppalette.pas
@@ -324,7 +324,7 @@ end;
function TEduCompPaletteFrame.GetTitle: String;
begin
- Result:='Component palette';
+ Result:=ersEduCompPaletteTitle;
end;
procedure TEduCompPaletteFrame.ReadSettings(AOptions: TAbstractIDEOptions);
diff --git a/components/education/eduenvoptsframe.lfm b/components/education/eduenvoptsframe.lfm
index bf221a848b..88a47f742a 100644
--- a/components/education/eduenvoptsframe.lfm
+++ b/components/education/eduenvoptsframe.lfm
@@ -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
diff --git a/components/education/eduenvoptsframe.lrs b/components/education/eduenvoptsframe.lrs
index 502ca3ecb6..20ecfb3dba 100644
--- a/components/education/eduenvoptsframe.lrs
+++ b/components/education/eduenvoptsframe.lrs
@@ -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
]);
diff --git a/components/education/eduenvoptsframe.pas b/components/education/eduenvoptsframe.pas
index 03455a65d0..2d8c91a824 100644
--- a/components/education/eduenvoptsframe.pas
+++ b/components/education/eduenvoptsframe.pas
@@ -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);
diff --git a/components/education/edumenu.lfm b/components/education/edumenu.lfm
index 26ebdbf0d8..8ac50393aa 100644
--- a/components/education/edumenu.lfm
+++ b/components/education/edumenu.lfm
@@ -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'
diff --git a/components/education/edumenu.lrs b/components/education/edumenu.lrs
index 8e20f0e99c..886b6e79d7 100644
--- a/components/education/edumenu.lrs
+++ b/components/education/edumenu.lrs
@@ -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
]);
diff --git a/components/education/edumenu.pas b/components/education/edumenu.pas
index 12c8f5357b..9c90a325dd 100644
--- a/components/education/edumenu.pas
+++ b/components/education/edumenu.pas
@@ -294,7 +294,7 @@ end;
function TEduMenuFrame.GetTitle: String;
begin
- Result:='Menus';
+ Result:=ersEduMenuTitle
end;
procedure TEduMenuFrame.ReadSettings(AOptions: TAbstractIDEOptions);
diff --git a/components/education/edunewprogram.lfm b/components/education/edunewprogram.lfm
index 8ab2f7e9e2..26ab89a369 100644
--- a/components/education/edunewprogram.lfm
+++ b/components/education/edunewprogram.lfm
@@ -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
diff --git a/components/education/edunewprogram.lrs b/components/education/edunewprogram.lrs
index 816046ef6d..5e005baf8a 100644
--- a/components/education/edunewprogram.lrs
+++ b/components/education/edunewprogram.lrs
@@ -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
]);
diff --git a/components/education/edunewprogram.pas b/components/education/edunewprogram.pas
index bd0103adcc..7a6d099caa 100644
--- a/components/education/edunewprogram.pas
+++ b/components/education/edunewprogram.pas
@@ -277,7 +277,7 @@ end;
function TEduNewPrgFrame.GetTitle: String;
begin
- Result:='New program';
+ Result:=ersEduNewProgramTitle;
end;
procedure TEduNewPrgFrame.ReadSettings(AOptions: TAbstractIDEOptions);
diff --git a/components/education/eduoptions.pas b/components/education/eduoptions.pas
index ce56f958a1..f7ca6317a3 100644
--- a/components/education/eduoptions.pas
+++ b/components/education/eduoptions.pas
@@ -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);
diff --git a/components/education/edupropsevents.lfm b/components/education/edupropsevents.lfm
new file mode 100644
index 0000000000..fcf696ae6b
--- /dev/null
+++ b/components/education/edupropsevents.lfm
@@ -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
diff --git a/components/education/edupropsevents.pas b/components/education/edupropsevents.pas
new file mode 100644
index 0000000000..832f6849a4
--- /dev/null
+++ b/components/education/edupropsevents.pas
@@ -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.
+