mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-06 22:20:24 +02:00
implemented IDE command ecSetFreeBookmark
git-svn-id: trunk@7579 -
This commit is contained in:
parent
e063082bb7
commit
2fae0d3819
@ -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);
|
||||
|
@ -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';
|
||||
|
@ -157,6 +157,7 @@ type
|
||||
itmJumpHistory: TMenuItem;
|
||||
itmJumpToNextError: TMenuItem;
|
||||
itmJumpToPrevError: TMenuItem;
|
||||
itmSetFreeBookmark: TMenuItem;
|
||||
itmJumpToNextBookmark: TMenuItem;
|
||||
itmJumpToPrevBookmark: TMenuItem;
|
||||
itmFindBlockOtherEnd: TMenuItem;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user