1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-08-13 16:53:59 -04:00

Added a replace option on the edit menu and right click menu and added the ability to highlight all of a selected word in the document

git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@208 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
bullzeye95 2009-11-08 04:45:26 +00:00
parent cb02863bb7
commit 1cc120a13d
9 changed files with 1896 additions and 1783 deletions

View File

@ -1,7 +1,7 @@
object ColourHistoryForm: TColourHistoryForm object ColourHistoryForm: TColourHistoryForm
Left = 494 Left = 1180
Height = 250 Height = 250
Top = 299 Top = 746
Width = 489 Width = 489
ActiveControl = ColourValue ActiveControl = ColourValue
Caption = 'Colour Picker History' Caption = 'Colour Picker History'

View File

@ -1,13 +1,13 @@
LazarusResources.Add('TColourHistoryForm','FORMDATA',[ LazarusResources.Add('TColourHistoryForm','FORMDATA',[
'TPF0'#18'TColourHistoryForm'#17'ColourHistoryForm'#4'Left'#3#238#1#6'Height' 'TPF0'#18'TColourHistoryForm'#17'ColourHistoryForm'#4'Left'#3#156#4#6'Height'
+#3#250#0#3'Top'#3'+'#1#5'Width'#3#233#1#13'ActiveControl'#7#11'ColourValue'#7 +#3#250#0#3'Top'#3#234#2#5'Width'#3#233#1#13'ActiveControl'#7#11'ColourValue'
+'Caption'#6#21'Colour Picker History'#12'ClientHeight'#3#250#0#11'ClientWidt' +#7'Caption'#6#21'Colour Picker History'#12'ClientHeight'#3#250#0#11'ClientWi'
+'h'#3#233#1#6'OnHide'#7#15'UnSetCHShowMenu'#6'OnShow'#7#13'SetCHShowMenu'#10 +'dth'#3#233#1#6'OnHide'#7#15'UnSetCHShowMenu'#6'OnShow'#7#13'SetCHShowMenu'
+'LCLVersion'#6#6'0.9.29'#0#9'TListView'#10'ColourList'#4'Left'#2#16#6'Height' +#10'LCLVersion'#6#6'0.9.29'#0#9'TListView'#10'ColourList'#4'Left'#2#16#6'Hei'
+#3#208#0#3'Top'#2#16#5'Width'#3'@'#1#7'Columns'#14#0#8'TabOrder'#2#0#12'OnSe' +'ght'#3#208#0#3'Top'#2#16#5'Width'#3'@'#1#7'Columns'#14#0#8'TabOrder'#2#0#12
+'lectItem'#7#14'ChangeViewData'#0#0#7'TButton'#12'DeleteButton'#4'Left'#3'`' +'OnSelectItem'#7#14'ChangeViewData'#0#0#7'TButton'#12'DeleteButton'#4'Left'#3
+#1#6'Height'#2#25#3'Top'#3#199#0#5'Width'#3#128#0#7'Caption'#6#6'Delete'#7'O' +'`'#1#6'Height'#2#25#3'Top'#3#199#0#5'Width'#3#128#0#7'Caption'#6#6'Delete'#7
+'nClick'#7#14'DeleteSelected'#8'TabOrder'#2#1#0#0#5'TEdit'#13'SelectionName' +'OnClick'#7#14'DeleteSelected'#8'TabOrder'#2#1#0#0#5'TEdit'#13'SelectionName'
+#4'Left'#3'h'#1#6'Height'#2#27#3'Top'#2'h'#5'Width'#2'p'#8'OnChange'#7#10'Ch' +#4'Left'#3'h'#1#6'Height'#2#27#3'Top'#2'h'#5'Width'#2'p'#8'OnChange'#7#10'Ch'
+'angeName'#8'TabOrder'#2#2#4'Text'#6#4'Name'#0#0#7'TButton'#19'PickNewColour' +'angeName'#8'TabOrder'#2#2#4'Text'#6#4'Name'#0#0#7'TButton'#19'PickNewColour'
+'Button'#4'Left'#3'`'#1#6'Height'#2#25#3'Top'#3#160#0#5'Width'#3#128#0#7'Cap' +'Button'#4'Left'#3'`'#1#6'Height'#2#25#3'Top'#3#160#0#5'Width'#3#128#0#7'Cap'

View File

@ -22,7 +22,6 @@ object ScriptFrame: TScriptFrame
ParentFont = False ParentFont = False
PopupMenu = Form1.ScriptPopup PopupMenu = Form1.ScriptPopup
TabOrder = 0 TabOrder = 0
BookMarkOptions.OnChange = nil
Gutter.Width = 57 Gutter.Width = 57
Gutter.MouseActions = < Gutter.MouseActions = <
item item
@ -593,6 +592,7 @@ object ScriptFrame: TScriptFrame
OnChange = SynEditChange OnChange = SynEditChange
OnProcessCommand = SynEditProcessCommand OnProcessCommand = SynEditProcessCommand
OnSpecialLineColors = SynEditSpecialLineColors OnSpecialLineColors = SynEditSpecialLineColors
OnStatusChange = SynEditStatusChange
object TSynGutterPartList object TSynGutterPartList
object TSynGutterMarks object TSynGutterMarks
Width = 23 Width = 23

View File

@ -1,5 +1,3 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TScriptFrame','FORMDATA',[ LazarusResources.Add('TScriptFrame','FORMDATA',[
'TPF0'#12'TScriptFrame'#11'ScriptFrame'#4'Left'#2#0#6'Height'#3'D'#1#3'Top'#2 'TPF0'#12'TScriptFrame'#11'ScriptFrame'#4'Left'#2#0#6'Height'#3'D'#1#3'Top'#2
+#0#5'Width'#3#144#1#12'ClientHeight'#3'D'#1#11'ClientWidth'#3#144#1#8'TabOrd' +#0#5'Width'#3#144#1#12'ClientHeight'#3'D'#1#11'ClientWidth'#3#144#1#8'TabOrd'
@ -7,146 +5,146 @@ LazarusResources.Add('TScriptFrame','FORMDATA',[
+#4'Left'#2#0#6'Height'#3'D'#1#3'Top'#2#0#5'Width'#3#144#1#5'Align'#7#8'alCli' +#4'Left'#2#0#6'Height'#3'D'#1#3'Top'#2#0#5'Width'#3#144#1#5'Align'#7#8'alCli'
+'ent'#11'Font.Height'#2#243#9'Font.Name'#6#11'Courier New'#10'Font.Pitch'#7#7 +'ent'#11'Font.Height'#2#243#9'Font.Name'#6#11'Courier New'#10'Font.Pitch'#7#7
+'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10'Paren' +'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10'Paren'
+'tFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#24'BookMarkOp' +'tFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#12'Gutter.Wid'
+'tions.OnChange'#13#12'Gutter.Width'#2'9'#19'Gutter.MouseActions'#14#1#5'Shi' +'th'#2'9'#19'Gutter.MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'But'
+'ft'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8 +'ton'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Comman'
+'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8'Priori' +'d'#2#13#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'Sh'
+'ty'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'Click' +'iftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDi'
+'Count'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6 +'r'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0
+'Option'#2#0#8'Priority'#2#0#0#0#11'Highlighter'#7#17'SynFreePascalSyn1'#10 +#0#11'Highlighter'#7#17'SynFreePascalSyn1'#10'Keystrokes'#14#1#7'Command'#7#4
+'Keystrokes'#14#1#7'Command'#7#4'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'#7#7'e' +'ecUp'#8'ShortCut'#2'&'#0#1#7'Command'#7#7'ecSelUp'#8'ShortCut'#3'& '#0#1#7
+'cSelUp'#8'ShortCut'#3'& '#0#1#7'Command'#7#10'ecScrollUp'#8'ShortCut'#3'&@' +'Command'#7#10'ecScrollUp'#8'ShortCut'#3'&@'#0#1#7'Command'#7#6'ecDown'#8'Sh'
+#0#1#7'Command'#7#6'ecDown'#8'ShortCut'#2'('#0#1#7'Command'#7#9'ecSelDown'#8 +'ortCut'#2'('#0#1#7'Command'#7#9'ecSelDown'#8'ShortCut'#3'( '#0#1#7'Command'
+'ShortCut'#3'( '#0#1#7'Command'#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1#7'C' +#7#12'ecScrollDown'#8'ShortCut'#3'(@'#0#1#7'Command'#7#6'ecLeft'#8'ShortCut'
+'ommand'#7#6'ecLeft'#8'ShortCut'#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'ShortC' +#2'%'#0#1#7'Command'#7#9'ecSelLeft'#8'ShortCut'#3'% '#0#1#7'Command'#7#10'ec'
+'ut'#3'% '#0#1#7'Command'#7#10'ecWordLeft'#8'ShortCut'#3'%@'#0#1#7'Command'#7 +'WordLeft'#8'ShortCut'#3'%@'#0#1#7'Command'#7#13'ecSelWordLeft'#8'ShortCut'#3
+#13'ecSelWordLeft'#8'ShortCut'#3'%`'#0#1#7'Command'#7#7'ecRight'#8'ShortCut' +'%`'#0#1#7'Command'#7#7'ecRight'#8'ShortCut'#2''''#0#1#7'Command'#7#10'ecSel'
+#2''''#0#1#7'Command'#7#10'ecSelRight'#8'ShortCut'#3''' '#0#1#7'Command'#7#11 +'Right'#8'ShortCut'#3''' '#0#1#7'Command'#7#11'ecWordRight'#8'ShortCut'#3''''
+'ecWordRight'#8'ShortCut'#3'''@'#0#1#7'Command'#7#14'ecSelWordRight'#8'Short' +'@'#0#1#7'Command'#7#14'ecSelWordRight'#8'ShortCut'#3'''`'#0#1#7'Command'#7
+'Cut'#3'''`'#0#1#7'Command'#7#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'Command' +#10'ecPageDown'#8'ShortCut'#2'"'#0#1#7'Command'#7#13'ecSelPageDown'#8'ShortC'
+#7#13'ecSelPageDown'#8'ShortCut'#3'" '#0#1#7'Command'#7#12'ecPageBottom'#8'S' +'ut'#3'" '#0#1#7'Command'#7#12'ecPageBottom'#8'ShortCut'#3'"@'#0#1#7'Command'
+'hortCut'#3'"@'#0#1#7'Command'#7#15'ecSelPageBottom'#8'ShortCut'#3'"`'#0#1#7 +#7#15'ecSelPageBottom'#8'ShortCut'#3'"`'#0#1#7'Command'#7#8'ecPageUp'#8'Shor'
+'Command'#7#8'ecPageUp'#8'ShortCut'#2'!'#0#1#7'Command'#7#11'ecSelPageUp'#8 +'tCut'#2'!'#0#1#7'Command'#7#11'ecSelPageUp'#8'ShortCut'#3'! '#0#1#7'Command'
+'ShortCut'#3'! '#0#1#7'Command'#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1#7'Comma' +#7#9'ecPageTop'#8'ShortCut'#3'!@'#0#1#7'Command'#7#12'ecSelPageTop'#8'ShortC'
+'nd'#7#12'ecSelPageTop'#8'ShortCut'#3'!`'#0#1#7'Command'#7#11'ecLineStart'#8 +'ut'#3'!`'#0#1#7'Command'#7#11'ecLineStart'#8'ShortCut'#2'$'#0#1#7'Command'#7
+'ShortCut'#2'$'#0#1#7'Command'#7#14'ecSelLineStart'#8'ShortCut'#3'$ '#0#1#7 +#14'ecSelLineStart'#8'ShortCut'#3'$ '#0#1#7'Command'#7#11'ecEditorTop'#8'Sho'
+'Command'#7#11'ecEditorTop'#8'ShortCut'#3'$@'#0#1#7'Command'#7#14'ecSelEdito' +'rtCut'#3'$@'#0#1#7'Command'#7#14'ecSelEditorTop'#8'ShortCut'#3'$`'#0#1#7'Co'
+'rTop'#8'ShortCut'#3'$`'#0#1#7'Command'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7 +'mmand'#7#9'ecLineEnd'#8'ShortCut'#2'#'#0#1#7'Command'#7#12'ecSelLineEnd'#8
+'Command'#7#12'ecSelLineEnd'#8'ShortCut'#3'# '#0#1#7'Command'#7#14'ecEditorB' +'ShortCut'#3'# '#0#1#7'Command'#7#14'ecEditorBottom'#8'ShortCut'#3'#@'#0#1#7
+'ottom'#8'ShortCut'#3'#@'#0#1#7'Command'#7#17'ecSelEditorBottom'#8'ShortCut' +'Command'#7#17'ecSelEditorBottom'#8'ShortCut'#3'#`'#0#1#7'Command'#7#12'ecTo'
+#3'#`'#0#1#7'Command'#7#12'ecToggleMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6 +'ggleMode'#8'ShortCut'#2'-'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'-@'#0#1
+'ecCopy'#8'ShortCut'#3'-@'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1 +#7'Command'#7#7'ecPaste'#8'ShortCut'#3'- '#0#1#7'Command'#7#12'ecDeleteChar'
+#7'Command'#7#12'ecDeleteChar'#8'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8 +#8'ShortCut'#2'.'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'. '#0#1#7'Command'
+'ShortCut'#3'. '#0#1#7'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7 +#7#16'ecDeleteLastChar'#8'ShortCut'#2#8#0#1#7'Command'#7#16'ecDeleteLastChar'
+'Command'#7#16'ecDeleteLastChar'#8'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDe' +#8'ShortCut'#3#8' '#0#1#7'Command'#7#16'ecDeleteLastWord'#8'ShortCut'#3#8'@'
+'leteLastWord'#8'ShortCut'#3#8'@'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8 +#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#7#6'ecRed'
+#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7 +'o'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#2#13
+#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCu' +#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCut'#3'A@'#0#1#7'Command'#7#6'ecCop'
+'t'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'e' +'y'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'ecBlockIndent'#8'ShortCut'#3'I`'#0
+'cBlockIndent'#8'ShortCut'#3'I`'#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut' +#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'#3'M@'#0#1#7'Command'#7#15'ecBloc'
+#3'M@'#0#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U`'#0#1#7'Command' +'kUnindent'#8'ShortCut'#3'U`'#0#1#7'Command'#7#7'ecPaste'#8'ShortCut'#3'V@'#0
+#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0 +#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0#1#7'Command'#7#12'ecDeleteLine'
+#1#7'Command'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDel' +#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDeleteEOL'#8'ShortCut'#3'Y`'#0#1#7
+'eteEOL'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7 +'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7'Command'#7#6'ecRedo'#8'ShortCu'
+'Command'#7#6'ecRedo'#8'ShortCut'#3'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8 +'t'#3'Z`'#0#1#7'Command'#7#13'ecGotoMarker0'#8'ShortCut'#3'0@'#0#1#7'Command'
+'ShortCut'#3'0@'#0#1#7'Command'#7#13'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7 +#7#13'ecGotoMarker1'#8'ShortCut'#3'1@'#0#1#7'Command'#7#13'ecGotoMarker2'#8
+'Command'#7#13'ecGotoMarker2'#8'ShortCut'#3'2@'#0#1#7'Command'#7#13'ecGotoMa' +'ShortCut'#3'2@'#0#1#7'Command'#7#13'ecGotoMarker3'#8'ShortCut'#3'3@'#0#1#7
+'rker3'#8'ShortCut'#3'3@'#0#1#7'Command'#7#13'ecGotoMarker4'#8'ShortCut'#3'4' +'Command'#7#13'ecGotoMarker4'#8'ShortCut'#3'4@'#0#1#7'Command'#7#13'ecGotoMa'
+'@'#0#1#7'Command'#7#13'ecGotoMarker5'#8'ShortCut'#3'5@'#0#1#7'Command'#7#13 +'rker5'#8'ShortCut'#3'5@'#0#1#7'Command'#7#13'ecGotoMarker6'#8'ShortCut'#3'6'
+'ecGotoMarker6'#8'ShortCut'#3'6@'#0#1#7'Command'#7#13'ecGotoMarker7'#8'Short' +'@'#0#1#7'Command'#7#13'ecGotoMarker7'#8'ShortCut'#3'7@'#0#1#7'Command'#7#13
+'Cut'#3'7@'#0#1#7'Command'#7#13'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7'Comma' +'ecGotoMarker8'#8'ShortCut'#3'8@'#0#1#7'Command'#7#13'ecGotoMarker9'#8'Short'
+'nd'#7#13'ecGotoMarker9'#8'ShortCut'#3'9@'#0#1#7'Command'#7#12'ecSetMarker0' +'Cut'#3'9@'#0#1#7'Command'#7#12'ecSetMarker0'#8'ShortCut'#3'0`'#0#1#7'Comman'
+#8'ShortCut'#3'0`'#0#1#7'Command'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7 +'d'#7#12'ecSetMarker1'#8'ShortCut'#3'1`'#0#1#7'Command'#7#12'ecSetMarker2'#8
+'Command'#7#12'ecSetMarker2'#8'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecSetMark' +'ShortCut'#3'2`'#0#1#7'Command'#7#12'ecSetMarker3'#8'ShortCut'#3'3`'#0#1#7'C'
+'er3'#8'ShortCut'#3'3`'#0#1#7'Command'#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0 +'ommand'#7#12'ecSetMarker4'#8'ShortCut'#3'4`'#0#1#7'Command'#7#12'ecSetMarke'
+#1#7'Command'#7#12'ecSetMarker5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12'ecSet' +'r5'#8'ShortCut'#3'5`'#0#1#7'Command'#7#12'ecSetMarker6'#8'ShortCut'#3'6`'#0
+'Marker6'#8'ShortCut'#3'6`'#0#1#7'Command'#7#12'ecSetMarker7'#8'ShortCut'#3 +#1#7'Command'#7#12'ecSetMarker7'#8'ShortCut'#3'7`'#0#1#7'Command'#7#12'ecSet'
+'7`'#0#1#7'Command'#7#12'ecSetMarker8'#8'ShortCut'#3'8`'#0#1#7'Command'#7#12 +'Marker8'#8'ShortCut'#3'8`'#0#1#7'Command'#7#12'ecSetMarker9'#8'ShortCut'#3
+'ecSetMarker9'#8'ShortCut'#3'9`'#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCu' +'9`'#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'1'#160#0#0#0#1#7'Comman'
+'t'#4'1'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel2'#8'ShortCut'#4'2'#160#0#0#0 +'d'#7#12'EcFoldLevel2'#8'ShortCut'#4'2'#160#0#0#0#1#7'Command'#7#12'EcFoldLe'
+#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'3'#160#0#0#0#1#7'Command'#7#12 +'vel1'#8'ShortCut'#4'3'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'
,'EcFoldLevel1'#8'ShortCut'#4'4'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8 ,#4'4'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel1'#8'ShortCut'#4'5'#160#0#0#0#1
+'ShortCut'#4'5'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel6'#8'ShortCut'#4'6' +#7'Command'#7#12'EcFoldLevel6'#8'ShortCut'#4'6'#160#0#0#0#1#7'Command'#7#12
+#160#0#0#0#1#7'Command'#7#12'EcFoldLevel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Co' +'EcFoldLevel7'#8'ShortCut'#4'7'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel8'#8
+'mmand'#7#12'EcFoldLevel8'#8'ShortCut'#4'8'#160#0#0#0#1#7'Command'#7#12'EcFo' +'ShortCut'#4'8'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel9'#8'ShortCut'#4'9'
+'ldLevel9'#8'ShortCut'#4'9'#160#0#0#0#1#7'Command'#7#12'EcFoldLevel0'#8'Shor' +#160#0#0#0#1#7'Command'#7#12'EcFoldLevel0'#8'ShortCut'#4'0'#160#0#0#0#1#7'Co'
+'tCut'#4'0'#160#0#0#0#1#7'Command'#7#13'EcFoldCurrent'#8'ShortCut'#4'-'#160#0 +'mmand'#7#13'EcFoldCurrent'#8'ShortCut'#4'-'#160#0#0#0#1#7'Command'#7#15'EcU'
+#0#0#1#7'Command'#7#15'EcUnFoldCurrent'#8'ShortCut'#4'+'#160#0#0#0#1#7'Comma' +'nFoldCurrent'#8'ShortCut'#4'+'#160#0#0#0#1#7'Command'#7#18'EcToggleMarkupWo'
+'nd'#7#18'EcToggleMarkupWord'#8'ShortCut'#4'M'#128#0#0#0#1#7'Command'#7#14'e' +'rd'#8'ShortCut'#4'M'#128#0#0#0#1#7'Command'#7#14'ecNormalSelect'#8'ShortCut'
+'cNormalSelect'#8'ShortCut'#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'Shor' +#3'N`'#0#1#7'Command'#7#14'ecColumnSelect'#8'ShortCut'#3'C`'#0#1#7'Command'#7
+'tCut'#3'C`'#0#1#7'Command'#7#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Comma' +#12'ecLineSelect'#8'ShortCut'#3'L`'#0#1#7'Command'#7#5'ecTab'#8'ShortCut'#2#9
+'nd'#7#5'ecTab'#8'ShortCut'#2#9#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3 +#0#1#7'Command'#7#10'ecShiftTab'#8'ShortCut'#3#9' '#0#1#7'Command'#7#14'ecMa'
+#9' '#0#1#7'Command'#7#14'ecMatchBracket'#8'ShortCut'#3'B`'#0#1#7'Command'#7 +'tchBracket'#8'ShortCut'#3'B`'#0#1#7'Command'#7#10'ecColSelUp'#8'ShortCut'#4
+#10'ecColSelUp'#8'ShortCut'#4'&'#160#0#0#0#1#7'Command'#7#12'ecColSelDown'#8 +'&'#160#0#0#0#1#7'Command'#7#12'ecColSelDown'#8'ShortCut'#4'('#160#0#0#0#1#7
+'ShortCut'#4'('#160#0#0#0#1#7'Command'#7#12'ecColSelLeft'#8'ShortCut'#4'%' +'Command'#7#12'ecColSelLeft'#8'ShortCut'#4'%'#160#0#0#0#1#7'Command'#7#13'ec'
+#160#0#0#0#1#7'Command'#7#13'ecColSelRight'#8'ShortCut'#4''''#160#0#0#0#1#7 +'ColSelRight'#8'ShortCut'#4''''#160#0#0#0#1#7'Command'#7#16'ecColSelPageDown'
+'Command'#7#16'ecColSelPageDown'#8'ShortCut'#4'"'#160#0#0#0#1#7'Command'#7#18 +#8'ShortCut'#4'"'#160#0#0#0#1#7'Command'#7#18'ecColSelPageBottom'#8'ShortCut'
+'ecColSelPageBottom'#8'ShortCut'#4'"'#224#0#0#0#1#7'Command'#7#14'ecColSelPa' +#4'"'#224#0#0#0#1#7'Command'#7#14'ecColSelPageUp'#8'ShortCut'#4'!'#160#0#0#0
+'geUp'#8'ShortCut'#4'!'#160#0#0#0#1#7'Command'#7#15'ecColSelPageTop'#8'Short' +#1#7'Command'#7#15'ecColSelPageTop'#8'ShortCut'#4'!'#224#0#0#0#1#7'Command'#7
+'Cut'#4'!'#224#0#0#0#1#7'Command'#7#17'ecColSelLineStart'#8'ShortCut'#4'$' +#17'ecColSelLineStart'#8'ShortCut'#4'$'#160#0#0#0#1#7'Command'#7#15'ecColSel'
+#160#0#0#0#1#7'Command'#7#15'ecColSelLineEnd'#8'ShortCut'#4'#'#160#0#0#0#1#7 +'LineEnd'#8'ShortCut'#4'#'#160#0#0#0#1#7'Command'#7#17'ecColSelEditorTop'#8
+'Command'#7#17'ecColSelEditorTop'#8'ShortCut'#4'$'#224#0#0#0#1#7'Command'#7 +'ShortCut'#4'$'#224#0#0#0#1#7'Command'#7#20'ecColSelEditorBottom'#8'ShortCut'
+#20'ecColSelEditorBottom'#8'ShortCut'#4'#'#224#0#0#0#0#12'MouseActions'#14#1 +#4'#'#224#0#0#0#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssSh'
+#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10 +'ift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickD'
+'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCare' +'ir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0
+'t'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask' +#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'
+#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle' +#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Prior' +#2#1#9'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#5'ssAlt'#0
+'ity'#2#0#0#1#5'Shift'#11#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6 +#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'ssAlt'#0#9'ShiftMask'#11#7
+'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'Cl'
+'ickDir'#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'ClickCoun'
+'t'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#12#9'MoveCaret'#8#6'Opt'
+'ion'#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'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#8'ccTriple'#8'ClickDir'#7#6'cdD'
+'own'#7'Command'#2#7#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif'
+'t'#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'Priorit'
+'y'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#8'mbMiddle'#10'Click'
+'Count'#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'ssCtrl'#0#9'ShiftMask'#11#7
+'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccSi'
+'ngle'#8'ClickDir'#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 +'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 +'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#13'Lines.Stri'
+'ssShift'#5'ssAlt'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#0#6'Button'#7#6'mbL' +'ngs'#1#6#12'program new;'#6#5'begin'#6#4'end.'#0#21'BracketHighlightStyle'#7
+'eft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDown'#7'Command'#2#3#9 +#8'sbhsBoth'#8'OnChange'#7#13'SynEditChange'#16'OnProcessCommand'#7#21'SynEd'
+'MoveCaret'#9#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11 +'itProcessCommand'#19'OnSpecialLineColors'#7#24'SynEditSpecialLineColors'#14
+#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp' +'OnStatusChange'#7#19'SynEditStatusChange'#0#18'TSynGutterPartList'#0#0#15'T'
+#7'Command'#2#12#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11 +'SynGutterMarks'#0#5'Width'#2#23#0#0#20'TSynGutterLineNumber'#0#5'Width'#2#17
+#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'ccDouble'#8'Cl' +#12'MouseActions'#14#0#21'MarkupInfo.Background'#7#9'clBtnFace'#21'MarkupInf'
+'ickDir'#7#6'cdDown'#7'Command'#2#6#9'MoveCaret'#9#6'Option'#2#0#8'Priority' +'o.Foreground'#7#6'clNone'#10'DigitCount'#2#2#30'ShowOnlyLineNumbersMultiple'
+#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount' +'sOf'#2#1#9'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterChanges'#0#5'Wi'
+#7#8'ccTriple'#8'ClickDir'#7#6'cdDown'#7'Command'#2#7#9'MoveCaret'#9#6'Optio' +'dth'#2#4#13'ModifiedColor'#4#252#233#0#0#10'SavedColor'#7#7'clGreen'#0#0#19
+'n'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mb' +'TSynGutterSeparator'#0#5'Width'#2#2#0#0#21'TSynGutterCodeFolding'#0#12'Mous'
+'Left'#10'ClickCount'#7#6'ccQuad'#8'ClickDir'#7#6'cdDown'#7'Command'#2#8#9'M' +'eActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'Cl'
+'oveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11 +'ickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#16#9'MoveCaret'#8
+#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#6'cdDo' +#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#0
+'wn'#7'Command'#2#10#9'MoveCaret'#9#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif' +#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7
+'t'#11#6'ssCtrl'#0#9'ShiftMask'#11#7'ssShift'#5'ssAlt'#6'ssCtrl'#0#6'Button' +'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7
+#7#6'mbLeft'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2 ,'ssShift'#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCou'
+#11#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#15'MouseSelActions'#14#1 +'nt'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Opt'
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'cc' +'ion'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6
+'Single'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0 +'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#0#9
+#8'Priority'#2#0#0#0#13'Lines.Strings'#1#6#12'program new;'#6#5'begin'#6#4'e' +'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MarkupInfo.Background'#7#6
+'nd.'#0#21'BracketHighlightStyle'#7#8'sbhsBoth'#8'OnChange'#7#13'SynEditChan' +'clNone'#21'MarkupInfo.Foreground'#7#6'clGray'#20'MouseActionsExpanded'#14#1
+'ge'#16'OnProcessCommand'#7#21'SynEditProcessCommand'#19'OnSpecialLineColors' +#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc'
+#7#24'SynEditSpecialLineColors'#0#18'TSynGutterPartList'#0#0#15'TSynGutterMa' +'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8
+'rks'#0#5'Width'#2#23#0#0#20'TSynGutterLineNumber'#0#5'Width'#2#17#12'MouseA' +'Priority'#2#0#0#0#21'MouseActionsCollapsed'#14#1#5'Shift'#11#6'ssCtrl'#0#9
+'ctions'#14#0#21'MarkupInfo.Background'#7#9'clBtnFace'#21'MarkupInfo.Foregro' +'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8
+'und'#7#6'clNone'#10'DigitCount'#2#2#30'ShowOnlyLineNumbersMultiplesOf'#2#1#9 +'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#0#8'Priori'
+'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterChanges'#0#5'Width'#2#4#13 +'ty'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'
+'ModifiedColor'#4#252#233#0#0#10'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterS' +#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCar'
+'eparator'#0#5'Width'#2#2#0#0#21'TSynGutterCodeFolding'#0#12'MouseActions'#14 +'et'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0#0#0#17'TSynFreePascalSyn'#17'Sy'
+#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8 +'nFreePascalSyn1'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'#18'Co'
+'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Command'#2#16#9'MoveCaret'#8#6'Option'#2#0 +'mmentAttri.Style'#11#6'fsBold'#0#26'IdentifierAttri.Foreground'#7#9'clDefau'
+#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8 +'lt'#22'NumberAttri.Foreground'#7#6'clNavy'#22'StringAttri.Foreground'#7#6'c'
+'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14 +'lBlue'#22'SymbolAttri.Foreground'#7#5'clRed'#25'DirectiveAttri.Foreground'#7
+#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9 +#5'clRed'#20'DirectiveAttri.Style'#11#6'fsBold'#0#12'CompilerMode'#7#9'pcmOb'
,'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny' +'jFPC'#14'NestedComments'#9#4'left'#3'@'#1#3'top'#2#16#0#0#0
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Prio'
+'rity'#2#0#0#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#0#9'MoveCaret'#8#6
+'Option'#2#0#8'Priority'#2#0#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'Ma'
+'rkupInfo.Foreground'#7#6'clGray'#20'MouseActionsExpanded'#14#1#5'Shift'#11#0
+#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDi'
+'r'#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'c'
+'dDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'S'
+'hift'#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#17'TSynFreePascalSyn'#17'SynFreePascalSyn1'
+#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clBlue'#18'CommentAttri.Style'
+#11#6'fsBold'#0#26'IdentifierAttri.Foreground'#7#9'clDefault'#22'NumberAttri'
+'.Foreground'#7#6'clNavy'#22'StringAttri.Foreground'#7#6'clBlue'#22'SymbolAt'
+'tri.Foreground'#7#5'clRed'#25'DirectiveAttri.Foreground'#7#5'clRed'#20'Dire'
+'ctiveAttri.Style'#11#6'fsBold'#0#12'CompilerMode'#7#9'pcmObjFPC'#14'NestedC'
+'omments'#9#4'left'#3'@'#1#3'top'#2#16#0#0#0
]); ]);

View File

@ -1,198 +1,215 @@
{ {
This file is part of the Mufasa Macro Library (MML) This file is part of the Mufasa Macro Library (MML)
Copyright (c) 2009 by Raymond van Venetië and Merlijn Wajer Copyright (c) 2009 by Raymond van Venetië and Merlijn Wajer
MML is free software: you can redistribute it and/or modify MML is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
MML is distributed in the hope that it will be useful, MML is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with MML. If not, see <http://www.gnu.org/licenses/>. along with MML. If not, see <http://www.gnu.org/licenses/>.
See the file COPYING, included in this distribution, See the file COPYING, included in this distribution,
for details about the copyright. for details about the copyright.
framescript for the Mufasa Macro Library framescript for the Mufasa Macro Library
} }
unit framescript; unit framescript;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
interface interface
uses uses
Classes, SysUtils, FileUtil, LResources, Forms, SynHighlighterPas, SynEdit, Classes, SysUtils, FileUtil, LResources, Forms, SynHighlighterPas, SynEdit,
mmlpsthread,ComCtrls, SynEditKeyCmds, LCLType, SynEditMarkupSpecialLine, Graphics; mmlpsthread,ComCtrls, SynEditKeyCmds, LCLType, SynEditMarkupSpecialLine, Graphics;
type type
TScriptState = (ss_None,ss_Running,ss_Paused,ss_Stopping); TScriptState = (ss_None,ss_Running,ss_Paused,ss_Stopping);
{ {
ss_None: Means the script either hasn't been run yet, or it has ended (Succesfully or terminated) ss_None: Means the script either hasn't been run yet, or it has ended (Succesfully or terminated)
ss_Running: Means the script is running as we speak :-) ss_Running: Means the script is running as we speak :-)
ss_Paused: Means the script is currently in pause modus. ss_Paused: Means the script is currently in pause modus.
ss_Stopping: Means we've asked PS-Script politely to stop the script (next time we press the stop button we won't be that nice). ss_Stopping: Means we've asked PS-Script politely to stop the script (next time we press the stop button we won't be that nice).
} }
{ TScriptFrame } { TScriptFrame }
TScriptFrame = class(TFrame) TScriptFrame = class(TFrame)
SynEdit: TSynEdit; SynEdit: TSynEdit;
SynFreePascalSyn1: TSynFreePascalSyn; SynFreePascalSyn1: TSynFreePascalSyn;
procedure SynEditChange(Sender: TObject); procedure SynEditChange(Sender: TObject);
procedure SynEditProcessCommand(Sender: TObject; procedure SynEditProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure SynEditSpecialLineColors(Sender: TObject; Line: integer; procedure SynEditSpecialLineColors(Sender: TObject; Line: integer;
var Special: boolean; var FG, BG: TColor); var Special: boolean; var FG, BG: TColor);
procedure SynEditStatusChange(Sender: TObject; Changes: TSynStatusChanges);
private
OwnerPage : TPageControl; private
OwnerSheet : TTabSheet;//The owner TTabsheet -> For title setting OwnerPage : TPageControl;
public OwnerSheet : TTabSheet;//The owner TTabsheet -> For title setting
ScriptErrorLine : integer; //Highlight the error line! public
ScriptFile : string;//The path to the saved/opened file currently in the SynEdit ScriptErrorLine : integer; //Highlight the error line!
StartText : string;//The text synedit holds upon start/open/save ScriptFile : string;//The path to the saved/opened file currently in the SynEdit
ScriptName : string;//The name of the currently opened/saved file. StartText : string;//The text synedit holds upon start/open/save
ScriptDefault : string;//The default script e.g. program new; begin end. ScriptName : string;//The name of the currently opened/saved file.
ScriptChanged : boolean;//We need this for that little * (edited star). ScriptDefault : string;//The default script e.g. program new; begin end.
ScriptThread : TMMLPSThread;//Just one thread for now.. ScriptChanged : boolean;//We need this for that little * (edited star).
FScriptState : TScriptState;//Stores the ScriptState, if you want the Run/Pause/Start buttons to change accordingly, acces through Form1 ScriptThread : TMMLPSThread;//Just one thread for now..
procedure undo; FScriptState : TScriptState;//Stores the ScriptState, if you want the Run/Pause/Start buttons to change accordingly, acces through Form1
procedure redo; procedure undo;
procedure ErrorThread(ErrorAtLine,ErrorPosition : integer; ErrorStr : string; ErrorType : TErrorType); procedure redo;
procedure MakeActiveScriptFrame; procedure ErrorThread(ErrorAtLine,ErrorPosition : integer; ErrorStr : string; ErrorType : TErrorType);
procedure ScriptThreadTerminate(Sender: TObject); procedure MakeActiveScriptFrame;
constructor Create(TheOwner: TComponent); override; procedure ScriptThreadTerminate(Sender: TObject);
destructor Destroy; override; constructor Create(TheOwner: TComponent); override;
{ public declarations } destructor Destroy; override;
end; { public declarations }
end;
implementation
uses implementation
TestUnit; uses
TestUnit, SynEditTypes;
{ TScriptFrame }
{ TScriptFrame }
procedure TScriptFrame.SynEditChange(Sender: TObject);
begin procedure TScriptFrame.SynEditChange(Sender: TObject);
ScriptErrorLine:= -1; begin
if not ScriptChanged then ScriptErrorLine:= -1;
begin; if not ScriptChanged then
ScriptChanged:= True; begin;
Form1.Caption:= Format(WindowTitle,[ScriptName + '*']); ScriptChanged:= True;
OwnerSheet.Caption:=ScriptName + '*'; Form1.Caption:= Format(WindowTitle,[ScriptName + '*']);
end; OwnerSheet.Caption:=ScriptName + '*';
end; end;
end;
procedure TScriptFrame.SynEditProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); procedure TScriptFrame.SynEditProcessCommand(Sender: TObject;
begin var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
if Command = ecUndo then begin
begin; if Command = ecUndo then
Command:= ecNone; begin;
Self.Undo; Command:= ecNone;
end else Self.Undo;
if Command = ecRedo then end else
begin; if Command = ecRedo then
Command := ecNone; begin;
Self.Redo; Command := ecNone;
end; Self.Redo;
end; end;
end;
procedure TScriptFrame.SynEditSpecialLineColors(Sender: TObject;
Line: integer; var Special: boolean; var FG, BG: TColor); procedure TScriptFrame.SynEditSpecialLineColors(Sender: TObject;
begin Line: integer; var Special: boolean; var FG, BG: TColor);
if line = ScriptErrorLine then begin
begin; if line = ScriptErrorLine then
Special := true; begin;
BG := $50a0ff; Special := true;
FG := 0; BG := $50a0ff;
end; FG := 0;
end; end;
end;
procedure TScriptFrame.undo;
begin procedure TScriptFrame.SynEditStatusChange(Sender: TObject;
SynEdit.Undo; Changes: TSynStatusChanges);
if ScriptChanged then begin
if SynEdit.Lines.Text = StartText then with Form1.CurrScript.SynEdit do
begin; begin
Form1.Caption:= format(WindowTitle,[ScriptName]); if(Length(SelText) > 0)then
OwnerSheet.Caption:= ScriptName; if(Pos(' ', SelText) = 0) and (GetWordAtRowCol(CaretXY) = SelText)then
ScriptChanged := false; begin
end; HighlightAllColor.Background:= clLime;
end; SetHighlightSearch(SelText, [ssoWholeWord, ssoEntireScope]);
exit;
procedure TScriptFrame.redo; end;
begin SetHighlightSearch('', []);
SynEdit.Redo; end;
if ScriptChanged then end;
if SynEdit.Lines.Text = StartText then
begin; procedure TScriptFrame.undo;
Form1.Caption:= format(WindowTitle,[ScriptName]); begin
OwnerSheet.Caption := ScriptName; SynEdit.Undo;
ScriptChanged := false; if ScriptChanged then
end; if SynEdit.Lines.Text = StartText then
end; begin;
Form1.Caption:= format(WindowTitle,[ScriptName]);
procedure TScriptFrame.ErrorThread(ErrorAtLine, ErrorPosition: integer; OwnerSheet.Caption:= ScriptName;
ErrorStr: string; ErrorType: TErrorType); ScriptChanged := false;
begin end;
MakeActiveScriptFrame; end;
ScriptErrorLine:= ErrorAtLine;
SynEdit.Invalidate; procedure TScriptFrame.redo;
SynEdit.SelStart:= ErrorPosition; begin
formWriteln(Format('Error: %s at line %d',[errorstr,erroratline])); SynEdit.Redo;
end; if ScriptChanged then
if SynEdit.Lines.Text = StartText then
procedure TScriptFrame.MakeActiveScriptFrame; begin;
var Form1.Caption:= format(WindowTitle,[ScriptName]);
i : integer; OwnerSheet.Caption := ScriptName;
begin ScriptChanged := false;
if Form1.Visible then end;
for i := 0 to OwnerPage.PageCount - 1 do end;
if OwnerPage.Pages[i] = OwnerSheet then
begin; procedure TScriptFrame.ErrorThread(ErrorAtLine, ErrorPosition: integer;
OwnerPage.TabIndex := i; ErrorStr: string; ErrorType: TErrorType);
if OwnerSheet.CanFocus then begin
OwnerSheet.SetFocus; MakeActiveScriptFrame;
exit; ScriptErrorLine:= ErrorAtLine;
end; SynEdit.Invalidate;
end; SynEdit.SelStart:= ErrorPosition;
formWriteln(Format('Error: %s at line %d',[errorstr,erroratline]));
procedure TScriptFrame.ScriptThreadTerminate(Sender: TObject); end;
begin
FScriptState:= ss_None; procedure TScriptFrame.MakeActiveScriptFrame;
Form1.RefreshTab; var
end; i : integer;
begin
constructor TScriptFrame.Create(TheOwner: TComponent); if Form1.Visible then
begin for i := 0 to OwnerPage.PageCount - 1 do
inherited Create(TheOwner); if OwnerPage.Pages[i] = OwnerSheet then
OwnerSheet := TTabSheet(TheOwner); begin;
OwnerPage := TPageControl(OwnerSheet.Owner); OwnerPage.TabIndex := i;
StartText:= SynEdit.Lines.text; if OwnerSheet.CanFocus then
ScriptDefault:= StartText; OwnerSheet.SetFocus;
ScriptName:= 'Untitled'; exit;
ScriptChanged := false; end;
FScriptState:= ss_None; end;
ScriptErrorLine:= -1;
OwnerSheet.Caption:= ScriptName; procedure TScriptFrame.ScriptThreadTerminate(Sender: TObject);
SynEdit.IncrementColor.Background := $30D070; begin
SynEdit.HighlightAllColor.Background:= clYellow; FScriptState:= ss_None;
SynEdit.HighlightAllColor.Foreground:= clDefault; Form1.RefreshTab;
end; end;
destructor TScriptFrame.Destroy; constructor TScriptFrame.Create(TheOwner: TComponent);
begin begin
inherited Destroy; inherited Create(TheOwner);
end; OwnerSheet := TTabSheet(TheOwner);
OwnerPage := TPageControl(OwnerSheet.Owner);
initialization StartText:= SynEdit.Lines.text;
{$I framescript.lrs} ScriptDefault:= StartText;
ScriptName:= 'Untitled';
end. ScriptChanged := false;
FScriptState:= ss_None;
ScriptErrorLine:= -1;
OwnerSheet.Caption:= ScriptName;
SynEdit.IncrementColor.Background := $30D070;
SynEdit.HighlightAllColor.Background:= clYellow;
SynEdit.HighlightAllColor.Foreground:= clDefault;
end;
destructor TScriptFrame.Destroy;
begin
inherited Destroy;
end;
initialization
{$I framescript.lrs}
end.

View File

@ -33,14 +33,14 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item2> </Item2>
</RequiredPackages> </RequiredPackages>
<Units Count="215"> <Units Count="219">
<Unit0> <Unit0>
<Filename Value="project1.lpr"/> <Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="project1"/> <UnitName Value="project1"/>
<CursorPos X="22" Y="20"/> <CursorPos X="22" Y="20"/>
<TopLine Value="17"/> <TopLine Value="17"/>
<EditorIndex Value="5"/> <EditorIndex Value="7"/>
<UsageCount Value="205"/> <UsageCount Value="205"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
@ -164,12 +164,12 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="TestUnit"/> <UnitName Value="TestUnit"/>
<CursorPos X="81" Y="525"/> <CursorPos X="53" Y="759"/>
<TopLine Value="513"/> <TopLine Value="756"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="202"/> <UsageCount Value="202"/>
<Bookmarks Count="1"> <Bookmarks Count="1">
<Item0 X="27" Y="538" ID="1"/> <Item0 X="27" Y="552" ID="1"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit17> </Unit17>
@ -226,7 +226,7 @@
<UnitName Value="Client"/> <UnitName Value="Client"/>
<CursorPos X="26" Y="44"/> <CursorPos X="26" Y="44"/>
<TopLine Value="26"/> <TopLine Value="26"/>
<EditorIndex Value="9"/> <EditorIndex Value="11"/>
<UsageCount Value="201"/> <UsageCount Value="201"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit25> </Unit25>
@ -236,7 +236,7 @@
<UnitName Value="MufasaTypes"/> <UnitName Value="MufasaTypes"/>
<CursorPos X="84" Y="44"/> <CursorPos X="84" Y="44"/>
<TopLine Value="37"/> <TopLine Value="37"/>
<EditorIndex Value="2"/> <EditorIndex Value="4"/>
<UsageCount Value="201"/> <UsageCount Value="201"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit26> </Unit26>
@ -261,7 +261,7 @@
<UnitName Value="Window"/> <UnitName Value="Window"/>
<CursorPos X="28" Y="157"/> <CursorPos X="28" Y="157"/>
<TopLine Value="143"/> <TopLine Value="143"/>
<EditorIndex Value="6"/> <EditorIndex Value="8"/>
<UsageCount Value="201"/> <UsageCount Value="201"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit29> </Unit29>
@ -277,8 +277,8 @@
<UnitName Value="windowutil"/> <UnitName Value="windowutil"/>
<CursorPos X="29" Y="29"/> <CursorPos X="29" Y="29"/>
<TopLine Value="24"/> <TopLine Value="24"/>
<EditorIndex Value="7"/> <EditorIndex Value="9"/>
<UsageCount Value="50"/> <UsageCount Value="52"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit31> </Unit31>
<Unit32> <Unit32>
@ -286,8 +286,8 @@
<UnitName Value="Input"/> <UnitName Value="Input"/>
<CursorPos X="18" Y="57"/> <CursorPos X="18" Y="57"/>
<TopLine Value="46"/> <TopLine Value="46"/>
<EditorIndex Value="12"/> <EditorIndex Value="14"/>
<UsageCount Value="74"/> <UsageCount Value="76"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit32> </Unit32>
<Unit33> <Unit33>
@ -296,7 +296,7 @@
<UnitName Value="finder"/> <UnitName Value="finder"/>
<CursorPos X="50" Y="19"/> <CursorPos X="50" Y="19"/>
<TopLine Value="19"/> <TopLine Value="19"/>
<EditorIndex Value="10"/> <EditorIndex Value="12"/>
<UsageCount Value="201"/> <UsageCount Value="201"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit33> </Unit33>
@ -321,7 +321,7 @@
<UnitName Value="mmlpsthread"/> <UnitName Value="mmlpsthread"/>
<CursorPos X="23" Y="198"/> <CursorPos X="23" Y="198"/>
<TopLine Value="182"/> <TopLine Value="182"/>
<EditorIndex Value="8"/> <EditorIndex Value="10"/>
<UsageCount Value="202"/> <UsageCount Value="202"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit36> </Unit36>
@ -410,7 +410,7 @@
<UnitName Value="bitmaps"/> <UnitName Value="bitmaps"/>
<CursorPos X="44" Y="692"/> <CursorPos X="44" Y="692"/>
<TopLine Value="670"/> <TopLine Value="670"/>
<EditorIndex Value="11"/> <EditorIndex Value="13"/>
<UsageCount Value="200"/> <UsageCount Value="200"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit49> </Unit49>
@ -730,7 +730,7 @@
<UnitName Value="colourpicker"/> <UnitName Value="colourpicker"/>
<CursorPos X="36" Y="188"/> <CursorPos X="36" Y="188"/>
<TopLine Value="162"/> <TopLine Value="162"/>
<EditorIndex Value="3"/> <EditorIndex Value="5"/>
<UsageCount Value="201"/> <UsageCount Value="201"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit97> </Unit97>
@ -869,7 +869,7 @@
<UnitName Value="ocr"/> <UnitName Value="ocr"/>
<CursorPos X="19" Y="91"/> <CursorPos X="19" Y="91"/>
<TopLine Value="75"/> <TopLine Value="75"/>
<UsageCount Value="175"/> <UsageCount Value="180"/>
</Unit116> </Unit116>
<Unit117> <Unit117>
<Filename Value="../../Units/PascalScript/uPSR_extctrls.pas"/> <Filename Value="../../Units/PascalScript/uPSR_extctrls.pas"/>
@ -884,7 +884,7 @@
<UnitName Value="project"/> <UnitName Value="project"/>
<CursorPos X="46" Y="15"/> <CursorPos X="46" Y="15"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="172"/> <UsageCount Value="177"/>
</Unit118> </Unit118>
<Unit119> <Unit119>
<Filename Value="../../../FPC/FPCCheckout/rtl/inc/heap.inc"/> <Filename Value="../../../FPC/FPCCheckout/rtl/inc/heap.inc"/>
@ -998,7 +998,7 @@
<UnitName Value="web"/> <UnitName Value="web"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="100"/> <UsageCount Value="105"/>
</Unit136> </Unit136>
<Unit137> <Unit137>
<Filename Value="../../../lazarus/lcl/lazhelphtml.pas"/> <Filename Value="../../../lazarus/lcl/lazhelphtml.pas"/>
@ -1195,10 +1195,10 @@
<ComponentName Value="ScriptFrame"/> <ComponentName Value="ScriptFrame"/>
<ResourceBaseClass Value="Frame"/> <ResourceBaseClass Value="Frame"/>
<UnitName Value="framescript"/> <UnitName Value="framescript"/>
<CursorPos X="1" Y="69"/> <CursorPos X="37" Y="121"/>
<TopLine Value="46"/> <TopLine Value="117"/>
<EditorIndex Value="1"/> <EditorIndex Value="3"/>
<UsageCount Value="93"/> <UsageCount Value="98"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit161> </Unit161>
<Unit162> <Unit162>
@ -1476,8 +1476,8 @@
<UnitName Value="XTest"/> <UnitName Value="XTest"/>
<CursorPos X="72" Y="28"/> <CursorPos X="72" Y="28"/>
<TopLine Value="14"/> <TopLine Value="14"/>
<EditorIndex Value="13"/> <EditorIndex Value="15"/>
<UsageCount Value="17"/> <UsageCount Value="19"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit203> </Unit203>
<Unit204> <Unit204>
@ -1506,7 +1506,7 @@
<UnitName Value="colourpickersort"/> <UnitName Value="colourpickersort"/>
<CursorPos X="11" Y="1"/> <CursorPos X="11" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="32"/> <UsageCount Value="37"/>
</Unit207> </Unit207>
<Unit208> <Unit208>
<Filename Value="colourhistory.pas"/> <Filename Value="colourhistory.pas"/>
@ -1516,8 +1516,8 @@
<UnitName Value="colourhistory"/> <UnitName Value="colourhistory"/>
<CursorPos X="2" Y="137"/> <CursorPos X="2" Y="137"/>
<TopLine Value="116"/> <TopLine Value="116"/>
<EditorIndex Value="4"/> <EditorIndex Value="6"/>
<UsageCount Value="30"/> <UsageCount Value="35"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit208> </Unit208>
<Unit209> <Unit209>
@ -1558,127 +1558,159 @@
<UsageCount Value="10"/> <UsageCount Value="10"/>
<SyntaxHighlighter Value="LFM"/> <SyntaxHighlighter Value="LFM"/>
</Unit214> </Unit214>
<Unit215>
<Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<UnitName Value="SynEdit"/>
<CursorPos X="35" Y="8457"/>
<TopLine Value="8445"/>
<EditorIndex Value="1"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit215>
<Unit216>
<Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedittypes.pp"/>
<UnitName Value="SynEditTypes"/>
<CursorPos X="58" Y="71"/>
<TopLine Value="64"/>
<EditorIndex Value="2"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit216>
<Unit217>
<Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/syneditmiscclasses.pp"/>
<UnitName Value="SynEditMiscClasses"/>
<CursorPos X="44" Y="323"/>
<TopLine Value="311"/>
<UsageCount Value="10"/>
</Unit217>
<Unit218>
<Filename Value="../../../../../../usr/local/share/lazarus/lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/>
<CursorPos X="14" Y="421"/>
<TopLine Value="409"/>
<UsageCount Value="10"/>
</Unit218>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="261" Column="22" TopLine="249"/> <Caret Line="1935" Column="70" TopLine="1918"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="312" Column="10" TopLine="300"/> <Caret Line="1952" Column="60" TopLine="1940"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="537" Column="39" TopLine="524"/> <Caret Line="1957" Column="57" TopLine="1940"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="535" Column="87" TopLine="524"/> <Caret Line="3175" Column="45" TopLine="3163"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="536" Column="7" TopLine="525"/> <Caret Line="3430" Column="30" TopLine="3418"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="4" Column="70" TopLine="1"/> <Caret Line="3931" Column="57" TopLine="3919"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="96" Column="38" TopLine="85"/> <Caret Line="8457" Column="38" TopLine="8445"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="263" Column="29" TopLine="251"/> <Caret Line="8458" Column="38" TopLine="8445"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="testunit.pas"/> <Filename Value="../../../../../../usr/local/share/lazarus/components/synedit/synedit.pp"/>
<Caret Line="314" Column="17" TopLine="302"/> <Caret Line="8457" Column="35" TopLine="8445"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="522" Column="32" TopLine="510"/> <Caret Line="587" Column="47" TopLine="574"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="544" Column="72" TopLine="526"/> <Caret Line="588" Column="47" TopLine="574"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="542" Column="91" TopLine="530"/> <Caret Line="590" Column="47" TopLine="574"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="544" Column="70" TopLine="530"/> <Caret Line="747" Column="6" TopLine="737"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="537" Column="27" TopLine="526"/> <Caret Line="746" Column="6" TopLine="737"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="539" Column="62" TopLine="529"/> <Caret Line="843" Column="31" TopLine="840"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="533" Column="6" TopLine="524"/> <Caret Line="849" Column="12" TopLine="846"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="435" Column="11" TopLine="430"/> <Caret Line="848" Column="32" TopLine="836"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="2" Column="70" TopLine="1"/> <Caret Line="855" Column="1" TopLine="836"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="68" Column="14" TopLine="56"/> <Caret Line="848" Column="20" TopLine="839"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="100" Column="17" TopLine="88"/> <Caret Line="852" Column="64" TopLine="839"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="135" Column="16" TopLine="123"/> <Caret Line="853" Column="66" TopLine="839"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="171" Column="37" TopLine="159"/> <Caret Line="850" Column="3" TopLine="839"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="172" Column="35" TopLine="159"/> <Caret Line="852" Column="78" TopLine="839"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="173" Column="31" TopLine="159"/> <Caret Line="851" Column="64" TopLine="839"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="174" Column="24" TopLine="159"/> <Caret Line="859" Column="58" TopLine="840"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="254" Column="28" TopLine="243"/> <Caret Line="860" Column="58" TopLine="840"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="662" Column="39" TopLine="650"/> <Caret Line="318" Column="13" TopLine="316"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="670" Column="38" TopLine="658"/> <Caret Line="267" Column="29" TopLine="255"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="721" Column="27" TopLine="709"/> <Caret Line="318" Column="17" TopLine="306"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="testunit.pas"/> <Filename Value="testunit.pas"/>
<Caret Line="4" Column="66" TopLine="1"/> <Caret Line="541" Column="51" TopLine="523"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>

View File

@ -1,7 +1,7 @@
object Form1: TForm1 object Form1: TForm1
Left = 474 Left = 275
Height = 557 Height = 557
Top = 246 Top = 155
Width = 731 Width = 731
ActiveControl = ScriptPanel ActiveControl = ScriptPanel
Caption = 'THA FUKING MUFASA' Caption = 'THA FUKING MUFASA'
@ -373,7 +373,7 @@ object Form1: TForm1
end end
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu
left = 560 left = 528
object MenuFile: TMenuItem object MenuFile: TMenuItem
Caption = 'File' Caption = 'File'
SubMenuImages = Mufasa_Image_List SubMenuImages = Mufasa_Image_List
@ -932,12 +932,17 @@ object Form1: TForm1
end end
object MenuItemFind: TMenuItem object MenuItemFind: TMenuItem
Action = ActionFindStart Action = ActionFindStart
Caption = 'Find...'
OnClick = ActionFindstartExecute OnClick = ActionFindstartExecute
end end
object MenuItemFindNext: TMenuItem object MenuItemFindNext: TMenuItem
Action = ActionFindNext Action = ActionFindNext
OnClick = ActionFindNextExecute OnClick = ActionFindNextExecute
end end
object MenuItemReplace: TMenuItem
Action = ActionReplace
OnClick = ActionReplaceExecute
end
end end
object MenuItemScript: TMenuItem object MenuItemScript: TMenuItem
Caption = 'Script' Caption = 'Script'
@ -1075,7 +1080,7 @@ object Form1: TForm1
end end
end end
object Mufasa_Image_List: TImageList object Mufasa_Image_List: TImageList
left = 512 left = 488
Bitmap = { Bitmap = {
4C69190000001000000010000000424242004242420042424200424242004242 4C69190000001000000010000000424242004242420042424200424242004242
420042424200424242004242420042424200424242004242420042424200A155 420042424200424242004242420042424200424242004242420042424200A155
@ -1918,11 +1923,11 @@ object Form1: TForm1
} }
Visible = True Visible = True
OnClick = NoTray OnClick = NoTray
left = 464 left = 448
end end
object TrayPopup: TPopupMenu object TrayPopup: TPopupMenu
Images = Mufasa_Image_List Images = Mufasa_Image_List
left = 600 left = 568
object TrayStop: TMenuItem object TrayStop: TMenuItem
Action = ActionStopScript Action = ActionStopScript
Enabled = False Enabled = False
@ -1951,7 +1956,7 @@ object Form1: TForm1
end end
object TabPopup: TPopupMenu object TabPopup: TPopupMenu
Images = Mufasa_Image_List Images = Mufasa_Image_List
left = 424 left = 408
object MenuItemTabAdd: TMenuItem object MenuItemTabAdd: TMenuItem
Action = ActionNewTab Action = ActionNewTab
Bitmap.Data = { Bitmap.Data = {
@ -2040,7 +2045,7 @@ object Form1: TForm1
end end
object ActionList: TActionList object ActionList: TActionList
Images = Mufasa_Image_List Images = Mufasa_Image_List
left = 384 left = 368
object ActionTabNext: TAction object ActionTabNext: TAction
Caption = 'Next tab' Caption = 'Next tab'
OnExecute = ActionTabNextExecute OnExecute = ActionTabNextExecute
@ -2163,15 +2168,20 @@ object Form1: TForm1
OnExecute = ActionFindNextExecute OnExecute = ActionFindNextExecute
ShortCut = 114 ShortCut = 114
end end
object ActionReplace: TAction
Caption = 'Replace...'
OnExecute = ActionReplaceExecute
ShortCut = 16466
end
end end
object DebugTimer: TTimer object DebugTimer: TTimer
OnTimer = ProcessDebugStream OnTimer = ProcessDebugStream
left = 640 left = 608
end end
object ScriptPopup: TPopupMenu object ScriptPopup: TPopupMenu
Images = Mufasa_Image_List Images = Mufasa_Image_List
OnPopup = ScriptPopupPopup OnPopup = ScriptPopupPopup
left = 680 left = 648
object PopupItemUndo: TMenuItem object PopupItemUndo: TMenuItem
Action = ActionUndo Action = ActionUndo
Bitmap.Data = { Bitmap.Data = {
@ -2429,5 +2439,16 @@ object Form1: TForm1
Action = ActionFindNext Action = ActionFindNext
OnClick = ActionFindNextExecute OnClick = ActionFindNextExecute
end end
object PopupItemReplace: TMenuItem
Action = ActionReplace
Caption = 'Replace'
OnClick = ActionReplaceExecute
end
end
object dlgReplace: TReplaceDialog
Options = [frDown, frFindNext, frHideUpDown]
OnFind = dlgReplaceFind
OnReplace = dlgReplaceReplace
left = 688
end end
end end

File diff suppressed because it is too large Load Diff

View File

@ -58,6 +58,7 @@ type
{ TForm1 } { TForm1 }
TForm1 = class(TForm) TForm1 = class(TForm)
ActionReplace: TAction;
ActionFindNext: TAction; ActionFindNext: TAction;
ActionRedo: TAction; ActionRedo: TAction;
ActionUndo: TAction; ActionUndo: TAction;
@ -86,6 +87,9 @@ type
Memo1: TMemo; Memo1: TMemo;
MenuFile: TMenuItem; MenuFile: TMenuItem;
MenuEdit: TMenuItem; MenuEdit: TMenuItem;
PopupItemReplace: TMenuItem;
MenuItemReplace: TMenuItem;
dlgReplace: TReplaceDialog;
View_CH_Menu: TMenuItem; View_CH_Menu: TMenuItem;
ViewMenu: TMenuItem; ViewMenu: TMenuItem;
MenuItemFindNext: TMenuItem; MenuItemFindNext: TMenuItem;
@ -181,6 +185,7 @@ type
procedure ActionPasteExecute(Sender: TObject); procedure ActionPasteExecute(Sender: TObject);
procedure ActionPauseExecute(Sender: TObject); procedure ActionPauseExecute(Sender: TObject);
procedure ActionRedoExecute(Sender: TObject); procedure ActionRedoExecute(Sender: TObject);
procedure ActionReplaceExecute(Sender: TObject);
procedure ActionRunExecute(Sender: TObject); procedure ActionRunExecute(Sender: TObject);
procedure ActionSaveAllExecute(Sender: TObject); procedure ActionSaveAllExecute(Sender: TObject);
procedure ActionSaveAsExecute(Sender: TObject); procedure ActionSaveAsExecute(Sender: TObject);
@ -193,6 +198,8 @@ type
procedure CheckBoxMatchCaseClick(Sender: TObject); procedure CheckBoxMatchCaseClick(Sender: TObject);
procedure CloseFindPanel; procedure CloseFindPanel;
procedure ColourHistoryMenuClick(Sender: TObject); procedure ColourHistoryMenuClick(Sender: TObject);
procedure dlgReplaceFind(Sender: TObject);
procedure dlgReplaceReplace(Sender: TObject);
procedure EditSearchChange(Sender: TObject); procedure EditSearchChange(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
@ -512,19 +519,26 @@ begin;
ActionDelete.Enabled:= Delete; ActionDelete.Enabled:= Delete;
end; end;
var
S: String;
B: Boolean;
begin begin
if CurrScript.SynEdit.Focused or ScriptPopup.HandleAllocated then if CurrScript.SynEdit.Focused or ScriptPopup.HandleAllocated then
begin begin
with CurrScript.SynEdit do with CurrScript.SynEdit do
begin begin
EditActions(CanUndo,CanRedo,SelText <> '',SelText <> '',CanPaste,SelText <> ''); EditActions(CanUndo,CanRedo,SelText <> '',SelText <> '',CanPaste,SelText <> '');
if(SelText <> '')then B:= SelText <> '';
PopupItemFind.Enabled:= B;
PopupItemReplace.Enabled:= B;
if(B)then
begin begin
PopupItemFind.Enabled:= True;
if(Length(SelText) > 20)then if(Length(SelText) > 20)then
PopupItemFind.Caption:= Format('Find next: "%s"', [Copy(SelText, 1, 17) + '...']) S:= Format('"%s"', [Copy(SelText, 1, 17) + '...'])
else else
PopupItemFind.Caption:= Format('Find next: "%s"', [SelText]); S:= Format('"%s"', [SelText]);
PopupItemFind.Caption:= 'Find next: ' + S;
PopupItemReplace.Caption:= 'Replace: ' + S;
end; end;
end end
end end
@ -583,10 +597,13 @@ begin
LabeledEditSearch.Color:= clWindow; LabeledEditSearch.Color:= clWindow;
LabeledEditSearch.Font.Color:= clWindowText; LabeledEditSearch.Font.Color:= clWindowText;
with CurrScript.SynEdit do with CurrScript.SynEdit do
begin
HighlightAllColor.Background:= clYellow;
if HighlightAll then if HighlightAll then
SetHighlightSearch(Str,[]) SetHighlightSearch(Str,[])
else else
SetHighlightSearch('',[]); SetHighlightSearch('',[]);
end;
end; end;
end; end;
@ -736,6 +753,13 @@ begin
Memo1.Undo; //? Memo1.Undo; //?
end; end;
procedure TForm1.ActionReplaceExecute(Sender: TObject);
begin
if(ScriptPopup.HandleAllocated)then
dlgReplace.FindText:= CurrScript.SynEdit.SelText;
dlgReplace.Execute;
end;
procedure TForm1.ActionRunExecute(Sender: TObject); procedure TForm1.ActionRunExecute(Sender: TObject);
begin begin
Self.RunScript; Self.RunScript;
@ -824,6 +848,22 @@ begin
ColourHistoryForm.Hide; ColourHistoryForm.Hide;
end; end;
procedure TForm1.dlgReplaceFind(Sender: TObject);
begin
DoSearch(dlgReplace.FindText, True, False);
end;
procedure TForm1.dlgReplaceReplace(Sender: TObject);
var
Options: TSynSearchOptions;
begin
if(frEntireScope in dlgReplace.Options)then Options:= [ssoEntireScope];
if(frMatchCase in dlgReplace.Options)then Options:= Options + [ssoMatchCase];
if(frWholeWord in dlgReplace.Options)then Options:= Options + [ssoWholeWord];
if(frReplaceAll in dlgReplace.Options)then Options:= Options + [ssoReplaceAll];
CurrScript.SynEdit.SearchReplace(dlgReplace.FindText, dlgReplace.ReplaceText, Options);
end;
procedure TForm1.EditSearchChange(Sender: TObject); procedure TForm1.EditSearchChange(Sender: TObject);
begin begin
DoSearch(LabeledEditSearch.Text, false, true); DoSearch(LabeledEditSearch.Text, false, true);