IDE: Move Refactor menu under Source menu

git-svn-id: trunk@30506 -
This commit is contained in:
juha 2011-04-29 06:45:51 +00:00
parent 83f8c96fe4
commit d3cfc4ada0
4 changed files with 84 additions and 125 deletions

View File

@ -148,7 +148,6 @@ resourcestring
lisMenuEdit = '&Edit';
lisMenuSearch = '&Search';
lisMenuSource = 'S&ource';
lisMenuRefactor = 'Ref&actor';
lisMenuView = '&View';
lisMenuProject = '&Project';
lisMenuRun = '&Run';

View File

@ -285,7 +285,6 @@ type
procedure mnuSourceUnitInfoClicked(Sender: TObject);
// refactor menu
procedure mnuRefactorClicked(Sender: TObject);
procedure mnuRefactorCompleteCodeClicked(Sender: TObject);
procedure mnuRefactorUseUnitClicked(Sender: TObject);
procedure mnuRefactorRenameIdentifierClicked(Sender: TObject);
@ -662,7 +661,6 @@ type
procedure SetupSearchMenu; override;
procedure SetupViewMenu; override;
procedure SetupSourceMenu; override;
procedure SetupRefactorMenu; override;
procedure SetupProjectMenu; override;
procedure SetupRunMenu; override;
procedure SetupComponentsMenu; override;
@ -2359,7 +2357,6 @@ begin
SetupSearchMenu;
SetupViewMenu;
SetupSourceMenu;
SetupRefactorMenu;
SetupProjectMenu;
SetupRunMenu;
SetupComponentsMenu;
@ -2523,7 +2520,21 @@ begin
itmSourceSyntaxCheck.OnClick := @mnuSourceSyntaxCheckClicked;
itmSourceGuessUnclosedBlock.OnClick := @mnuSourceGuessUnclosedBlockClicked;
itmSourceGuessMisplacedIFDEF.OnClick := @mnuSourceGuessMisplacedIFDEFClicked;
// Refactor
itmRefactorCompleteCode.OnClick:=@mnuRefactorCompleteCodeClicked;
itmRefactorUseUnit.OnClick:=@mnuRefactorUseUnitClicked;
itmRefactorRenameIdentifier.OnClick:=@mnuRefactorRenameIdentifierClicked;
itmRefactorExtractProc.OnClick:=@mnuRefactorExtractProcClicked;
itmRefactorInvertAssignment.OnClick:=@mnuRefactorInvertAssignmentClicked;
// itmRefactorAdvanced
itmRefactorShowAbstractMethods.OnClick:=@mnuRefactorShowAbstractMethodsClicked;
itmRefactorShowEmptyMethods.OnClick:=@mnuRefactorShowEmptyMethodsClicked;
itmRefactorShowUnusedUnits.OnClick:=@mnuRefactorShowUnusedUnitsClicked;
{$IFDEF EnableFindOverloads}
itmRefactorFindOverloads.OnClick:=@mnuRefactorFindOverloadsClicked;
{$ENDIF}
// itmRefactorTools
itmRefactorMakeResourceString.OnClick := @mnuRefactorMakeResourceStringClicked;
// insert CVS keyword
itmSourceInsertCVSAuthor.OnClick:=@mnuSourceInsertCVSAuthorClick;
itmSourceInsertCVSDate.OnClick:=@mnuSourceInsertCVSDateClick;
@ -2546,28 +2557,6 @@ begin
end;
end;
procedure TMainIDE.SetupRefactorMenu;
begin
inherited SetupRefactorMenu;
mnuRefactor.OnClick:=@mnuRefactorClicked;
with MainIDEBar do begin
itmRefactorCompleteCode.OnClick:=@mnuRefactorCompleteCodeClicked;
itmRefactorUseUnit.OnClick:=@mnuRefactorUseUnitClicked;
itmRefactorRenameIdentifier.OnClick:=@mnuRefactorRenameIdentifierClicked;
itmRefactorExtractProc.OnClick:=@mnuRefactorExtractProcClicked;
itmRefactorInvertAssignment.OnClick:=@mnuRefactorInvertAssignmentClicked;
// itmRefactorAdvanced
itmRefactorShowAbstractMethods.OnClick:=@mnuRefactorShowAbstractMethodsClicked;
itmRefactorShowEmptyMethods.OnClick:=@mnuRefactorShowEmptyMethodsClicked;
itmRefactorShowUnusedUnits.OnClick:=@mnuRefactorShowUnusedUnitsClicked;
{$IFDEF EnableFindOverloads}
itmRefactorFindOverloads.OnClick:=@mnuRefactorFindOverloadsClicked;
{$ENDIF}
// itmRefactorTools
itmRefactorMakeResourceString.OnClick := @mnuRefactorMakeResourceStringClicked;
end;
end;
procedure TMainIDE.SetupProjectMenu;
begin
inherited SetupProjectMenu;
@ -3857,46 +3846,7 @@ procedure TMainIDE.mnuSourceClicked(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
//itmSourceBlockActions: TIDEMenuSection;
itmSourceCommentBlock.Enabled:=SelEditable;
itmSourceUncommentBlock.Enabled:=SelEditable;
itmSourceEncloseBlock.Enabled:=SelEditable;
itmSourceEncloseInIFDEF.Enabled:=SelEditable;
//itmSourceInsertions: TIDEMenuSection;
//itmSourceInsertCVSKeyWord: TIDEMenuSection;
itmSourceInsertCVSAuthor.Enabled:=Editable;
itmSourceInsertCVSDate.Enabled:=Editable;
itmSourceInsertCVSHeader.Enabled:=Editable;
itmSourceInsertCVSID.Enabled:=Editable;
itmSourceInsertCVSLog.Enabled:=Editable;
itmSourceInsertCVSName.Enabled:=Editable;
itmSourceInsertCVSRevision.Enabled:=Editable;
itmSourceInsertCVSSource.Enabled:=Editable;
//itmSourceInsertGeneral: TIDEMenuSection;
itmSourceInsertGPLNotice.Enabled:=Editable;
itmSourceInsertLGPLNotice.Enabled:=Editable;
itmSourceInsertModifiedLGPLNotice.Enabled:=Editable;
itmSourceInsertUsername.Enabled:=Editable;
itmSourceInsertDateTime.Enabled:=Editable;
itmSourceInsertChangeLogEntry.Enabled:=Editable;
end;
end;
{------------------------------------------------------------------------------}
procedure TMainIDE.mnuRefactorClicked(Sender: TObject);
var
ASrcEdit: TSourceEditor;
AnUnitInfo: TUnitInfo;
Editable, SelAvail, IdentFound, StringFound: Boolean;
Editable, SelEditable, SelAvail, IdentFound, StringFound: Boolean;
CurrentUnitName: String;
AvailUnits: TStringList;
StartCode, EndCode: TCodeBuffer;
@ -3904,15 +3854,12 @@ var
NewX, NewY, NewTopLine: integer;
CursorXY: TPoint;
begin
Editable:=False;
SelAvail:=False;
IdentFound:=False;
StringFound:=False;
AvailUnits:=nil;
try
if BeginCodeTool(ASrcEdit,AnUnitInfo,[]) then begin
Editable:=not ASrcEdit.ReadOnly;
SelAvail:=ASrcEdit.SelectionAvailable;
// GetCurrentUnit(ASrcEdit,AnUnitInfo);
Editable:=(ASrcEdit<>nil) and (not ASrcEdit.ReadOnly);
SelAvail:=(ASrcEdit<>nil) and (ASrcEdit.SelectionAvailable);
// Get Available Units count to enable UseProjUnit feature.
AvailUnits:=GetAvailableUnits(ASrcEdit, CurrentUnitName);
@ -3930,16 +3877,40 @@ begin
EndCode,EndPos.X,EndPos.Y,true) then
StringFound:=(StartCode<>EndCode) or (CompareCaret(StartPos,EndPos)<>0);
end;
SelEditable:=Editable and SelAvail;
with MainIDEBar do begin
//itmRefactorCodeTools
itmRefactorCompleteCode.Enabled:=Editable;
itmRefactorUseUnit.Enabled:=Editable and
Assigned(AvailUnits) and (AvailUnits.Count>0);
itmRefactorRenameIdentifier.Enabled:=Editable and IdentFound;
itmRefactorExtractProc.Enabled:=Editable and SelAvail;
itmRefactorInvertAssignment.Enabled:=Editable and SelAvail;
//itmRefactorAdvanced
itmRefactorMakeResourceString.Enabled:=Editable and StringFound;
//itmSourceBlockActions
itmSourceCommentBlock.Enabled:=SelEditable;
itmSourceUncommentBlock.Enabled:=SelEditable;
itmSourceEncloseBlock.Enabled:=SelEditable;
itmSourceEncloseInIFDEF.Enabled:=SelEditable;
//itmSourceInsertions
//itmSourceInsertCVSKeyWord
itmSourceInsertCVSAuthor.Enabled:=Editable;
itmSourceInsertCVSDate.Enabled:=Editable;
itmSourceInsertCVSHeader.Enabled:=Editable;
itmSourceInsertCVSID.Enabled:=Editable;
itmSourceInsertCVSLog.Enabled:=Editable;
itmSourceInsertCVSName.Enabled:=Editable;
itmSourceInsertCVSRevision.Enabled:=Editable;
itmSourceInsertCVSSource.Enabled:=Editable;
//itmSourceInsertGeneral
itmSourceInsertGPLNotice.Enabled:=Editable;
itmSourceInsertLGPLNotice.Enabled:=Editable;
itmSourceInsertModifiedLGPLNotice.Enabled:=Editable;
itmSourceInsertUsername.Enabled:=Editable;
itmSourceInsertDateTime.Enabled:=Editable;
itmSourceInsertChangeLogEntry.Enabled:=Editable;
//itmSourceRefactor
//itmRefactorCodeTools
itmRefactorCompleteCode.Enabled:=Editable;
itmRefactorUseUnit.Enabled:=Editable and
Assigned(AvailUnits) and (AvailUnits.Count>0);
itmRefactorRenameIdentifier.Enabled:=Editable and IdentFound;
itmRefactorExtractProc.Enabled:=Editable and SelAvail;
itmRefactorInvertAssignment.Enabled:=Editable and SelAvail;
//itmRefactorAdvanced
itmRefactorMakeResourceString.Enabled:=Editable and StringFound;
end;
finally
AvailUnits.Free;

