From 7bd4807fe6447ac4a69b5561d88dfb2bb86d2484 Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 4 Mar 2011 07:17:05 +0000 Subject: [PATCH] IDE: Create Refactoring menu and move items from other menus. git-svn-id: trunk@29720 - --- ide/lazarusidestrconsts.pas | 1 + ide/main.pp | 78 +++++++++++++++++++++++++------------ ide/mainbar.pas | 11 ++++-- ide/mainbase.pas | 32 +++++++++------ ideintf/menuintf.pas | 5 ++- 5 files changed, 87 insertions(+), 40 deletions(-) diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 7c9e593896..696cfed89d 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -146,6 +146,7 @@ resourcestring lisMenuFile = '&File'; lisMenuEdit = '&Edit'; lisMenuSearch = '&Search'; + lisMenuRefactor = 'Ref&actor'; lisMenuView = '&View'; lisMenuProject = '&Project'; lisMenuRun = '&Run'; diff --git a/ide/main.pp b/ide/main.pp index 6ff086a941..e255419193 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -223,8 +223,6 @@ type procedure mnuEditSelectToBraceClick(Sender: TObject); procedure mnuEditSelectLineClick(Sender: TObject); procedure mnuEditSelectParagraphClick(Sender: TObject); - procedure mnuEditCompleteCodeClicked(Sender: TObject); - procedure mnuEditExtractProcClicked(Sender: TObject); procedure mnuEditInsertCharacterClicked(Sender: TObject); // edit->insert text->CVS keyword @@ -249,7 +247,6 @@ type // search menu procedure mnuSearchFindInFiles(Sender: TObject); procedure mnuSearchFindIdentifierRefsClicked(Sender: TObject); - procedure mnuSearchRenameIdentifierClicked(Sender: TObject); procedure mnuSearchFindBlockOtherEnd(Sender: TObject); procedure mnuSearchFindBlockStart(Sender: TObject); procedure mnuSearchFindDeclaration(Sender: TObject); @@ -259,6 +256,12 @@ type procedure mnuSearchProcedureList(Sender: TObject); procedure mnuSetFreeBookmark(Sender: TObject); + // refactor menu + procedure mnuRefactorClicked(Sender: TObject); + procedure mnuRefactorCompleteCodeClicked(Sender: TObject); + procedure mnuRefactorExtractProcClicked(Sender: TObject); + procedure mnuRefactorRenameIdentifierClicked(Sender: TObject); + // view menu procedure mnuViewInspectorClicked(Sender: TObject); procedure mnuViewSourceEditorClicked(Sender: TObject); @@ -633,6 +636,7 @@ type procedure SetupFileMenu; override; procedure SetupEditMenu; override; procedure SetupSearchMenu; override; + procedure SetupRefactorMenu; override; procedure SetupViewMenu; override; procedure SetupProjectMenu; override; procedure SetupRunMenu; override; @@ -2271,6 +2275,7 @@ begin SetupFileMenu; SetupEditMenu; SetupSearchMenu; + SetupRefactorMenu; SetupViewMenu; SetupProjectMenu; SetupRunMenu; @@ -2384,8 +2389,6 @@ begin itmEditSelectCodeBlock.OnClick:=@mnuEditSelectCodeBlockClick; itmEditSelectLine.OnClick:=@mnuEditSelectLineClick; itmEditSelectParagraph.OnClick:=@mnuEditSelectParagraphClick; - itmEditCompleteCode.OnClick:=@mnuEditCompleteCodeClicked; - itmEditExtractProc.OnClick:=@mnuEditExtractProcClicked; itmEditInsertCharacter.OnClick:=@mnuEditInsertCharacterClicked; // insert text->CVS keyword @@ -2414,13 +2417,23 @@ begin inherited SetupSearchMenu; with MainIDEBar do begin itmSearchFindIdentifierRefs.OnClick:=@mnuSearchFindIdentifierRefsClicked; - itmSearchRenameIdentifier.OnClick:=@mnuSearchRenameIdentifierClicked; itmGotoIncludeDirective.OnClick:=@mnuGotoIncludeDirectiveClicked; itmSearchProcedureList.OnClick := @mnuSearchProcedureList; itmSetFreeBookmark.OnClick := @mnuSetFreeBookmark; end; end; +procedure TMainIDE.SetupRefactorMenu; +begin + inherited SetupRefactorMenu; + with MainIDEBar do begin + mnuRefactor.OnClick:=@mnuRefactorClicked; + itmRefactorCompleteCode.OnClick:=@mnuRefactorCompleteCodeClicked; + itmRefactorExtractProc.OnClick:=@mnuRefactorExtractProcClicked; + itmRefactorRenameIdentifier.OnClick:=@mnuRefactorRenameIdentifierClicked; + end; +end; + procedure TMainIDE.SetupViewMenu; begin inherited SetupViewMenu; @@ -3746,9 +3759,26 @@ begin itmEditInsertUsername.Enabled:=Editable; itmEditInsertDateTime.Enabled:=Editable; itmEditInsertChangeLogEntry.Enabled:=Editable; - //itmEditMenuCodeTools: TIDEMenuSection; - itmEditCompleteCode.Enabled:=Editable; - itmEditExtractProc.Enabled:=SelEditable; + end; +end; + +{------------------------------------------------------------------------------} +procedure TMainIDE.mnuRefactorClicked(Sender: TObject); +var + ASrcEdit: TSourceEditor; + AnUnitInfo: TUnitInfo; + Editable: Boolean; + SelAvail: Boolean; + SelEditable: Boolean; +begin + GetCurrentUnit(ASrcEdit,AnUnitInfo); + Editable:=(ASrcEdit<>nil) and (not ASrcEdit.ReadOnly); + SelAvail:=(ASrcEdit<>nil) and (ASrcEdit.SelectionAvailable); + SelEditable:=Editable and SelAvail; + with MainIDEBar do begin + //itmRefactorMenuCodeTools: TIDEMenuSection; + itmRefactorCompleteCode.Enabled:=Editable; + itmRefactorExtractProc.Enabled:=SelEditable; end; end; @@ -17586,21 +17616,6 @@ begin DoFindRenameIdentifier(false); end; -procedure TMainIDE.mnuSearchRenameIdentifierClicked(Sender: TObject); -begin - DoFindRenameIdentifier(true); -end; - -procedure TMainIDE.mnuEditCompleteCodeClicked(Sender: TObject); -begin - DoCompleteCodeAtCursor; -end; - -procedure TMainIDE.mnuEditExtractProcClicked(Sender: TObject); -begin - DoExtractProcFromSelection; -end; - procedure TMainIDE.mnuEditInsertCharacterClicked(Sender: TObject); begin DoSourceEditorCommand(ecInsertCharacter); @@ -17646,6 +17661,21 @@ begin DoSourceEditorCommand(ecInsertCVSSource); end; +procedure TMainIDE.mnuRefactorCompleteCodeClicked(Sender: TObject); +begin + DoCompleteCodeAtCursor; +end; + +procedure TMainIDE.mnuRefactorExtractProcClicked(Sender: TObject); +begin + DoExtractProcFromSelection; +end; + +procedure TMainIDE.mnuRefactorRenameIdentifierClicked(Sender: TObject); +begin + DoFindRenameIdentifier(true); +end; + procedure TMainIDE.DoCommand(ACommand: integer); var ActiveSourceEditor: TSourceEditor; diff --git a/ide/mainbar.pas b/ide/mainbar.pas index bd24aacc07..8fe378f547 100644 --- a/ide/mainbar.pas +++ b/ide/mainbar.pas @@ -154,9 +154,6 @@ type itmEditInsertChangeLogEntry: TIDEMenuCommand; itmEditInsertGUID: TIDEMenuCommand; itmEditInsertTodo: TIDEMenuCommand; - //itmEditMenuCodeTools: TIDEMenuSection; - itmEditCompleteCode: TIDEMenuCommand; - itmEditExtractProc: TIDEMenuCommand; // search menu //mnuSearch: TIDEMenuSection; @@ -185,9 +182,15 @@ type itmOpenFileAtCursor: TIDEMenuCommand; itmGotoIncludeDirective: TIDEMenuCommand; itmSearchFindIdentifierRefs: TIDEMenuCommand; - itmSearchRenameIdentifier: TIDEMenuCommand; itmSearchProcedureList: TIDEMenuCommand; + // refactor menu + //mnuRefactor: TIDEMenuSection; + //itmEditMenuCodeTools: TIDEMenuSection; + itmRefactorCompleteCode: TIDEMenuCommand; + itmRefactorExtractProc: TIDEMenuCommand; + itmRefactorRenameIdentifier: TIDEMenuCommand; + // view menu //mnuView: TIDEMenuSection; //itmViewMainWindows: TIDEMenuSection; diff --git a/ide/mainbase.pas b/ide/mainbase.pas index 23b2817b2a..685b7445b5 100644 --- a/ide/mainbase.pas +++ b/ide/mainbase.pas @@ -107,6 +107,7 @@ type procedure SetupFileMenu; virtual; procedure SetupEditMenu; virtual; procedure SetupSearchMenu; virtual; + procedure SetupRefactorMenu; virtual; procedure SetupViewMenu; virtual; procedure SetupProjectMenu; virtual; procedure SetupRunMenu; virtual; @@ -354,6 +355,7 @@ begin CreateMainMenuItem(mnuFile,'File',lisMenuFile); CreateMainMenuItem(mnuEdit,'Edit',lisMenuEdit); CreateMainMenuItem(mnuSearch,'Search',lisMenuSearch); + CreateMainMenuItem(mnuRefactor,'Refactor',lisMenuRefactor); CreateMainMenuItem(mnuView,'View',lisMenuView); CreateMainMenuItem(mnuProject,'Project',lisMenuProject); CreateMainMenuItem(mnuRun,'Run',lisMenuRun); @@ -488,12 +490,6 @@ begin CreateMenuItem(SubSubParentMI,itmEditInsertGUID,'itmEditInsertGUID',srkmecInsertGUID); end; end; - - CreateMenuSeparatorSection(mnuEdit,itmEditMenuCodeTools,'itmEditMenuCodeTools'); - ParentMI:=itmEditMenuCodeTools; - - CreateMenuItem(ParentMI,itmEditCompleteCode,'itmEditCompleteCode',lisMenuCompleteCode); - CreateMenuItem(ParentMI,itmEditExtractProc,'itmEditExtractProc',lisMenuExtractProc); end; end; @@ -505,7 +501,7 @@ begin CreateMenuSeparatorSection(mnuSearch,itmSearchFindReplace,'itmSearchFindReplace'); ParentMI:=itmSearchFindReplace; - CreateMenuItem(ParentMI, itmSearchFind, 'itmSearchFind', lisMenuFind2, 'menu_search_find'); + CreateMenuItem(ParentMI,itmSearchFind, 'itmSearchFind', lisMenuFind2, 'menu_search_find'); CreateMenuItem(ParentMI,itmSearchFindNext,'itmSearchFindNext',lisMenuFindNext, 'menu_search_find_next'); CreateMenuItem(ParentMI,itmSearchFindPrevious,'itmSearchFindPrevious',lisMenuFindPrevious, 'menu_search_find_previous'); CreateMenuItem(ParentMI,itmSearchFindInFiles,'itmSearchFindInFiles',lisMenuFindInFiles, 'menu_search_files'); @@ -539,11 +535,23 @@ begin CreateMenuItem(ParentMI,itmOpenFileAtCursor,'itmOpenFileAtCursor',lisMenuOpenFilenameAtCursor,'menu_search_openfile_atcursor'); CreateMenuItem(ParentMI,itmGotoIncludeDirective,'itmGotoIncludeDirective',lisMenuGotoIncludeDirective); CreateMenuItem(ParentMI,itmSearchFindIdentifierRefs,'itmSearchFindIdentifierRefs',lisMenuFindIdentifierRefs); - CreateMenuItem(ParentMI,itmSearchRenameIdentifier,'itmSearchRenameIdentifier',lisMenuRenameIdentifier); CreateMenuItem(ParentMI,itmSearchProcedureList,'itmSearchProcedureList',lisMenuProcedureList); end; end; +procedure TMainIDEBase.SetupRefactorMenu; +var + ParentMI: TIDEMenuSection; +begin + with MainIDEBar do begin + CreateMenuSeparatorSection(mnuRefactor,itmRefactorMenuCodeTools,'itmRefactorMenuCodeTools'); + ParentMI:=itmRefactorMenuCodeTools; + CreateMenuItem(ParentMI,itmRefactorCompleteCode,'itmRefactorCompleteCode',lisMenuCompleteCode); + CreateMenuItem(ParentMI,itmRefactorExtractProc,'itmRefactorExtractProc',lisMenuExtractProc); + CreateMenuItem(ParentMI,itmRefactorRenameIdentifier,'itmRefactorRenameIdentifier',lisMenuRenameIdentifier); + end; +end; + procedure TMainIDEBase.SetupViewMenu; var ParentMI: TIDEMenuSection; @@ -868,8 +876,6 @@ begin itmEditSelectCodeBlock.Command:=GetCommand(ecSelectCodeBlock); itmEditSelectLine.Command:=GetCommand(ecSelectLine); itmEditSelectParagraph.Command:=GetCommand(ecSelectParagraph); - itmEditCompleteCode.Command:=GetCommand(ecCompleteCode); - itmEditExtractProc.Command:=GetCommand(ecExtractProc); itmEditInsertCVSAuthor.Command:=GetCommand(ecInsertCVSAuthor); itmEditInsertCVSDate.Command:=GetCommand(ecInsertCVSDate); @@ -895,7 +901,6 @@ begin itmSearchFindInFiles.Command:=GetCommand(ecFindInFiles); itmSearchFindIdentifierRefs.Command:=GetCommand(ecFindIdentifierRefs); itmSearchReplace.Command:=GetCommand(ecReplace); - itmSearchRenameIdentifier.Command:=GetCommand(ecRenameIdentifier); itmIncrementalFind.Command:=GetCommand(ecIncrementalFind); itmGotoLine.Command:=GetCommand(ecGotoLineNumber); itmJumpBack.Command:=GetCommand(ecJumpBack); @@ -913,6 +918,11 @@ begin itmGotoIncludeDirective.Command:=GetCommand(ecGotoIncludeDirective); itmSearchProcedureList.Command:=GetCommand(ecProcedureList); + // refactor menu + itmRefactorCompleteCode.Command:=GetCommand(ecCompleteCode); + itmRefactorExtractProc.Command:=GetCommand(ecExtractProc); + itmRefactorRenameIdentifier.Command:=GetCommand(ecRenameIdentifier); + // view menu itmViewInspector.Command:=GetCommand(ecToggleObjectInsp); itmViewSourceEditor.Command:=GetCommand(ecToggleSourceEditor); diff --git a/ideintf/menuintf.pas b/ideintf/menuintf.pas index c619f6c381..efca469e43 100644 --- a/ideintf/menuintf.pas +++ b/ideintf/menuintf.pas @@ -306,7 +306,6 @@ var itmEditInsertText: TIDEMenuSection; itmEditInsertCVSKeyWord: TIDEMenuSection; itmEditInsertGeneral: TIDEMenuSection; - itmEditMenuCodeTools: TIDEMenuSection; // search menu mnuSearch: TIDEMenuSection; @@ -315,6 +314,10 @@ var itmBookmarks: TIDEMenuSection; itmCodeToolSearches: TIDEMenuSection; + // refactor menu + mnuRefactor: TIDEMenuSection; + itmRefactorMenuCodeTools: TIDEMenuSection; + // view menu mnuView: TIDEMenuSection; itmViewMainWindows: TIDEMenuSection;