implemented IDE command ecSetFreeBookmark

git-svn-id: trunk@7579 -
This commit is contained in:
mattias 2005-08-27 13:57:47 +00:00
parent e063082bb7
commit 2fae0d3819
5 changed files with 60 additions and 10 deletions

View File

@ -183,8 +183,9 @@ const
ecGotoEditor0 = ecGotoEditor9 + 1;
// marker
ecPrevBookmark = ecUserFirst + 381;
ecNextBookmark = ecUserFirst + 382;
ecSetFreeBookmark = ecUserFirst + 381;
ecPrevBookmark = ecUserFirst + 382;
ecNextBookmark = ecUserFirst + 383;
// compile menu
ecBuild = ecUserFirst + 400;
@ -554,6 +555,7 @@ begin
ecOpenFileAtCursor: SetResult(VK_RETURN,[ssCtrl],VK_UNKNOWN,[]);
// marker
ecSetFreeBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecPrevBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecNextBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecGotoMarker0: SetResult(VK_0,[ssCtrl],VK_UNKNOWN,[]);
@ -859,6 +861,7 @@ begin
ecOpenFileAtCursor: SetResult(VK_RETURN,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
// marker
ecSetFreeBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecPrevBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecNextBookmark: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecGotoMarker0: SetResult(VK_Q,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
@ -1399,6 +1402,7 @@ begin
ecLineSelect : Result:= srkmecLineSelect;
ecAutoCompletion : Result:= srkmecAutoCompletion;
ecUserFirst : Result:= srkmecPrevBookmark;
ecSetFreeBookmark : Result:= srkmecSetFreeBookmark;
ecPrevBookmark : Result:= srkmecPrevBookmark;
ecNextBookmark : Result:= srkmecNextBookmark;
ecGotoMarker0 ..
@ -2323,6 +2327,7 @@ begin
// marker - without menu items in the IDE bar
C:=Categories[AddCategory('Marker',srkmCatMarker,caSrcEditOnly)];
AddDefault(C,'Set free Bookmark',ecSetFreeBookmark);
AddDefault(C,'Previous Bookmark',ecPrevBookmark);
AddDefault(C,'Next Bookmark',ecNextBookmark);
AddDefault(C,'Go to marker 0',ecGotoMarker0);

View File

@ -184,6 +184,7 @@ resourcestring
lisMenuGotoIncludeDirective = 'Goto include directive';
lisMenuJumpToNextError = 'Jump to next error';
lisMenuJumpToPrevError = 'Jump to previous error';
lisMenuSetFreeBookmark = 'Set a free bookmark';
lisMenuJumpToNextBookmark = 'Jump to next bookmark';
lisMenuJumpToPrevBookmark = 'Jump to previous bookmark';
@ -1162,6 +1163,7 @@ resourcestring
uemCopy = 'Copy';
uemPaste = 'Paste';
uemGotoBookmark = '&Goto Bookmark';
uemSetFreeBookmark = 'Set a free Bookmark';
uemNextBookmark = 'Goto next Bookmark';
uemPrevBookmark = 'Goto previous Bookmark';
uemBookmarkN = 'Bookmark';
@ -1318,6 +1320,7 @@ resourcestring
srkmecLineSelect = 'Line selection mode';
srkmecAutoCompletion = 'Code template completion';
srkmecUserFirst = 'User First';
srkmecSetFreeBookmark = 'Set a free Bookmark';
srkmecPrevBookmark = 'Previous Bookmark';
srkmecNextBookmark = 'Next Bookmark';
srkmecGotoMarker = 'Go to Marker %d';

View File

@ -157,6 +157,7 @@ type
itmJumpHistory: TMenuItem;
itmJumpToNextError: TMenuItem;
itmJumpToPrevError: TMenuItem;
itmSetFreeBookmark: TMenuItem;
itmJumpToNextBookmark: TMenuItem;
itmJumpToPrevBookmark: TMenuItem;
itmFindBlockOtherEnd: TMenuItem;

View File

@ -481,6 +481,7 @@ begin
CreateMenuItem(ParentMI,itmJumpHistory,'itmJumpHistory',lisMenuViewJumpHistory);
CreateMenuItem(ParentMI,itmJumpToNextError,'itmJumpToNextError',lisMenuJumpToNextError);
CreateMenuItem(ParentMI,itmJumpToPrevError,'itmJumpToPrevError',lisMenuJumpToPrevError);
CreateMenuItem(ParentMI,itmSetFreeBookmark,'itmSetFreeBookmark',lisMenuSetFreeBookmark);
CreateMenuItem(ParentMI,itmJumpToNextBookmark,'itmJumpToNextBookmark',lisMenuJumpToNextBookmark);
CreateMenuItem(ParentMI,itmJumpToPrevBookmark,'itmJumpToPrevBookmark',lisMenuJumpToPrevBookmark);
@ -781,6 +782,7 @@ begin
itmJumpHistory.ShortCut:=CommandToShortCut(ecViewJumpHistory);
itmJumpToNextError.ShortCut:=CommandToShortCut(ecJumpToNextError);
itmJumpToPrevError.ShortCut:=CommandToShortCut(ecJumpToPrevError);
itmSetFreeBookmark.ShortCut:=CommandToShortCut(ecSetFreeBookmark);
itmJumpToNextBookmark.ShortCut:=CommandToShortCut(ecNextBookmark);
itmJumpToPrevBookmark.ShortCut:=CommandToShortCut(ecPrevBookmark);
itmFindBlockOtherEnd.ShortCut:=CommandToShortCut(ecFindBlockOtherEnd);

View File

@ -350,6 +350,7 @@ type
CopyMenuItem: TMenuItem;
PasteMenuItem: TMenuItem;
GotoBookmarkMenuItem: TMenuItem;
SetFreeBookmarkMenuItem: TMenuItem;
NextBookmarkMenuItem: TMenuItem;
PrevBookmarkMenuItem: TMenuItem;
MoveEditorLeftMenuItem: TMenuItem;
@ -385,7 +386,9 @@ type
procedure BookMarkPrevClicked(Sender: TObject);
procedure BookMarkGotoClicked(Sender: TObject);
procedure BookMarkSet(Value: Integer);
procedure BookMarkSetFree;
procedure BookMarkSetClicked(Sender: TObject);
procedure BookmarkSetFreeClicked(Sender: TObject);
procedure BookMarkToggle(Value: Integer);
procedure EditorPropertiesClicked(Sender: TObject);
procedure FindDeclarationClicked(Sender: TObject);
@ -711,6 +714,9 @@ var
SrcEditMenuCut: TIDEMenuCommand;
SrcEditMenuCopy: TIDEMenuCommand;
SrcEditMenuPaste: TIDEMenuCommand;
SrcEditMenuNextBookmark: TIDEMenuCommand;
SrcEditMenuPrevBookmark: TIDEMenuCommand;
SrcEditMenuSetFreeBookmark: TIDEMenuCommand;
SrcEditMenuAddBreakpoint: TIDEMenuCommand;
SrcEditMenuRunToCursor: TIDEMenuCommand;
SrcEditMenuAddWatchAtCursor: TIDEMenuCommand;
@ -793,6 +799,10 @@ begin
for I := 0 to 9 do
RegisterIDEMenuCommand(SubSubPath,'GotoBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuNextBookmark:=RegisterIDEMenuCommand(SubSubPath,
'Goto next Bookmark',uemNextBookmark);
SrcEditMenuPrevBookmark:=RegisterIDEMenuCommand(SubSubPath,
'Goto previous Bookmark',uemPrevBookmark);
// register the Set Bookmarks Submenu
SrcEditSubMenuSetBookmarks:=RegisterIDESubMenu(SubPath,'Set bookmarks',
@ -801,6 +811,8 @@ begin
for I := 0 to 9 do
RegisterIDEMenuCommand(SubSubPath,'SetBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i));
SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(SubSubPath,
'Set a free Bookmark',uemSetFreeBookmark);
// register the Debug submenu
SrcEditSubMenuDebug:=RegisterIDESubMenu(SubPath,'Debug',uemDebugWord);
@ -3330,6 +3342,7 @@ begin
SrcEditSubMenuSetBookmarks.FindByName('SetBookmark'+IntToStr(i))
.OnClickMethod:=@BookMarkSetClicked;
end;
SrcEditMenuSetFreeBookmark.OnClickMethod:=@SetFreeBookmarkClicked;
SrcEditMenuNextBookmark.OnClickMethod:=@NextBookmarkClicked;
SrcEditMenuPrevBookmark.OnClickMethod:=@PrevBookmarkClicked;
@ -3473,16 +3486,26 @@ Begin
end;
SrcPopupMenu.Items.Add(SetBookmarkMenuItem);
for I := 0 to 9 do
Begin
SubMenuItem := TMenuItem.Create(Self);
with SubMenuItem do begin
Name:='SubSetBookmarkMenuItem'+IntToStr(I);
Caption := uemBookmarkN+IntToStr(i);
OnClick := @BookmarkSetClicked;
begin
for I := 0 to 9 do
Begin
SubMenuItem := TMenuItem.Create(Self);
with SubMenuItem do begin
Name:='SubSetBookmarkMenuItem'+IntToStr(I);
Caption := uemBookmarkN+IntToStr(i);
OnClick := @BookmarkSetClicked;
end;
SetBookmarkMenuItem.Add(SubMenuItem);
end;
SetBookmarkMenuItem.Add(SubMenuItem);
SetFreeBookmarkMenuItem := TMenuItem.Create(Self);
with SetFreeBookmarkMenuItem do begin
Name:='SetFreeBookmarkMenuItem';
Caption := uemSetFreeBookmark;
OnClick := @BookmarkSetFreeClicked;
end;
SetBookmarkMenuItem.Add(SetFreeBookmarkMenuItem);
end;
SrcPopupMenu.Items.Add(Seperator);
@ -4377,6 +4400,11 @@ Begin
BookMarkSet(MenuItem.MenuIndex);
end;
procedure TSourceNotebook.BookmarkSetFreeClicked(Sender: TObject);
begin
BookMarkSetFree;
end;
Procedure TSourceNotebook.BookMarkGotoClicked(Sender: TObject);
// popup menu goto bookmark clicked
var
@ -4627,6 +4655,17 @@ Begin
GotoBookmarkMenuItem[Value].Checked:=true;
end;
procedure TSourceNotebook.BookMarkSetFree;
var
i: Integer;
begin
for i:=0 to 9 do
if (FindBookmark(i)=nil) then begin
BookMarkSet(i);
exit;
end;
end;
{This is called from outside to set a bookmark}
procedure TSourceNotebook.SetBookmark(Value: Integer);
Begin