View File

@ -109,7 +109,6 @@ type
procedure SetupSearchMenu; virtual;
procedure SetupViewMenu; virtual;
procedure SetupSourceMenu; virtual;
procedure SetupRefactorMenu; virtual;
procedure SetupProjectMenu; virtual;
procedure SetupRunMenu; virtual;
procedure SetupComponentsMenu; virtual;
@ -357,7 +356,6 @@ begin
CreateMainMenuItem(mnuSearch,'Search',lisMenuSearch);
CreateMainMenuItem(mnuView,'View',lisMenuView);
CreateMainMenuItem(mnuSource,'Source',lisMenuSource);
CreateMainMenuItem(mnuRefactor,'Refactor',lisMenuRefactor);
CreateMainMenuItem(mnuProject,'Project',lisMenuProject);
CreateMainMenuItem(mnuRun,'Run',lisMenuRun);
CreateMainMenuItem(mnuPackage,'Package',lisMenuPackage);
@ -561,7 +559,32 @@ begin
CreateMenuItem(ParentMI,itmSourceToggleComment,'itmSourceToggleComment',lisMenuToggleComment, 'menu_comment');
CreateMenuItem(ParentMI,itmSourceEncloseBlock,'itmSourceEncloseBlock',lisMenuEncloseSelection);
CreateMenuItem(ParentMI,itmSourceEncloseInIFDEF,'itmSourceEncloseInIFDEF',lisMenuEncloseInIFDEF);
// Refactor
CreateMenuSeparatorSection(mnuSource,itmSourceRefactor,'itmSourceRefactor');
CreateMenuSubSection(ParentMI,itmSourceRefactor,'itmSourceRefactor',uemRefactor);
SubParentMI:=itmSourceRefactor;
CreateMenuSeparatorSection(SubParentMI,itmRefactorCodeTools,'itmRefactorCodeTools');
ParentMI:=itmRefactorCodeTools;
CreateMenuItem(ParentMI,itmRefactorCompleteCode,'itmRefactorCompleteCode',lisMenuCompleteCode);
CreateMenuItem(ParentMI,itmRefactorUseUnit,'itmRefactorUseUnit',lisMenuUseProjectUnit);
CreateMenuItem(ParentMI,itmRefactorRenameIdentifier,'itmRefactorRenameIdentifier',lisMenuRenameIdentifier);
CreateMenuItem(ParentMI,itmRefactorExtractProc,'itmRefactorExtractProc',lisMenuExtractProc);
CreateMenuItem(ParentMI,itmRefactorInvertAssignment,'itmInvertAssignment',uemInvertAssignment);
CreateMenuSeparatorSection(SubParentMI,itmRefactorAdvanced,'itmRefactorAdvanced');
ParentMI:=itmRefactorAdvanced;
CreateMenuItem(ParentMI,itmRefactorShowAbstractMethods,'itmShowAbstractMethods',srkmecAbstractMethods);
CreateMenuItem(ParentMI,itmRefactorShowEmptyMethods,'itmShowEmptyMethods',srkmecEmptyMethods);
CreateMenuItem(ParentMI,itmRefactorShowUnusedUnits,'itmShowUnusedUnits',srkmecUnusedUnits);
{$IFDEF EnableFindOverloads}
CreateMenuItem(ParentMI,itmRefactorFindOverloads,'itmFindOverloads',srkmecFindOverloadsCapt);
{$ENDIF}
CreateMenuSeparatorSection(SubParentMI,itmRefactorTools,'itmRefactorTools');
ParentMI:=itmRefactorTools;
CreateMenuItem(ParentMI,itmRefactorMakeResourceString,'itmRefactorMakeResourceString',
lisMenuMakeResourceString,'menu_tool_make_resourcestring');
// CodeToolChecks
CreateMenuSeparatorSection(mnuSource,itmSourceCodeToolChecks,'itmSourceCodeToolChecks');
ParentMI:=itmSourceCodeToolChecks;
CreateMenuItem(ParentMI,itmSourceSyntaxCheck,'itmSourceSyntaxCheck',lisMenuQuickSyntaxCheck, 'menu_tool_syntax_check');
@ -572,9 +595,8 @@ begin
ParentMI:=itmSourceInsertions;
// *** insert text ***:
CreateMenuSubSection(ParentMI,itmSourceInsertCVSKeyWord,'itmSourceInsertCVSKeyWord',lisMenuInsertCVSKeyword);
begin
SubParentMI:=itmSourceInsertCVSKeyWord;
// insert CVS keyword sub menu items
SubParentMI:=itmSourceInsertCVSKeyWord;
CreateMenuItem(SubParentMI,itmSourceInsertCVSAuthor,'itmSourceInsertCVSAuthor','Author');
CreateMenuItem(SubParentMI,itmSourceInsertCVSDate,'itmSourceInsertCVSDate','Date');
CreateMenuItem(SubParentMI,itmSourceInsertCVSHeader,'itmSourceInsertCVSHeader','Header');
@ -583,12 +605,10 @@ begin
CreateMenuItem(SubParentMI,itmSourceInsertCVSName,'itmSourceInsertCVSName','Name');
CreateMenuItem(SubParentMI,itmSourceInsertCVSRevision,'itmSourceInsertCVSRevision','Revision');
CreateMenuItem(SubParentMI,itmSourceInsertCVSSource,'itmSourceInsertCVSSource','Source');
end;
CreateMenuSubSection(ParentMI,itmSourceInsertGeneral,'itmSourceInsertGeneral',lisMenuInsertGeneral);
begin
SubParentMI:=itmSourceInsertGeneral;
// insert general text sub menu items
SubParentMI:=itmSourceInsertGeneral;
CreateMenuItem(SubParentMI,itmSourceInsertGPLNotice,'itmSourceInsertGPLNotice',lisMenuInsertGPLNotice);
CreateMenuItem(SubParentMI,itmSourceInsertLGPLNotice,'itmSourceInsertLGPLNotice',lisMenuInsertLGPLNotice);
CreateMenuItem(SubParentMI,itmSourceInsertModifiedLGPLNotice,'itmSourceInsertModifiedLGPLNotice',lisMenuInsertModifiedLGPLNotice);
@ -596,42 +616,13 @@ begin
CreateMenuItem(SubParentMI,itmSourceInsertDateTime,'itmSourceInsertDateTime',lisMenuInsertDateTime);
CreateMenuItem(SubParentMI,itmSourceInsertChangeLogEntry,'itmSourceInsertChangeLogEntry',lisMenuInsertChangeLogEntry);
CreateMenuItem(SubParentMI,itmSourceInsertGUID,'itmSourceInsertGUID',srkmecInsertGUID);
end;
CreateMenuSeparatorSection(mnuSource,itmSourceTools,'itmSourceTools');
ParentMI:=itmSourceTools;
CreateMenuItem(ParentMI,itmSourceUnitInfo,'itmViewUnitInfo',lisMenuViewUnitInfo, 'menu_view_unit_info');
end;
end;
procedure TMainIDEBase.SetupRefactorMenu;
var
ParentMI: TIDEMenuSection;
begin
with MainIDEBar do begin
CreateMenuSeparatorSection(mnuRefactor,itmRefactorCodeTools,'itmRefactorCodeTools');
ParentMI:=itmRefactorCodeTools;
CreateMenuItem(ParentMI,itmRefactorCompleteCode,'itmRefactorCompleteCode',lisMenuCompleteCode);
CreateMenuItem(ParentMI,itmRefactorUseUnit,'itmRefactorUseUnit',lisMenuUseProjectUnit);
CreateMenuItem(ParentMI,itmRefactorRenameIdentifier,'itmRefactorRenameIdentifier',lisMenuRenameIdentifier);
CreateMenuItem(ParentMI,itmRefactorExtractProc,'itmRefactorExtractProc',lisMenuExtractProc);
CreateMenuItem(ParentMI,itmRefactorInvertAssignment,'itmInvertAssignment',uemInvertAssignment);
CreateMenuSeparatorSection(mnuRefactor,itmRefactorAdvanced,'itmRefactorAdvanced');
ParentMI:=itmRefactorAdvanced;
CreateMenuItem(ParentMI,itmRefactorShowAbstractMethods,'itmShowAbstractMethods',srkmecAbstractMethods);
CreateMenuItem(ParentMI,itmRefactorShowEmptyMethods,'itmShowEmptyMethods',srkmecEmptyMethods);
CreateMenuItem(ParentMI,itmRefactorShowUnusedUnits,'itmShowUnusedUnits',srkmecUnusedUnits);
{$IFDEF EnableFindOverloads}
CreateMenuItem(ParentMI,itmRefactorFindOverloads,'itmFindOverloads',srkmecFindOverloadsCapt);
{$ENDIF}
CreateMenuSeparatorSection(mnuRefactor,itmRefactorTools,'itmRefactorTools');
ParentMI:=itmRefactorTools;
CreateMenuItem(ParentMI,itmRefactorMakeResourceString,'itmRefactorMakeResourceString',
lisMenuMakeResourceString,'menu_tool_make_resourcestring');
end;
end;
procedure TMainIDEBase.SetupProjectMenu;
var
ParentMI: TIDEMenuSection;

View File

@ -323,17 +323,15 @@ var
mnuSource: TIDEMenuSection;
itmSourceBlockActions: TIDEMenuSection;
itmSourceCodeToolChecks: TIDEMenuSection;
itmSourceRefactor: TIDEMenuSection;
itmRefactorCodeTools: TIDEMenuSection;
itmRefactorAdvanced: TIDEMenuSection;
itmRefactorTools: TIDEMenuSection;
itmSourceInsertions: TIDEMenuSection;
itmSourceInsertCVSKeyWord: TIDEMenuSection;
itmSourceInsertGeneral: TIDEMenuSection;
itmSourceTools: TIDEMenuSection;
// refactor menu
mnuRefactor: TIDEMenuSection;
itmRefactorCodeTools: TIDEMenuSection;
itmRefactorAdvanced: TIDEMenuSection;
itmRefactorTools: TIDEMenuSection;
// project menu
mnuProject: TIDEMenuSection;
itmProjectNewSection: TIDEMenuSection;