From 8732cff32f1336501ff18ddaabe7afdf7c10f108 Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 26 Dec 2009 10:59:14 +0000 Subject: [PATCH] educationlaz: propevents git-svn-id: trunk@23289 - --- .gitattributes | 2 + components/education/README.txt | 16 +- components/education/educationlaz.lpk | 8 +- components/education/educationlaz.pas | 5 +- components/education/educomppalette.lfm | 4 +- components/education/educomppalette.lrs | 2 +- components/education/educomppalette.pas | 2 +- components/education/eduenvoptsframe.lfm | 8 +- components/education/eduenvoptsframe.lrs | 8 +- components/education/eduenvoptsframe.pas | 4 +- components/education/edumenu.lfm | 32 +-- components/education/edumenu.lrs | 40 +-- components/education/edumenu.pas | 2 +- components/education/edunewprogram.lfm | 43 +-- components/education/edunewprogram.lrs | 318 +++++++++++------------ components/education/edunewprogram.pas | 2 +- components/education/eduoptions.pas | 41 ++- components/education/edupropsevents.lfm | 168 ++++++++++++ components/education/edupropsevents.pas | 308 ++++++++++++++++++++++ 19 files changed, 759 insertions(+), 254 deletions(-) create mode 100644 components/education/edupropsevents.lfm create mode 100644 components/education/edupropsevents.pas 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. +