IDE: implemented find next/previous word occurrence

git-svn-id: trunk@9916 -
This commit is contained in:
mattias 2006-09-16 14:02:14 +00:00
parent c8913db097
commit 9e2483124a
7 changed files with 607 additions and 511 deletions

View File

@ -761,6 +761,7 @@ var
or MultiLinePatternFits then begin
// the whole pattern fits
Result:=true;
//DebugLn(['CheckFound Found=',dbgs(FoundStartPos),'..',dbgs(FoundEndPos),' Range=',dbgs(StartPos),'..',dbgs(EndPos)]);
FoundInRange:=(CompareCarets(FoundEndPos,EndPos)>=0)
and (CompareCarets(FoundStartPos,StartPos)<=0);
end else
@ -772,9 +773,15 @@ var
begin
Result:=false;
if Pattern='' then exit;
if Lines.Count=0 then exit;
if Lines.Count=0 then begin
//DebugLn(['TSynEditSearch.FindNextOne Lines.Count=0']);
exit;
end;
FixRange;
if StartPos.Y>Lines.Count then exit;
if StartPos.Y>Lines.Count then begin
//DebugLn(['TSynEditSearch.FindNextOne StartPos.Y>Lines.Count']);
exit;
end;
MinY:=Max(0,StartPos.Y-1);
MaxY:=Min(Lines.Count-1,EndPos.Y-1);
if MinY>MaxY then exit;
@ -832,19 +839,26 @@ begin
LineLen:=length(LineStr);
Line:=PChar(LineStr);
if not IsFirstLine then begin
if FBackwards then
x:=LineLen-1
else
if FBackwards then begin
if fRegExpr then
x:=LineLen-1
else
x:=LineLen-SearchLen;
end else
x:=0;
end else begin
IsFirstLine:=false;
if FBackwards then begin
x:=EndPos.X-1;
if fRegExpr then
x:=EndPos.X-2
else
x:=EndPos.X-SearchLen-1;
end else begin
x:=StartPos.X-1;
end;
end;
x:=MinMax(x,0,LineLen-1);
//DebugLn(['TSynEditSearch.FindNextOne Line="',LineStr,'" x=',x,' LineLen=',LineLen]);
// search in the line
if fRegExpr then begin
@ -872,8 +886,9 @@ begin
end else begin
//DebugLn(['TSynEditSearch.FindNextOne x=',x,' MaxPos=',MaxPos,' Line="',Line,'"']);
while (x>=0) and (x<=MaxPos) do begin
//DebugLn(['TSynEditSearch.FindNextOne x=',x]);
if CompTable[Line[x]]=CompTable[SearchFor^] then begin
//DebugLn(['TSynEditSearch.FindNextOne x=',x,' Line[x]=',Line[x]]);
//DebugLn(['TSynEditSearch.FindNextOne First character found x=',x,' Line[x]=',Line[x]]);
if (not fWhole)
or (x=0) or DelimTable[Line[x-1]] then begin
i:=1;
@ -885,7 +900,12 @@ begin
// the pattern fits to this position
FoundStartPos:=Point(x+1,y+1);
FoundEndPos:=Point(x+i+1,y+1);
if CheckFound(Result) then exit;
if CheckFound(Result) then begin
//DebugLn(['TSynEditSearch.FindNextOne CheckFound success Result=',Result]);
exit;
end else begin
//DebugLn(['TSynEditSearch.FindNextOne CheckFound failed']);
end;
end;
end;
end;

View File

@ -352,6 +352,8 @@ begin
ecReplace: SetResult2(VK_R,[SSCtrl],VK_UNKNOWN,[], VK_Q,[SSCtrl],VK_A,[]);
ecIncrementalFind: SetResult(VK_E,[SSCtrl],VK_UNKNOWN,[]);
ecGotoLineNumber: SetResult2(VK_G,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_G,[]);
ecFindNextWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecFindPrevWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecJumpBack: SetResult(VK_H,[ssCtrl],VK_UNKNOWN,[]);
ecJumpForward: SetResult(VK_H,[ssCtrl,ssShift],VK_UNKNOWN,[]);
ecAddJumpPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
@ -666,6 +668,8 @@ begin
ecReplace: SetResult(VK_Q,[SSCtrl],VK_A,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecIncrementalFind: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecGotoLineNumber: SetResult(VK_G,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecFindNextWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecFindPrevWordOccurrence: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecJumpBack: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecJumpForward: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecAddJumpPoint: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
@ -1152,278 +1156,280 @@ end;
function EditorCommandToDescriptionString(cmd: word): String;
begin
case cmd of
ecNone : Result:= dlgEnvNone;
ecLeft : Result:= srvk_left;
ecRight : Result:= srvk_right;
ecUp : Result:= dlgUpWord;
ecDown : Result:= dlgDownWord;
ecWordLeft : Result:= srkmecWordLeft;
ecWordRight : Result:= srkmecWordRight;
ecLineStart : Result:= srkmecLineStart;
ecLineEnd : Result:= srkmecLineEnd;
ecPageUp : Result:= srkmecPageUp;
ecPageDown : Result:= srkmecPageDown;
ecPageLeft : Result:= srkmecPageLeft;
ecPageRight : Result:= srkmecPageRight;
ecPageTop : Result:= srkmecPageTop;
ecPageBottom : Result:= srkmecPageBottom;
ecEditorTop : Result:= srkmecEditorTop;
ecEditorBottom : Result:= srkmecEditorBottom;
ecGotoXY : Result:= srkmecGotoXY;
ecSelLeft : Result:= srkmecSelLeft;
ecSelRight : Result:= srkmecSelRight;
ecSelUp : Result:= srkmecSelUp;
ecSelDown : Result:= srkmecSelDown;
ecSelWordLeft : Result:= srkmecSelWordLeft;
ecSelWordRight : Result:= srkmecSelWordRight;
ecSelLineStart : Result:= srkmecSelLineStart;
ecSelLineEnd : Result:= srkmecSelLineEnd;
ecSelPageUp : Result:= srkmecSelPageUp;
ecSelPageDown : Result:= srkmecSelPageDown;
ecSelPageLeft : Result:= srkmecSelPageLeft;
ecSelPageRight : Result:= srkmecSelPageRight;
ecSelPageTop : Result:= srkmecSelPageTop;
ecSelPageBottom : Result:= srkmecSelPageBottom;
ecSelEditorTop : Result:= srkmecSelEditorTop;
ecSelEditorBottom : Result:= srkmecSelEditorBottom;
ecSelGotoXY : Result:= srkmecSelGotoXY;
ecSelectAll : Result:= srkmecSelectAll;
ecDeleteLastChar : Result:= srkmecDeleteLastChar;
ecDeleteChar : Result:= srkmecDeleteChar;
ecDeleteWord : Result:= srkmecDeleteWord;
ecDeleteLastWord : Result:= srkmecDeleteLastWord;
ecDeleteBOL : Result:= srkmecDeleteBOL;
ecDeleteEOL : Result:= srkmecDeleteEOL;
ecDeleteLine : Result:= srkmecDeleteLine;
ecClearAll : Result:= srkmecClearAll;
ecLineBreak : Result:= srkmecLineBreak;
ecInsertLine : Result:= srkmecInsertLine;
ecChar : Result:= srkmecChar;
ecImeStr : Result:= srkmecImeStr;
ecUndo : Result:= lisMenuUndo;
ecRedo : Result:= lisMenuRedo;
ecCut : Result:= srkmecCut;
ecCopy : Result:= srkmecCopy;
ecPaste : Result:= srkmecPaste;
ecScrollUp : Result:= srkmecScrollUp;
ecScrollDown : Result:= srkmecScrollDown;
ecScrollLeft : Result:= srkmecScrollLeft;
ecScrollRight : Result:= srkmecScrollRight;
ecInsertMode : Result:= srkmecInsertMode;
ecOverwriteMode : Result:= srkmecOverwriteMode;
ecToggleMode : Result:= srkmecToggleMode;
ecBlockIndent : Result:= srkmecBlockIndent;
ecBlockUnindent : Result:= srkmecBlockUnindent;
ecTab : Result:= srVK_TAB;
ecShiftTab : Result:= srkmecShiftTab;
ecMatchBracket : Result:= srkmecMatchBracket;
ecNormalSelect : Result:= srkmecNormalSelect;
ecColumnSelect : Result:= srkmecColumnSelect;
ecLineSelect : Result:= srkmecLineSelect;
ecAutoCompletion : Result:= srkmecAutoCompletion;
ecUserFirst : Result:= srkmecPrevBookmark;
ecSetFreeBookmark : Result:= srkmecSetFreeBookmark;
ecPrevBookmark : Result:= srkmecPrevBookmark;
ecNextBookmark : Result:= srkmecNextBookmark;
ecNone : Result:= dlgEnvNone;
ecLeft : Result:= srvk_left;
ecRight : Result:= srvk_right;
ecUp : Result:= dlgUpWord;
ecDown : Result:= dlgDownWord;
ecWordLeft : Result:= srkmecWordLeft;
ecWordRight : Result:= srkmecWordRight;
ecLineStart : Result:= srkmecLineStart;
ecLineEnd : Result:= srkmecLineEnd;
ecPageUp : Result:= srkmecPageUp;
ecPageDown : Result:= srkmecPageDown;
ecPageLeft : Result:= srkmecPageLeft;
ecPageRight : Result:= srkmecPageRight;
ecPageTop : Result:= srkmecPageTop;
ecPageBottom : Result:= srkmecPageBottom;
ecEditorTop : Result:= srkmecEditorTop;
ecEditorBottom : Result:= srkmecEditorBottom;
ecGotoXY : Result:= srkmecGotoXY;
ecSelLeft : Result:= srkmecSelLeft;
ecSelRight : Result:= srkmecSelRight;
ecSelUp : Result:= srkmecSelUp;
ecSelDown : Result:= srkmecSelDown;
ecSelWordLeft : Result:= srkmecSelWordLeft;
ecSelWordRight : Result:= srkmecSelWordRight;
ecSelLineStart : Result:= srkmecSelLineStart;
ecSelLineEnd : Result:= srkmecSelLineEnd;
ecSelPageUp : Result:= srkmecSelPageUp;
ecSelPageDown : Result:= srkmecSelPageDown;
ecSelPageLeft : Result:= srkmecSelPageLeft;
ecSelPageRight : Result:= srkmecSelPageRight;
ecSelPageTop : Result:= srkmecSelPageTop;
ecSelPageBottom : Result:= srkmecSelPageBottom;
ecSelEditorTop : Result:= srkmecSelEditorTop;
ecSelEditorBottom : Result:= srkmecSelEditorBottom;
ecSelGotoXY : Result:= srkmecSelGotoXY;
ecSelectAll : Result:= srkmecSelectAll;
ecDeleteLastChar : Result:= srkmecDeleteLastChar;
ecDeleteChar : Result:= srkmecDeleteChar;
ecDeleteWord : Result:= srkmecDeleteWord;
ecDeleteLastWord : Result:= srkmecDeleteLastWord;
ecDeleteBOL : Result:= srkmecDeleteBOL;
ecDeleteEOL : Result:= srkmecDeleteEOL;
ecDeleteLine : Result:= srkmecDeleteLine;
ecClearAll : Result:= srkmecClearAll;
ecLineBreak : Result:= srkmecLineBreak;
ecInsertLine : Result:= srkmecInsertLine;
ecChar : Result:= srkmecChar;
ecImeStr : Result:= srkmecImeStr;
ecUndo : Result:= lisMenuUndo;
ecRedo : Result:= lisMenuRedo;
ecCut : Result:= srkmecCut;
ecCopy : Result:= srkmecCopy;
ecPaste : Result:= srkmecPaste;
ecScrollUp : Result:= srkmecScrollUp;
ecScrollDown : Result:= srkmecScrollDown;
ecScrollLeft : Result:= srkmecScrollLeft;
ecScrollRight : Result:= srkmecScrollRight;
ecInsertMode : Result:= srkmecInsertMode;
ecOverwriteMode : Result:= srkmecOverwriteMode;
ecToggleMode : Result:= srkmecToggleMode;
ecBlockIndent : Result:= srkmecBlockIndent;
ecBlockUnindent : Result:= srkmecBlockUnindent;
ecTab : Result:= srVK_TAB;
ecShiftTab : Result:= srkmecShiftTab;
ecMatchBracket : Result:= srkmecMatchBracket;
ecNormalSelect : Result:= srkmecNormalSelect;
ecColumnSelect : Result:= srkmecColumnSelect;
ecLineSelect : Result:= srkmecLineSelect;
ecAutoCompletion : Result:= srkmecAutoCompletion;
ecUserFirst : Result:= srkmecPrevBookmark;
ecSetFreeBookmark : Result:= srkmecSetFreeBookmark;
ecPrevBookmark : Result:= srkmecPrevBookmark;
ecNextBookmark : Result:= srkmecNextBookmark;
ecGotoMarker0 ..
ecGotoMarker9 : Result:= Format(srkmecGotoMarker,[cmd-ecGotoMarker0]);
ecGotoMarker9 : Result:= Format(srkmecGotoMarker,[cmd-ecGotoMarker0]);
ecSetMarker0 ..
ecSetMarker9 : Result:= Format(srkmecSetMarker,[cmd-ecSetMarker0]);
ecSetMarker9 : Result:= Format(srkmecSetMarker,[cmd-ecSetMarker0]);
// sourcenotebook
ecJumpToEditor : Result:= srkmecJumpToEditor;
ecNextEditor : Result:= srkmecNextEditor;
ecPrevEditor : Result:= srkmecPrevEditor;
ecMoveEditorLeft : Result:= srkmecMoveEditorLeft;
ecMoveEditorRight : Result:= srkmecMoveEditorRight;
ecAddBreakPoint : Result:= srkmecAddBreakPoint;
ecRemoveBreakPoint : Result:= srkmecRemoveBreakPoint;
ecJumpToEditor : Result:= srkmecJumpToEditor;
ecNextEditor : Result:= srkmecNextEditor;
ecPrevEditor : Result:= srkmecPrevEditor;
ecMoveEditorLeft : Result:= srkmecMoveEditorLeft;
ecMoveEditorRight : Result:= srkmecMoveEditorRight;
ecAddBreakPoint : Result:= srkmecAddBreakPoint;
ecRemoveBreakPoint : Result:= srkmecRemoveBreakPoint;
ecGotoEditor1..
ecGotoEditor0 : Result:= Format(srkmecGotoEditor,[cmd-ecGotoEditor1]);
ecGotoEditor0 : Result:= Format(srkmecGotoEditor,[cmd-ecGotoEditor1]);
// file menu
ecNew : Result:= srkmecNew;
ecNewUnit : Result:= srkmecNewUnit;
ecNewForm : Result:= srkmecNewForm;
ecOpen : Result:= lisMenuOpen;
ecRevert : Result:= lisMenuRevert;
ecSave : Result:= lisMenuSave;
ecSaveAs : Result:= srkmecSaveAs;
ecSaveAll : Result:= srkmecSaveAll;
ecClose : Result:= lismenuclose;
ecCloseAll : Result:= srkmecCloseAll;
ecCleanDirectory : Result:= lisMenuCleanDirectory;
ecRestart : Result:= lisMenuRestart;
ecQuit : Result:= lisMenuQuit;
ecNew : Result:= srkmecNew;
ecNewUnit : Result:= srkmecNewUnit;
ecNewForm : Result:= srkmecNewForm;
ecOpen : Result:= lisMenuOpen;
ecRevert : Result:= lisMenuRevert;
ecSave : Result:= lisMenuSave;
ecSaveAs : Result:= srkmecSaveAs;
ecSaveAll : Result:= srkmecSaveAll;
ecClose : Result:= lismenuclose;
ecCloseAll : Result:= srkmecCloseAll;
ecCleanDirectory : Result:= lisMenuCleanDirectory;
ecRestart : Result:= lisMenuRestart;
ecQuit : Result:= lisMenuQuit;
// edit menu
ecSelectionUpperCase : Result:= lismenuuppercaseselection;
ecSelectionLowerCase : Result:= lismenulowercaseselection;
ecSelectionTabs2Spaces : Result:= srkmecSelectionTabs2Spaces;
ecSelectionEnclose : Result:= lisMenuEncloseSelection;
ecSelectionComment : Result:= lismenucommentselection;
ecSelectionUncomment : Result:= lismenuuncommentselection;
ecSelectionConditional : Result:= lisMenuConditionalSelection;
ecSelectionSort : Result:= lismenusortselection;
ecSelectionBreakLines : Result:= lisMenuBeakLinesInSelection;
ecSelectToBrace : Result:= lismenuselecttobrace;
ecSelectCodeBlock : Result:= lismenuselectcodeblock;
ecSelectWord : Result:= lisMenuSelectWord;
ecSelectLine : Result:= lisMenuSelectLine;
ecSelectParagraph : Result:= lisMenuSelectParagraph;
ecInsertCharacter : Result:= srkmecInsertCharacter;
ecInsertGPLNotice : Result:= srkmecInsertGPLNotice;
ecInsertLGPLNotice : Result:= srkmecInsertLGPLNotice;
ecInsertUserName : Result:= srkmecInsertUserName;
ecInsertDateTime : Result:= srkmecInsertDateTime;
ecInsertChangeLogEntry : Result:= srkmecInsertChangeLogEntry;
ecInsertCVSAuthor : Result:= srkmecInsertCVSAuthor;
ecInsertCVSDate : Result:= srkmecInsertCVSDate;
ecInsertCVSHeader : Result:= srkmecInsertCVSHeader;
ecInsertCVSID : Result:= srkmecInsertCVSID;
ecInsertCVSLog : Result:= srkmecInsertCVSLog;
ecInsertCVSName : Result:= srkmecInsertCVSName;
ecInsertCVSRevision : Result:= srkmecInsertCVSRevision;
ecInsertCVSSource : Result:= srkmecInsertCVSSource;
ecSelectionUpperCase : Result:= lismenuuppercaseselection;
ecSelectionLowerCase : Result:= lismenulowercaseselection;
ecSelectionTabs2Spaces : Result:= srkmecSelectionTabs2Spaces;
ecSelectionEnclose : Result:= lisMenuEncloseSelection;
ecSelectionComment : Result:= lismenucommentselection;
ecSelectionUncomment : Result:= lismenuuncommentselection;
ecSelectionConditional : Result:= lisMenuConditionalSelection;
ecSelectionSort : Result:= lismenusortselection;
ecSelectionBreakLines : Result:= lisMenuBeakLinesInSelection;
ecSelectToBrace : Result:= lismenuselecttobrace;
ecSelectCodeBlock : Result:= lismenuselectcodeblock;
ecSelectWord : Result:= lisMenuSelectWord;
ecSelectLine : Result:= lisMenuSelectLine;
ecSelectParagraph : Result:= lisMenuSelectParagraph;
ecInsertCharacter : Result:= srkmecInsertCharacter;
ecInsertGPLNotice : Result:= srkmecInsertGPLNotice;
ecInsertLGPLNotice : Result:= srkmecInsertLGPLNotice;
ecInsertUserName : Result:= srkmecInsertUserName;
ecInsertDateTime : Result:= srkmecInsertDateTime;
ecInsertChangeLogEntry : Result:= srkmecInsertChangeLogEntry;
ecInsertCVSAuthor : Result:= srkmecInsertCVSAuthor;
ecInsertCVSDate : Result:= srkmecInsertCVSDate;
ecInsertCVSHeader : Result:= srkmecInsertCVSHeader;
ecInsertCVSID : Result:= srkmecInsertCVSID;
ecInsertCVSLog : Result:= srkmecInsertCVSLog;
ecInsertCVSName : Result:= srkmecInsertCVSName;
ecInsertCVSRevision : Result:= srkmecInsertCVSRevision;
ecInsertCVSSource : Result:= srkmecInsertCVSSource;
// search menu
ecFind : Result:= srkmecFind;
ecFindNext : Result:= srkmecFindNext;
ecFindPrevious : Result:= srkmecFindPrevious;
ecFindInFiles : Result:= srkmecFindInFiles;
ecReplace : Result:= srkmecReplace;
ecIncrementalFind : Result:= lismenuincrementalfind;
ecFindProcedureDefinition:Result:= srkmecFindProcedureDefinition;
ecFindProcedureMethod : Result:= srkmecFindProcedureMethod;
ecGotoLineNumber : Result:= srkmecGotoLineNumber;
ecJumpBack : Result:= lismenujumpback;
ecJumpForward : Result:= lismenujumpforward;
ecAddJumpPoint : Result:= srkmecAddJumpPoint;
ecViewJumpHistory : Result:= lismenuviewjumphistory;
ecJumpToNextError : Result:= lisMenuJumpToNextError;
ecJumpToPrevError : Result:= lisMenuJumpToPrevError;
ecGotoIncludeDirective : Result:= srkmecGotoIncludeDirective;
ecOpenFileAtCursor : Result:= srkmecOpenFileAtCursor;
ecProcedureList : Result:= srkmecProcedureList;
ecFind : Result:= srkmecFind;
ecFindNext : Result:= srkmecFindNext;
ecFindPrevious : Result:= srkmecFindPrevious;
ecFindInFiles : Result:= srkmecFindInFiles;
ecReplace : Result:= srkmecReplace;
ecIncrementalFind : Result:= lismenuincrementalfind;
ecFindProcedureDefinition: Result:= srkmecFindProcedureDefinition;
ecFindProcedureMethod : Result:= srkmecFindProcedureMethod;
ecGotoLineNumber : Result:= srkmecGotoLineNumber;
ecFindNextWordOccurrence : Result:= srkmecFindNextWordOccurrence;
ecFindPrevWordOccurrence : Result:= srkmecFindPrevWordOccurrence;
ecJumpBack : Result:= lismenujumpback;
ecJumpForward : Result:= lismenujumpforward;
ecAddJumpPoint : Result:= srkmecAddJumpPoint;
ecViewJumpHistory : Result:= lismenuviewjumphistory;
ecJumpToNextError : Result:= lisMenuJumpToNextError;
ecJumpToPrevError : Result:= lisMenuJumpToPrevError;
ecGotoIncludeDirective : Result:= srkmecGotoIncludeDirective;
ecOpenFileAtCursor : Result:= srkmecOpenFileAtCursor;
ecProcedureList : Result:= srkmecProcedureList;
// view menu
ecToggleFormUnit : Result:= srkmecToggleFormUnit;
ecToggleObjectInsp : Result:= srkmecToggleObjectInsp;
ecToggleSourceEditor : Result:= srkmecToggleSourceEditor;
ecToggleCodeExpl : Result:= srkmecToggleCodeExpl;
ecToggleMessages : Result:= srkmecToggleMessages;
ecToggleSearchResults : Result:= srkmecToggleSearchResults;
ecToggleWatches : Result:= srkmecToggleWatches;
ecToggleBreakPoints : Result:= srkmecToggleBreakPoints;
ecToggleDebuggerOut : Result:= srkmecToggleDebuggerOut;
ecToggleLocals : Result:= srkmecToggleLocals;
ecToggleCallStack : Result:= srkmecToggleCallStack;
ecViewUnits : Result:= srkmecViewUnits;
ecViewForms : Result:= srkmecViewForms;
ecViewUnitDependencies : Result:= srkmecViewUnitDependencies;
ecViewUnitInfo : Result:= srkmecViewUnitInfo;
ecViewAnchorEditor : Result:= srkmecViewAnchorEditor;
ecToggleCompPalette : Result:= srkmecToggleCompPalette;
ecToggleIDESpeedBtns : Result:= srkmecToggleIDESpeedBtns;
ecToggleFormUnit : Result:= srkmecToggleFormUnit;
ecToggleObjectInsp : Result:= srkmecToggleObjectInsp;
ecToggleSourceEditor : Result:= srkmecToggleSourceEditor;
ecToggleCodeExpl : Result:= srkmecToggleCodeExpl;
ecToggleMessages : Result:= srkmecToggleMessages;
ecToggleSearchResults : Result:= srkmecToggleSearchResults;
ecToggleWatches : Result:= srkmecToggleWatches;
ecToggleBreakPoints : Result:= srkmecToggleBreakPoints;
ecToggleDebuggerOut : Result:= srkmecToggleDebuggerOut;
ecToggleLocals : Result:= srkmecToggleLocals;
ecToggleCallStack : Result:= srkmecToggleCallStack;
ecViewUnits : Result:= srkmecViewUnits;
ecViewForms : Result:= srkmecViewForms;
ecViewUnitDependencies : Result:= srkmecViewUnitDependencies;
ecViewUnitInfo : Result:= srkmecViewUnitInfo;
ecViewAnchorEditor : Result:= srkmecViewAnchorEditor;
ecToggleCompPalette : Result:= srkmecToggleCompPalette;
ecToggleIDESpeedBtns : Result:= srkmecToggleIDESpeedBtns;
// codetools
ecWordCompletion : Result:= srkmecWordCompletion;
ecCompleteCode : Result:= srkmecCompleteCode;
ecIdentCompletion : Result:= dlgedidcomlet;
ecShowCodeContext : Result:= srkmecShowCodeContext;
ecExtractProc : Result:= srkmecExtractProc;
ecFindIdentifierRefs : Result:= srkmecFindIdentifierRefs;
ecRenameIdentifier : Result:= srkmecRenameIdentifier;
ecInvertAssignment : Result:= srkmecInvertAssignment;
ecSyntaxCheck : Result:= srkmecSyntaxCheck;
ecGuessUnclosedBlock : Result:= lismenuguessunclosedblock;
ecGuessMisplacedIFDEF : Result:= srkmecGuessMisplacedIFDEF;
ecConvertDFM2LFM : Result:= lismenuConvertDFMToLFM;
ecCheckLFM : Result:= lisMenuCheckLFM;
ecConvertDelphiUnit : Result:= lisMenuConvertDelphiUnit;
ecConvertDelphiProject : Result:= lisMenuConvertDelphiProject;
ecConvertDelphiPackage : Result:= lisMenuConvertDelphiPackage;
ecFindDeclaration : Result:= srkmecFindDeclaration;
ecFindBlockOtherEnd : Result:= srkmecFindBlockOtherEnd;
ecFindBlockStart : Result:= srkmecFindBlockStart;
ecWordCompletion : Result:= srkmecWordCompletion;
ecCompleteCode : Result:= srkmecCompleteCode;
ecIdentCompletion : Result:= dlgedidcomlet;
ecShowCodeContext : Result:= srkmecShowCodeContext;
ecExtractProc : Result:= srkmecExtractProc;
ecFindIdentifierRefs : Result:= srkmecFindIdentifierRefs;
ecRenameIdentifier : Result:= srkmecRenameIdentifier;
ecInvertAssignment : Result:= srkmecInvertAssignment;
ecSyntaxCheck : Result:= srkmecSyntaxCheck;
ecGuessUnclosedBlock : Result:= lismenuguessunclosedblock;
ecGuessMisplacedIFDEF : Result:= srkmecGuessMisplacedIFDEF;
ecConvertDFM2LFM : Result:= lismenuConvertDFMToLFM;
ecCheckLFM : Result:= lisMenuCheckLFM;
ecConvertDelphiUnit : Result:= lisMenuConvertDelphiUnit;
ecConvertDelphiProject : Result:= lisMenuConvertDelphiProject;
ecConvertDelphiPackage : Result:= lisMenuConvertDelphiPackage;
ecFindDeclaration : Result:= srkmecFindDeclaration;
ecFindBlockOtherEnd : Result:= srkmecFindBlockOtherEnd;
ecFindBlockStart : Result:= srkmecFindBlockStart;
// project (menu string resource)
ecNewProject : Result:= lisMenuNewProject;
ecNewProjectFromFile : Result:= lisMenuNewProjectFromFile;
ecOpenProject : Result:= lisMenuOpenProject;
ecSaveProject : Result:= lisMenuSaveProject;
ecSaveProjectAs : Result:= lisMenuSaveProjectAs;
ecPublishProject : Result:= lisMenuPublishProject;
ecProjectInspector : Result:= lisMenuProjectInspector;
ecAddCurUnitToProj : Result:= lisMenuAddToProject;
ecRemoveFromProj : Result:= lisMenuRemoveFromProject;
ecViewProjectSource : Result:= lisMenuViewSource;
ecViewProjectTodos : Result:= lisMenuViewProjectTodos;
ecProjectOptions : Result:= lisMenuProjectOptions;
ecNewProject : Result:= lisMenuNewProject;
ecNewProjectFromFile : Result:= lisMenuNewProjectFromFile;
ecOpenProject : Result:= lisMenuOpenProject;
ecSaveProject : Result:= lisMenuSaveProject;
ecSaveProjectAs : Result:= lisMenuSaveProjectAs;
ecPublishProject : Result:= lisMenuPublishProject;
ecProjectInspector : Result:= lisMenuProjectInspector;
ecAddCurUnitToProj : Result:= lisMenuAddToProject;
ecRemoveFromProj : Result:= lisMenuRemoveFromProject;
ecViewProjectSource : Result:= lisMenuViewSource;
ecViewProjectTodos : Result:= lisMenuViewProjectTodos;
ecProjectOptions : Result:= lisMenuProjectOptions;
// run menu (menu string resource)
ecBuild : Result:= srkmecBuild;
ecBuildAll : Result:= srkmecBuildAll;
ecQuickCompile : Result:= srkmecQuickCompile;
ecAbortBuild : Result:= srkmecAbortBuild;
ecRun : Result:= srkmecRun;
ecPause : Result:= srkmecPause;
ecStepInto : Result:= lisMenuStepInto;
ecStepOver : Result:= lisMenuStepOver;
ecRunToCursor : Result:= lisMenuRunToCursor;
ecStopProgram : Result:= srkmecStopProgram;
ecResetDebugger : Result:= srkmecResetDebugger;
ecRunParameters : Result:= srkmecRunParameters;
ecCompilerOptions : Result:= srkmecCompilerOptions;
ecBuildFile : Result:= srkmecBuildFile;
ecRunFile : Result:= srkmecRunFile;
ecConfigBuildFile : Result:= srkmecConfigBuildFile;
ecInspect : Result:= srkmecInspect;
ecEvaluate : Result:= srkmecEvaluate;
ecAddWatch : Result:= srkmecAddWatch;
ecBuild : Result:= srkmecBuild;
ecBuildAll : Result:= srkmecBuildAll;
ecQuickCompile : Result:= srkmecQuickCompile;
ecAbortBuild : Result:= srkmecAbortBuild;
ecRun : Result:= srkmecRun;
ecPause : Result:= srkmecPause;
ecStepInto : Result:= lisMenuStepInto;
ecStepOver : Result:= lisMenuStepOver;
ecRunToCursor : Result:= lisMenuRunToCursor;
ecStopProgram : Result:= srkmecStopProgram;
ecResetDebugger : Result:= srkmecResetDebugger;
ecRunParameters : Result:= srkmecRunParameters;
ecCompilerOptions : Result:= srkmecCompilerOptions;
ecBuildFile : Result:= srkmecBuildFile;
ecRunFile : Result:= srkmecRunFile;
ecConfigBuildFile : Result:= srkmecConfigBuildFile;
ecInspect : Result:= srkmecInspect;
ecEvaluate : Result:= srkmecEvaluate;
ecAddWatch : Result:= srkmecAddWatch;
// components menu
ecOpenPackage : Result:= lisMenuOpenPackage;
ecOpenPackageFile : Result:= lisMenuOpenPackageFile;
ecOpenPackageOfCurUnit : Result:= lisMenuOpenPackageOfCurUnit;
ecAddCurUnitToPkg : Result:= lisMenuAddCurUnitToPkg;
ecPackageGraph : Result:= lisMenuPackageGraph;
ecEditInstallPkgs : Result:= lisMenuEditInstallPkgs;
ecConfigCustomComps : Result:= lisMenuConfigCustomComps;
ecOpenPackage : Result:= lisMenuOpenPackage;
ecOpenPackageFile : Result:= lisMenuOpenPackageFile;
ecOpenPackageOfCurUnit : Result:= lisMenuOpenPackageOfCurUnit;
ecAddCurUnitToPkg : Result:= lisMenuAddCurUnitToPkg;
ecPackageGraph : Result:= lisMenuPackageGraph;
ecEditInstallPkgs : Result:= lisMenuEditInstallPkgs;
ecConfigCustomComps : Result:= lisMenuConfigCustomComps;
// tools menu
ecExtToolSettings : Result:= srkmecExtToolSettings;
ecConfigBuildLazarus : Result:= lismenuconfigurebuildlazarus;
ecBuildLazarus : Result:= srkmecBuildLazarus;
ecExtToolSettings : Result:= srkmecExtToolSettings;
ecConfigBuildLazarus : Result:= lismenuconfigurebuildlazarus;
ecBuildLazarus : Result:= srkmecBuildLazarus;
ecExtToolFirst
..ecExtToolLast : Result:= Format(srkmecExtTool,[cmd-ecExtToolFirst+1]);
ecMakeResourceString : Result:= srkmecMakeResourceString;
ecDiff : Result:= srkmecDiff;
..ecExtToolLast : Result:= Format(srkmecExtTool,[cmd-ecExtToolFirst+1]);
ecMakeResourceString : Result:= srkmecMakeResourceString;
ecDiff : Result:= srkmecDiff;
// environment menu
ecEnvironmentOptions : Result:= srkmecEnvironmentOptions;
ecEditorOptions : Result:= lisMenuEditorOptions;
ecEditCodeTemplates : Result:= lisMenuEditCodeTemplates;
ecCodeToolsOptions : Result:= srkmecCodeToolsOptions;
ecCodeToolsDefinesEd : Result:= srkmecCodeToolsDefinesEd;
ecRescanFPCSrcDir : Result:= lisMenuRescanFPCSourceDirectory;
ecEnvironmentOptions : Result:= srkmecEnvironmentOptions;
ecEditorOptions : Result:= lisMenuEditorOptions;
ecEditCodeTemplates : Result:= lisMenuEditCodeTemplates;
ecCodeToolsOptions : Result:= srkmecCodeToolsOptions;
ecCodeToolsDefinesEd : Result:= srkmecCodeToolsDefinesEd;
ecRescanFPCSrcDir : Result:= lisMenuRescanFPCSourceDirectory;
// help menu
ecAboutLazarus : Result:= lisMenuAboutLazarus;
ecOnlineHelp : Result:= lisMenuOnlineHelp;
ecConfigureHelp : Result:= lisMenuConfigureHelp;
ecContextHelp : Result:= lisMenuContextHelp;
ecEditContextHelp : Result:= lisMenuEditContextHelp;
ecAboutLazarus : Result:= lisMenuAboutLazarus;
ecOnlineHelp : Result:= lisMenuOnlineHelp;
ecConfigureHelp : Result:= lisMenuConfigureHelp;
ecContextHelp : Result:= lisMenuContextHelp;
ecEditContextHelp : Result:= lisMenuEditContextHelp;
// desginer
ecDesignerCopy : Result:= lisDsgCopyComponents;
ecDesignerCut : Result:= lisDsgCutComponents;
ecDesignerPaste : Result:= lisDsgPasteComponents;
ecDesignerSelectParent : Result:= lisDsgSelectParentComponent;
ecDesignerMoveToFront : Result:= lisDsgOrderMoveToFront;
ecDesignerMoveToBack : Result:= lisDsgOrderMoveToBack;
ecDesignerForwardOne : Result:= lisDsgOrderForwardOne;
ecDesignerBackOne : Result:= lisDsgOrderBackOne;
ecDesignerCopy : Result:= lisDsgCopyComponents;
ecDesignerCut : Result:= lisDsgCutComponents;
ecDesignerPaste : Result:= lisDsgPasteComponents;
ecDesignerSelectParent : Result:= lisDsgSelectParentComponent;
ecDesignerMoveToFront : Result:= lisDsgOrderMoveToFront;
ecDesignerMoveToBack : Result:= lisDsgOrderMoveToBack;
ecDesignerForwardOne : Result:= lisDsgOrderForwardOne;
ecDesignerBackOne : Result:= lisDsgOrderBackOne;
else
Result:= srkmecunknown;
@ -2156,6 +2162,8 @@ begin
AddDefault(C,'Replace text',ecReplace);
AddDefault(C,'Find incremental',ecIncrementalFind);
AddDefault(C,'Go to line number',ecGotoLineNumber);
AddDefault(C,'Find next word occurrence',ecFindNextWordOccurrence);
AddDefault(C,'Find previous word occurrence',ecFindPrevWordOccurrence);
AddDefault(C,'Jump back',ecJumpBack);
AddDefault(C,'Jump forward',ecJumpForward);
AddDefault(C,'Add jump point',ecAddJumpPoint);

View File

@ -1508,6 +1508,8 @@ resourcestring
srkmecFindProcedureDefinition = 'Find procedure definiton';
srkmecFindProcedureMethod = 'Find procedure method';
srkmecGotoLineNumber = 'Go to line number';
srkmecFindNextWordOccurrence = 'Find next word occurrence';
srkmecFindPrevWordOccurrence = 'Find previous word occurrence';
srkmecAddJumpPoint = 'Add jump point';
srkmecOpenFileAtCursor = 'Open file at cursor';
srkmecGotoIncludeDirective = 'Go to to include directive of current include file';

View File

@ -381,7 +381,6 @@ procedure TProjectOptionsDialog.ProjectOptionsClose(Sender: TObject;
var CloseAction: TCloseAction);
var
NewFlags: TProjectFlags;
OldUseVersionInfo: Boolean;
procedure SetProjectFlag(AFlag: TProjectFlag; AValue: Boolean);
begin
@ -432,7 +431,6 @@ begin
Project.LazDocPaths:=StringListToText(LazDocListBox.Items,';',true);
// VersionInfo
OldUseVersionInfo:=Project.VersionInfo.UseVersionInfo;
Project.VersionInfo.UseVersionInfo:=UseVersionInfoCheckBox.Checked;
Project.VersionInfo.AutoIncrementBuild:=AutomaticallyIncreaseBuildCheckBox.Checked;
Project.VersionInfo.VersionNr:=VersionSpinEdit.Value;

View File

@ -218,7 +218,7 @@ type
procedure DecreaseIgnoreCodeBufferLock; override;
procedure UpdateCodeBuffer; override;// copy the source from EditorComponent
// dialogs
// find
procedure StartFindAndReplace(Replace:boolean);
procedure AskReplace(Sender: TObject; const ASearch, AReplace:
string; Line, Column: integer; var Action: TSrcEditReplaceAction); override;
@ -227,8 +227,11 @@ type
function DoFindAndReplace: Integer;
procedure FindNext;
procedure FindPrevious;
procedure FindNextWordOccurrence(DirectionForward: boolean);
procedure InitGotoDialog;
procedure ShowGotoLineDialog;
// dialogs
procedure GetDialogPosition(Width, Height:integer; out Left,Top:integer);
procedure ActivateHint(ClientPos: TPoint; const TheHint: string);
@ -424,6 +427,8 @@ type
procedure HighlighterClicked(Sender: TObject);
procedure FindDeclarationClicked(Sender: TObject);
procedure ProcedureJumpClicked(Sender: TObject);
procedure FindNextWordOccurrenceClicked(Sender: TObject);
procedure FindPrevWordOccurrenceClicked(Sender: TObject);
procedure MoveEditorLeftClicked(Sender: TObject);
procedure MoveEditorRightClicked(Sender: TObject);
procedure NotebookPageChanged(Sender: TObject);
@ -781,7 +786,10 @@ const
var
SrcEditMenuFindDeclaration: TIDEMenuCommand;
SrcEditMenuProcedureJump: TIDEMenuCommand;
// finding / jumping
SrcEditMenuProcedureJump: TIDEMenuCommand;
SrcEditMenuFindNextWordOccurrence: TIDEMenuCommand;
SrcEditMenuFindPrevWordOccurrence: TIDEMenuCommand;
SrcEditMenuOpenFileAtCursor: TIDEMenuCommand;
SrcEditMenuClosePage: TIDEMenuCommand;
SrcEditMenuCut: TIDEMenuCommand;
@ -842,116 +850,124 @@ begin
// register the first dynamic section for often used context sensitive stuff
SrcEditMenuSectionFirstDynamic:=RegisterIDEMenuSection(AParent,
'First dynamic section');
'First dynamic section');
// register the first static section
SrcEditMenuSectionFirstStatic:=RegisterIDEMenuSection(AParent,'First static section');
SrcEditMenuSectionFirstStatic:=RegisterIDEMenuSection(AParent,
'First static section');
AParent:=SrcEditMenuSectionFirstStatic;
SrcEditMenuFindDeclaration:=RegisterIDEMenuCommand(AParent,'Find Declaration',
uemFindDeclaration);
SrcEditMenuProcedureJump:=RegisterIDEMenuCommand(AParent,'Procedure Jump',
uemProcedureJump);
SrcEditMenuOpenFileAtCursor:=RegisterIDEMenuCommand(AParent,
SrcEditMenuFindDeclaration:=RegisterIDEMenuCommand(AParent,
'Find Declaration',uemFindDeclaration);
// register the sub menu Find
SrcEditSubMenuFind:=RegisterIDESubMenu(AParent, 'Find section', lisMenuFind
);
AParent:=SrcEditSubMenuFind;
SrcEditMenuProcedureJump:=RegisterIDEMenuCommand(AParent,'Procedure Jump',
uemProcedureJump);
SrcEditMenuFindNextWordOccurrence:=RegisterIDEMenuCommand(AParent,
'Find next word occurrence',srkmecFindNextWordOccurrence);
SrcEditMenuFindPrevWordOccurrence:=RegisterIDEMenuCommand(AParent,
'Find previous word occurrence',srkmecFindPrevWordOccurrence);
AParent:=SrcEditMenuSectionFirstStatic;
SrcEditMenuOpenFileAtCursor:=RegisterIDEMenuCommand(AParent,
'Open File At Cursor',uemOpenFileAtCursor);
SrcEditMenuClosePage:=RegisterIDEMenuCommand(AParent,
SrcEditMenuClosePage:=RegisterIDEMenuCommand(AParent,
'Close Page',uemClosePage);
// register the Clipboard section
AParent:=SourceEditorMenuRoot;
SrcEditMenuSectionClipboard:=RegisterIDEMenuSection(AParent,'Clipboard');
SrcEditMenuSectionClipboard:=RegisterIDEMenuSection(SourceEditorMenuRoot,
'Clipboard');
AParent:=SrcEditMenuSectionClipboard;
SrcEditMenuCut:=RegisterIDEMenuCommand(AParent,'Cut',uemCut);
SrcEditMenuCopy:=RegisterIDEMenuCommand(AParent,'Copy',uemCopy);
SrcEditMenuPaste:=RegisterIDEMenuCommand(AParent,'Paste',uemPaste);
SrcEditMenuCopyFilename:=RegisterIDEMenuCommand(AParent,'Copy filename',
uemCopyFilename);
SrcEditMenuCut:=RegisterIDEMenuCommand(AParent,'Cut',uemCut);
SrcEditMenuCopy:=RegisterIDEMenuCommand(AParent,'Copy',uemCopy);
SrcEditMenuPaste:=RegisterIDEMenuCommand(AParent,'Paste',uemPaste);
SrcEditMenuCopyFilename:=RegisterIDEMenuCommand(AParent,'Copy filename',
uemCopyFilename);
// register the Marks section
AParent:=SourceEditorMenuRoot;
SrcEditMenuSectionMarks:=RegisterIDEMenuSection(AParent,'Marks section');
AParent:=SrcEditMenuSectionMarks;
SrcEditMenuSectionMarks:=RegisterIDEMenuSection(SourceEditorMenuRoot,
'Marks section');
// register the Goto Bookmarks Submenu
SrcEditSubMenuGotoBookmarks:=RegisterIDESubMenu(AParent,'Goto bookmarks',
uemGotoBookmark);
SrcEditSubMenuGotoBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
'Goto bookmarks',uemGotoBookmark);
AParent:=SrcEditSubMenuGotoBookmarks;
for I := 0 to 9 do
RegisterIDEMenuCommand(AParent,'GotoBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuNextBookmark:=RegisterIDEMenuCommand(AParent,
for I := 0 to 9 do
RegisterIDEMenuCommand(AParent,'GotoBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuNextBookmark:=RegisterIDEMenuCommand(AParent,
'Goto next Bookmark',uemNextBookmark);
SrcEditMenuPrevBookmark:=RegisterIDEMenuCommand(AParent,
SrcEditMenuPrevBookmark:=RegisterIDEMenuCommand(AParent,
'Goto previous Bookmark',uemPrevBookmark);
// register the Set Bookmarks Submenu
AParent:=SrcEditMenuSectionMarks;
SrcEditSubMenuSetBookmarks:=RegisterIDESubMenu(AParent,'Set bookmarks',
uemSetBookmark);
SrcEditSubMenuSetBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
'Set bookmarks',uemSetBookmark);
AParent:=SrcEditSubMenuSetBookmarks;
for I := 0 to 9 do
RegisterIDEMenuCommand(AParent,'SetBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(AParent,
for I := 0 to 9 do
RegisterIDEMenuCommand(AParent,'SetBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(AParent,
'Set a free Bookmark',uemSetFreeBookmark);
// register the Debug submenu
AParent:=SrcEditMenuSectionMarks;
SrcEditSubMenuDebug:=RegisterIDESubMenu(AParent,'Debug',uemDebugWord);
SrcEditSubMenuDebug:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
'Debug',uemDebugWord);
AParent:=SrcEditSubMenuDebug;
// register the Debug submenu items
SrcEditMenuAddBreakpoint:=RegisterIDEMenuCommand(AParent,'Add Breakpoint',
uemAddBreakpoint);
SrcEditMenuAddWatchAtCursor:=RegisterIDEMenuCommand(AParent,
'Add Watch at Cursor',uemAddWatchAtCursor);
SrcEditMenuRunToCursor:=RegisterIDEMenuCommand(AParent,
'Run to cursor',uemRunToCursor);
SrcEditMenuViewCallStack:=RegisterIDEMenuCommand(AParent,
'View Call Stack',uemViewCallStack);
// register the File Specific dynamic section
AParent:=SourceEditorMenuRoot;
SrcEditMenuSectionFileDynamic:=RegisterIDEMenuSection(AParent,
'File dynamic section');
AParent:=SrcEditSubMenuDebug;
// register the Debug submenu items
SrcEditMenuAddBreakpoint:=RegisterIDEMenuCommand(AParent,'Add Breakpoint',
uemAddBreakpoint);
SrcEditMenuAddWatchAtCursor:=RegisterIDEMenuCommand(AParent,
'Add Watch at Cursor',uemAddWatchAtCursor);
SrcEditMenuRunToCursor:=RegisterIDEMenuCommand(AParent,
'Run to cursor',uemRunToCursor);
SrcEditMenuViewCallStack:=RegisterIDEMenuCommand(AParent,
'View Call Stack',uemViewCallStack);
// register the Move Page section
AParent:=SourceEditorMenuRoot;
SrcEditMenuSectionMovePage:=RegisterIDEMenuSection(AParent,'Move Page section');
SrcEditMenuSectionMovePage:=RegisterIDEMenuSection(SourceEditorMenuRoot,
'Move Page section');
AParent:=SrcEditMenuSectionMovePage;
SrcEditMenuMoveEditorLeft:=RegisterIDEMenuCommand(AParent,'MoveEditorLeft',
uemMoveEditorLeft);
SrcEditMenuMoveEditorRight:=RegisterIDEMenuCommand(AParent,'MoveEditorRight',
uemMoveEditorRight);
SrcEditMenuMoveEditorLeft:=RegisterIDEMenuCommand(AParent,'MoveEditorLeft',
uemMoveEditorLeft);
SrcEditMenuMoveEditorRight:=RegisterIDEMenuCommand(AParent,'MoveEditorRight',
uemMoveEditorRight);
// register the Refactoring submenu
AParent:=SourceEditorMenuRoot;
SrcEditSubMenuRefactor:=RegisterIDESubMenu(AParent,'Refactoring',uemRefactor);
SrcEditSubMenuRefactor:=RegisterIDESubMenu(SourceEditorMenuRoot,
'Refactoring',uemRefactor);
AParent:=SrcEditSubMenuRefactor;
SrcEditMenuCompleteCode:=RegisterIDEMenuCommand(AParent,'CompleteCode',
uemCompleteCode);
SrcEditMenuEncloseSelection:=RegisterIDEMenuCommand(AParent,
SrcEditMenuCompleteCode:=RegisterIDEMenuCommand(AParent,'CompleteCode',
uemCompleteCode);
SrcEditMenuEncloseSelection:=RegisterIDEMenuCommand(AParent,
'EncloseSelection',uemEncloseSelection);
SrcEditMenuExtractProc:=RegisterIDEMenuCommand(AParent,
SrcEditMenuExtractProc:=RegisterIDEMenuCommand(AParent,
'ExtractProc',uemExtractProc);
SrcEditMenuInvertAssignment:=RegisterIDEMenuCommand(AParent,
SrcEditMenuInvertAssignment:=RegisterIDEMenuCommand(AParent,
'InvertAssignment',uemInvertAssignment);
SrcEditMenuFindIdentifierReferences:=RegisterIDEMenuCommand(AParent,
SrcEditMenuFindIdentifierReferences:=RegisterIDEMenuCommand(AParent,
'FindIdentifierReferences',uemFindIdentifierReferences);
SrcEditMenuRenameIdentifier:=RegisterIDEMenuCommand(AParent,
SrcEditMenuRenameIdentifier:=RegisterIDEMenuCommand(AParent,
'RenameIdentifier',uemRenameIdentifier);
// register the Flags section
AParent:=SourceEditorMenuRoot;
SrcEditMenuSectionFlags:=RegisterIDEMenuSection(AParent,'Flags section');
SrcEditMenuSectionFlags:=RegisterIDEMenuSection(SourceEditorMenuRoot,
'Flags section');
AParent:=SrcEditMenuSectionFlags;
SrcEditMenuReadOnly:=RegisterIDEMenuCommand(AParent,'ReadOnly',uemReadOnly);
SrcEditMenuReadOnly.ShowAlwaysCheckable:=true;
SrcEditMenuShowLineNumbers:=RegisterIDEMenuCommand(AParent,'ShowLineNumbers',
uemShowLineNumbers);
SrcEditMenuShowLineNumbers.ShowAlwaysCheckable:=true;
SrcEditMenuShowUnitInfo:=RegisterIDEMenuCommand(AParent,'ShowUnitInfo',
uemShowUnitInfo);
SrcEditMenuSectionHighlighter:=RegisterIDEMenuSection(AParent,'Highlighter');
SrcEditMenuEditorProperties:=RegisterIDEMenuCommand(AParent,
SrcEditMenuReadOnly:=RegisterIDEMenuCommand(AParent,'ReadOnly',uemReadOnly);
SrcEditMenuReadOnly.ShowAlwaysCheckable:=true;
SrcEditMenuShowLineNumbers:=RegisterIDEMenuCommand(AParent,
'ShowLineNumbers',uemShowLineNumbers);
SrcEditMenuShowLineNumbers.ShowAlwaysCheckable:=true;
SrcEditMenuShowUnitInfo:=RegisterIDEMenuCommand(AParent,'ShowUnitInfo',
uemShowUnitInfo);
SrcEditMenuSectionHighlighter:=RegisterIDEMenuSection(AParent,'Highlighter');
SrcEditMenuEditorProperties:=RegisterIDEMenuCommand(AParent,
'EditorProperties',uemEditorProperties);
end;
@ -1170,6 +1186,28 @@ Begin
LazFindReplaceDialog.Options:=OldOptions;
End;
procedure TSourceEditor.FindNextWordOccurrence(DirectionForward: boolean);
var
StartX, EndX: Integer;
Word: String;
Flags: TSynSearchOptions;
LogCaret: TPoint;
begin
LogCaret:=EditorComponent.LogicalCaretXY;
EditorComponent.GetWordBoundsAtRowCol(LogCaret,StartX,EndX);
if EndX<=StartX then exit;
Flags:=[ssoWholeWord];
if DirectionForward then begin
LogCaret.X:=EndX;
end else begin
LogCaret.X:=StartX;
Include(Flags,ssoBackwards);
end;
EditorComponent.LogicalCaretXY:=LogCaret;
EditorComponent.SearchReplace(EditorComponent.GetWordAtRowCol(LogCaret),
'',Flags);
end;
procedure TSourceEditor.InitGotoDialog;
begin
if GotoDialog=nil then
@ -1178,8 +1216,8 @@ end;
function TSourceEditor.DoFindAndReplace: integer;
var
OldCaretXY:TPoint;
AText,ACaption:AnsiString;
OldCaretXY: TPoint;
AText, ACaption: String;
NewTopLine: integer;
begin
Result:=0;
@ -1415,6 +1453,12 @@ Begin
ecGotoLineNumber :
ShowGotoLineDialog;
ecFindNextWordOccurrence:
FindNextWordOccurrence(true);
ecFindPrevWordOccurrence:
FindNextWordOccurrence(false);
ecSelectionEnclose:
EncloseSelection;
@ -3718,6 +3762,8 @@ begin
SrcEditMenuFindDeclaration.OnClick:=@FindDeclarationClicked;
SrcEditMenuProcedureJump.OnClick:=@ProcedureJumpClicked;
SrcEditMenuFindNextWordOccurrence.OnClick:=@FindNextWordOccurrenceClicked;
SrcEditMenuFindPrevWordOccurrence.OnClick:=@FindPrevWordOccurrenceClicked;
SrcEditMenuOpenFileAtCursor.OnClick:=@OpenAtCursorClicked;
SrcEditMenuClosePage.OnClick:=@CloseClicked;
@ -4634,6 +4680,24 @@ begin
ActSE.DoEditorExecuteCommand(ecFindProcedureDefinition);
end;
procedure TSourceNotebook.FindNextWordOccurrenceClicked(Sender: TObject);
var
SrcEdit: TSourceEditor;
begin
SrcEdit := GetActiveSE;
if SrcEdit<>nil then
SrcEdit.FindNextWordOccurrence(true);
end;
procedure TSourceNotebook.FindPrevWordOccurrenceClicked(Sender: TObject);
var
SrcEdit: TSourceEditor;
begin
SrcEdit := GetActiveSE;
if SrcEdit<>nil then
SrcEdit.FindNextWordOccurrence(false);
end;
Procedure TSourceNotebook.CutClicked(Sender: TObject);
var ActSE: TSourceEditor;
begin

View File

@ -56,225 +56,227 @@ const
IDE experts: They are handled in the IDE interface units.
}
ecNone = 0;
ecNone = 0;
ecFirstLazarus = 1001;
ecFirstLazarus = 1001;
// search
ecFind = ecFirstLazarus + 1;
ecFindAgain = ecFirstLazarus + 2;
ecFindNext = ecFindAgain;
ecReplace = ecFirstLazarus + 3;
ecIncrementalFind = ecFirstLazarus + 4;
ecFindProcedureDefinition = ecFirstLazarus + 5;
ecFindProcedureMethod = ecFirstLazarus + 6;
ecGotoLineNumber = ecFirstLazarus + 7;
ecFindPrevious = ecFirstLazarus + 8;
ecFindInFiles = ecFirstLazarus + 9;
ecJumpBack = ecFirstLazarus + 10;
ecJumpForward = ecFirstLazarus + 11;
ecAddJumpPoint = ecFirstLazarus + 12;
ecViewJumpHistory = ecFirstLazarus + 13;
ecJumpToNextError = ecFirstLazarus + 14;
ecJumpToPrevError = ecFirstLazarus + 15;
ecProcedureList = ecFirstLazarus + 16;
ecFind = ecFirstLazarus + 1;
ecFindAgain = ecFirstLazarus + 2;
ecFindNext = ecFindAgain;
ecFindPrevious = ecFirstLazarus + 3;
ecReplace = ecFirstLazarus + 4;
ecIncrementalFind = ecFirstLazarus + 5;
ecFindProcedureDefinition = ecFirstLazarus + 6;
ecFindProcedureMethod = ecFirstLazarus + 7;
ecGotoLineNumber = ecFirstLazarus + 8;
ecFindNextWordOccurrence = ecFirstLazarus + 9;
ecFindPrevWordOccurrence = ecFirstLazarus + 10;
ecFindInFiles = ecFirstLazarus + 11;
ecJumpBack = ecFirstLazarus + 12;
ecJumpForward = ecFirstLazarus + 13;
ecAddJumpPoint = ecFirstLazarus + 14;
ecViewJumpHistory = ecFirstLazarus + 15;
ecJumpToNextError = ecFirstLazarus + 16;
ecJumpToPrevError = ecFirstLazarus + 17;
ecProcedureList = ecFirstLazarus + 18;
// search code
ecFindDeclaration = ecFirstLazarus + 20;
ecFindBlockOtherEnd = ecFirstLazarus + 21;
ecFindBlockStart = ecFirstLazarus + 22;
ecOpenFileAtCursor = ecFirstLazarus + 23;
ecGotoIncludeDirective = ecFirstLazarus + 24;
ecFindDeclaration = ecFirstLazarus + 20;
ecFindBlockOtherEnd = ecFirstLazarus + 21;
ecFindBlockStart = ecFirstLazarus + 22;
ecOpenFileAtCursor = ecFirstLazarus + 23;
ecGotoIncludeDirective = ecFirstLazarus + 24;
// edit selection
ecSelectionUpperCase = ecFirstLazarus + 50;
ecSelectionLowerCase = ecFirstLazarus + 51;
ecSelectionTabs2Spaces = ecFirstLazarus + 52;
ecSelectionEnclose = ecFirstLazarus + 53;
ecSelectionComment = ecFirstLazarus + 54;
ecSelectionUncomment = ecFirstLazarus + 55;
ecSelectionSort = ecFirstLazarus + 56;
ecSelectionBreakLines = ecFirstLazarus + 57;
ecSelectToBrace = ecFirstLazarus + 58;
ecSelectCodeBlock = ecFirstLazarus + 59;
ecSelectWord = ecFirstLazarus + 60;
ecSelectLine = ecFirstLazarus + 61;
ecSelectParagraph = ecFirstLazarus + 62;
ecSelectionConditional = ecFirstLazarus + 63;
ecSelectionUpperCase = ecFirstLazarus + 50;
ecSelectionLowerCase = ecFirstLazarus + 51;
ecSelectionTabs2Spaces = ecFirstLazarus + 52;
ecSelectionEnclose = ecFirstLazarus + 53;
ecSelectionComment = ecFirstLazarus + 54;
ecSelectionUncomment = ecFirstLazarus + 55;
ecSelectionSort = ecFirstLazarus + 56;
ecSelectionBreakLines = ecFirstLazarus + 57;
ecSelectToBrace = ecFirstLazarus + 58;
ecSelectCodeBlock = ecFirstLazarus + 59;
ecSelectWord = ecFirstLazarus + 60;
ecSelectLine = ecFirstLazarus + 61;
ecSelectParagraph = ecFirstLazarus + 62;
ecSelectionConditional = ecFirstLazarus + 63;
// insert text
ecInsertCharacter = ecFirstLazarus + 80;
ecInsertGPLNotice = ecFirstLazarus + 81;
ecInsertLGPLNotice = ecFirstLazarus + 82;
ecInsertUserName = ecFirstLazarus + 83;
ecInsertDateTime = ecFirstLazarus + 84;
ecInsertChangeLogEntry = ecFirstLazarus + 85;
ecInsertCVSAuthor = ecFirstLazarus + 86;
ecInsertCVSDate = ecFirstLazarus + 87;
ecInsertCVSHeader = ecFirstLazarus + 88;
ecInsertCVSID = ecFirstLazarus + 89;
ecInsertCVSLog = ecFirstLazarus + 90;
ecInsertCVSName = ecFirstLazarus + 91;
ecInsertCVSRevision = ecFirstLazarus + 92;
ecInsertCVSSource = ecFirstLazarus + 93;
ecInsertCharacter = ecFirstLazarus + 80;
ecInsertGPLNotice = ecFirstLazarus + 81;
ecInsertLGPLNotice = ecFirstLazarus + 82;
ecInsertUserName = ecFirstLazarus + 83;
ecInsertDateTime = ecFirstLazarus + 84;
ecInsertChangeLogEntry = ecFirstLazarus + 85;
ecInsertCVSAuthor = ecFirstLazarus + 86;
ecInsertCVSDate = ecFirstLazarus + 87;
ecInsertCVSHeader = ecFirstLazarus + 88;
ecInsertCVSID = ecFirstLazarus + 89;
ecInsertCVSLog = ecFirstLazarus + 90;
ecInsertCVSName = ecFirstLazarus + 91;
ecInsertCVSRevision = ecFirstLazarus + 92;
ecInsertCVSSource = ecFirstLazarus + 93;
// source tools
ecWordCompletion = ecFirstLazarus + 100;
ecCompleteCode = ecFirstLazarus + 101;
ecIdentCompletion = ecFirstLazarus + 102;
ecSyntaxCheck = ecFirstLazarus + 103;
ecGuessUnclosedBlock = ecFirstLazarus + 104;
ecGuessMisplacedIFDEF = ecFirstLazarus + 105;
ecConvertDFM2LFM = ecFirstLazarus + 106;
ecCheckLFM = ecFirstLazarus + 107;
ecConvertDelphiUnit = ecFirstLazarus + 108;
ecConvertDelphiProject = ecFirstLazarus + 109;
ecConvertDelphiPackage = ecFirstLazarus + 110;
ecMakeResourceString = ecFirstLazarus + 111;
ecDiff = ecFirstLazarus + 112;
ecExtractProc = ecFirstLazarus + 113;
ecFindIdentifierRefs = ecFirstLazarus + 114;
ecRenameIdentifier = ecFirstLazarus + 115;
ecInvertAssignment = ecFirstLazarus + 116;
ecShowCodeContext = ecFirstLazarus + 117;
ecWordCompletion = ecFirstLazarus + 100;
ecCompleteCode = ecFirstLazarus + 101;
ecIdentCompletion = ecFirstLazarus + 102;
ecSyntaxCheck = ecFirstLazarus + 103;
ecGuessUnclosedBlock = ecFirstLazarus + 104;
ecGuessMisplacedIFDEF = ecFirstLazarus + 105;
ecConvertDFM2LFM = ecFirstLazarus + 106;
ecCheckLFM = ecFirstLazarus + 107;
ecConvertDelphiUnit = ecFirstLazarus + 108;
ecConvertDelphiProject = ecFirstLazarus + 109;
ecConvertDelphiPackage = ecFirstLazarus + 110;
ecMakeResourceString = ecFirstLazarus + 111;
ecDiff = ecFirstLazarus + 112;
ecExtractProc = ecFirstLazarus + 113;
ecFindIdentifierRefs = ecFirstLazarus + 114;
ecRenameIdentifier = ecFirstLazarus + 115;
ecInvertAssignment = ecFirstLazarus + 116;
ecShowCodeContext = ecFirstLazarus + 117;
// file menu
ecNew = ecFirstLazarus + 201;
ecNewUnit = ecFirstLazarus + 202;
ecNewForm = ecFirstLazarus + 203;
ecOpen = ecFirstLazarus + 205;
ecRevert = ecFirstLazarus + 206;
ecSave = ecFirstLazarus + 207;
ecSaveAs = ecFirstLazarus + 208;
ecSaveAll = ecFirstLazarus + 209;
ecClose = ecFirstLazarus + 210;
ecCloseAll = ecFirstLazarus + 211;
ecCleanDirectory = ecFirstLazarus + 212;
ecRestart = ecFirstLazarus + 213;
ecQuit = ecFirstLazarus + 214;
ecNew = ecFirstLazarus + 201;
ecNewUnit = ecFirstLazarus + 202;
ecNewForm = ecFirstLazarus + 203;
ecOpen = ecFirstLazarus + 205;
ecRevert = ecFirstLazarus + 206;
ecSave = ecFirstLazarus + 207;
ecSaveAs = ecFirstLazarus + 208;
ecSaveAll = ecFirstLazarus + 209;
ecClose = ecFirstLazarus + 210;
ecCloseAll = ecFirstLazarus + 211;
ecCleanDirectory = ecFirstLazarus + 212;
ecRestart = ecFirstLazarus + 213;
ecQuit = ecFirstLazarus + 214;
// IDE navigation
ecJumpToEditor = ecFirstLazarus + 300;
ecToggleFormUnit = ecFirstLazarus + 301;
ecToggleObjectInsp = ecFirstLazarus + 302;
ecToggleSourceEditor = ecFirstLazarus + 303;
ecToggleCodeExpl = ecFirstLazarus + 304;
ecToggleMessages = ecFirstLazarus + 305;
ecToggleWatches = ecFirstLazarus + 306;
ecToggleBreakPoints = ecFirstLazarus + 307;
ecToggleDebuggerOut = ecFirstLazarus + 308;
ecViewUnits = ecFirstLazarus + 309;
ecViewForms = ecFirstLazarus + 310;
ecViewUnitDependencies = ecFirstLazarus + 311;
ecViewUnitInfo = ecFirstLazarus + 312;
ecToggleLocals = ecFirstLazarus + 313;
ecToggleCallStack = ecFirstLazarus + 314;
ecToggleSearchResults = ecFirstLazarus + 315;
ecViewAnchorEditor = ecFirstLazarus + 316;
ecToggleCompPalette = ecFirstLazarus + 317;
ecToggleIDESpeedBtns = ecFirstLazarus + 318;
ecJumpToEditor = ecFirstLazarus + 300;
ecToggleFormUnit = ecFirstLazarus + 301;
ecToggleObjectInsp = ecFirstLazarus + 302;
ecToggleSourceEditor = ecFirstLazarus + 303;
ecToggleCodeExpl = ecFirstLazarus + 304;
ecToggleMessages = ecFirstLazarus + 305;
ecToggleWatches = ecFirstLazarus + 306;
ecToggleBreakPoints = ecFirstLazarus + 307;
ecToggleDebuggerOut = ecFirstLazarus + 308;
ecViewUnits = ecFirstLazarus + 309;
ecViewForms = ecFirstLazarus + 310;
ecViewUnitDependencies = ecFirstLazarus + 311;
ecViewUnitInfo = ecFirstLazarus + 312;
ecToggleLocals = ecFirstLazarus + 313;
ecToggleCallStack = ecFirstLazarus + 314;
ecToggleSearchResults = ecFirstLazarus + 315;
ecViewAnchorEditor = ecFirstLazarus + 316;
ecToggleCompPalette = ecFirstLazarus + 317;
ecToggleIDESpeedBtns = ecFirstLazarus + 318;
// sourcenotebook commands
ecNextEditor = ecFirstLazarus + 330;
ecPrevEditor = ecFirstLazarus + 331;
ecMoveEditorLeft = ecFirstLazarus + 332;
ecMoveEditorRight = ecFirstLazarus + 333;
ecAddBreakPoint = ecFirstLazarus + 334;
ecRemoveBreakPoint = ecFirstLazarus + 335;
ecGotoEditor1 = ecFirstLazarus + 350;
ecGotoEditor2 = ecGotoEditor1 + 1;
ecGotoEditor3 = ecGotoEditor2 + 1;
ecGotoEditor4 = ecGotoEditor3 + 1;
ecGotoEditor5 = ecGotoEditor4 + 1;
ecGotoEditor6 = ecGotoEditor5 + 1;
ecGotoEditor7 = ecGotoEditor6 + 1;
ecGotoEditor8 = ecGotoEditor7 + 1;
ecGotoEditor9 = ecGotoEditor8 + 1;
ecGotoEditor0 = ecGotoEditor9 + 1;
ecNextEditor = ecFirstLazarus + 330;
ecPrevEditor = ecFirstLazarus + 331;
ecMoveEditorLeft = ecFirstLazarus + 332;
ecMoveEditorRight = ecFirstLazarus + 333;
ecAddBreakPoint = ecFirstLazarus + 334;
ecRemoveBreakPoint = ecFirstLazarus + 335;
ecGotoEditor1 = ecFirstLazarus + 350;
ecGotoEditor2 = ecGotoEditor1 + 1;
ecGotoEditor3 = ecGotoEditor2 + 1;
ecGotoEditor4 = ecGotoEditor3 + 1;
ecGotoEditor5 = ecGotoEditor4 + 1;
ecGotoEditor6 = ecGotoEditor5 + 1;
ecGotoEditor7 = ecGotoEditor6 + 1;
ecGotoEditor8 = ecGotoEditor7 + 1;
ecGotoEditor9 = ecGotoEditor8 + 1;
ecGotoEditor0 = ecGotoEditor9 + 1;
// marker
ecSetFreeBookmark = ecFirstLazarus + 381;
ecPrevBookmark = ecFirstLazarus + 382;
ecNextBookmark = ecFirstLazarus + 383;
ecSetFreeBookmark = ecFirstLazarus + 381;
ecPrevBookmark = ecFirstLazarus + 382;
ecNextBookmark = ecFirstLazarus + 383;
// compile menu
ecBuild = ecFirstLazarus + 400;
ecBuildAll = ecFirstLazarus + 401;
ecQuickCompile = ecFirstLazarus + 402;
ecAbortBuild = ecFirstLazarus + 403;
ecRun = ecFirstLazarus + 404;
ecPause = ecFirstLazarus + 405;
ecStepInto = ecFirstLazarus + 406;
ecStepOver = ecFirstLazarus + 407;
ecRunToCursor = ecFirstLazarus + 408;
ecStopProgram = ecFirstLazarus + 409;
ecResetDebugger = ecFirstLazarus + 410;
ecBuildLazarus = ecFirstLazarus + 411;
ecBuildFile = ecFirstLazarus + 412;
ecRunFile = ecFirstLazarus + 413;
ecConfigBuildFile = ecFirstLazarus + 414;
ecInspect = ecFirstLazarus + 415;
ecEvaluate = ecFirstLazarus + 416;
ecAddWatch = ecFirstLazarus + 417;
ecBuild = ecFirstLazarus + 400;
ecBuildAll = ecFirstLazarus + 401;
ecQuickCompile = ecFirstLazarus + 402;
ecAbortBuild = ecFirstLazarus + 403;
ecRun = ecFirstLazarus + 404;
ecPause = ecFirstLazarus + 405;
ecStepInto = ecFirstLazarus + 406;
ecStepOver = ecFirstLazarus + 407;
ecRunToCursor = ecFirstLazarus + 408;
ecStopProgram = ecFirstLazarus + 409;
ecResetDebugger = ecFirstLazarus + 410;
ecBuildLazarus = ecFirstLazarus + 411;
ecBuildFile = ecFirstLazarus + 412;
ecRunFile = ecFirstLazarus + 413;
ecConfigBuildFile = ecFirstLazarus + 414;
ecInspect = ecFirstLazarus + 415;
ecEvaluate = ecFirstLazarus + 416;
ecAddWatch = ecFirstLazarus + 417;
// project menu
ecNewProject = ecFirstLazarus + 500;
ecNewProjectFromFile = ecFirstLazarus + 501;
ecOpenProject = ecFirstLazarus + 502;
ecSaveProject = ecFirstLazarus + 503;
ecSaveProjectAs = ecFirstLazarus + 504;
ecPublishProject = ecFirstLazarus + 505;
ecProjectInspector = ecFirstLazarus + 506;
ecAddCurUnitToProj = ecFirstLazarus + 507;
ecRemoveFromProj = ecFirstLazarus + 508;
ecViewProjectSource = ecFirstLazarus + 509;
ecViewProjectTodos = ecFirstLazarus + 510;
ecProjectOptions = ecFirstLazarus + 511;
ecNewProject = ecFirstLazarus + 500;
ecNewProjectFromFile = ecFirstLazarus + 501;
ecOpenProject = ecFirstLazarus + 502;
ecSaveProject = ecFirstLazarus + 503;
ecSaveProjectAs = ecFirstLazarus + 504;
ecPublishProject = ecFirstLazarus + 505;
ecProjectInspector = ecFirstLazarus + 506;
ecAddCurUnitToProj = ecFirstLazarus + 507;
ecRemoveFromProj = ecFirstLazarus + 508;
ecViewProjectSource = ecFirstLazarus + 509;
ecViewProjectTodos = ecFirstLazarus + 510;
ecProjectOptions = ecFirstLazarus + 511;
// components menu
ecOpenPackage = ecFirstLazarus + 600;
ecOpenPackageFile = ecFirstLazarus + 601;
ecOpenPackageOfCurUnit = ecFirstLazarus + 602;
ecAddCurUnitToPkg = ecFirstLazarus + 603;
ecPackageGraph = ecFirstLazarus + 604;
ecEditInstallPkgs = ecFirstLazarus + 605;
ecConfigCustomComps = ecFirstLazarus + 606;
ecOpenPackage = ecFirstLazarus + 600;
ecOpenPackageFile = ecFirstLazarus + 601;
ecOpenPackageOfCurUnit = ecFirstLazarus + 602;
ecAddCurUnitToPkg = ecFirstLazarus + 603;
ecPackageGraph = ecFirstLazarus + 604;
ecEditInstallPkgs = ecFirstLazarus + 605;
ecConfigCustomComps = ecFirstLazarus + 606;
// custom tools menu
ecExtToolFirst = ecFirstLazarus + 700;
ecExtToolLast = ecFirstLazarus + 799;
ecExtToolFirst = ecFirstLazarus + 700;
ecExtToolLast = ecFirstLazarus + 799;
// option commmands
ecRunParameters = ecFirstLazarus + 800;
ecCompilerOptions = ecFirstLazarus + 801;
ecExtToolSettings = ecFirstLazarus + 802;
ecConfigBuildLazarus = ecFirstLazarus + 803;
ecEnvironmentOptions = ecFirstLazarus + 804;
ecEditorOptions = ecFirstLazarus + 805;
ecEditCodeTemplates = ecFirstLazarus + 806;
ecCodeToolsOptions = ecFirstLazarus + 807;
ecCodeToolsDefinesEd = ecFirstLazarus + 808;
ecRescanFPCSrcDir = ecFirstLazarus + 809;
ecRunParameters = ecFirstLazarus + 800;
ecCompilerOptions = ecFirstLazarus + 801;
ecExtToolSettings = ecFirstLazarus + 802;
ecConfigBuildLazarus = ecFirstLazarus + 803;
ecEnvironmentOptions = ecFirstLazarus + 804;
ecEditorOptions = ecFirstLazarus + 805;
ecEditCodeTemplates = ecFirstLazarus + 806;
ecCodeToolsOptions = ecFirstLazarus + 807;
ecCodeToolsDefinesEd = ecFirstLazarus + 808;
ecRescanFPCSrcDir = ecFirstLazarus + 809;
// help menu
ecAboutLazarus = ecFirstLazarus + 900;
ecOnlineHelp = ecFirstLazarus + 901;
ecConfigureHelp = ecFirstLazarus + 902;
ecContextHelp = ecFirstLazarus + 903;
ecEditContextHelp = ecFirstLazarus + 904;
ecAboutLazarus = ecFirstLazarus + 900;
ecOnlineHelp = ecFirstLazarus + 901;
ecConfigureHelp = ecFirstLazarus + 902;
ecContextHelp = ecFirstLazarus + 903;
ecEditContextHelp = ecFirstLazarus + 904;
// designer
ecDesignerCopy = ecFirstLazarus + 1000;
ecDesignerCut = ecFirstLazarus + 1001;
ecDesignerPaste = ecFirstLazarus + 1002;
ecDesignerSelectParent = ecFirstLazarus + 1003;
ecDesignerMoveToFront = ecFirstLazarus + 1004;
ecDesignerMoveToBack = ecFirstLazarus + 1005;
ecDesignerForwardOne = ecFirstLazarus + 1006;
ecDesignerBackOne = ecFirstLazarus + 1007;
ecDesignerCopy = ecFirstLazarus + 1000;
ecDesignerCut = ecFirstLazarus + 1001;
ecDesignerPaste = ecFirstLazarus + 1002;
ecDesignerSelectParent = ecFirstLazarus + 1003;
ecDesignerMoveToFront = ecFirstLazarus + 1004;
ecDesignerMoveToBack = ecFirstLazarus + 1005;
ecDesignerForwardOne = ecFirstLazarus + 1006;
ecDesignerBackOne = ecFirstLazarus + 1007;
// custom commands
ecLazarusLast = ecFirstLazarus + 2000;
ecLazarusLast = ecFirstLazarus + 2000;
type

View File

@ -365,6 +365,8 @@ var
SrcEditMenuSectionFirstDynamic: TIDEMenuSection;
// Source Editor: First static section (e.g. Find Declaration)
SrcEditMenuSectionFirstStatic: TIDEMenuSection;
// Source Editor: Find sub menu section (e.g. Procedure Jump)
SrcEditSubMenuFind: TIDEMenuSection;
// Source Editor: Clipboard section (e.g. cut, copy, paste)
SrcEditMenuSectionClipboard: TIDEMenuSection;
// Source Editor: File Specific dynamic section