mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 21:55:56 +02:00
MG: implemented Ctrl+Mouse links in source editor
git-svn-id: trunk@2943 -
This commit is contained in:
parent
92f4faa298
commit
7098e27f83
@ -126,11 +126,14 @@ type
|
|||||||
FVisible : Boolean;
|
FVisible : Boolean;
|
||||||
FOnMouseMove: TMouseMoveEvent;
|
FOnMouseMove: TMouseMoveEvent;
|
||||||
FOnMouseDown: TMouseEvent;
|
FOnMouseDown: TMouseEvent;
|
||||||
|
FOnMouseUp: TMouseEvent;
|
||||||
FOnKeyDown: TKeyEvent;
|
FOnKeyDown: TKeyEvent;
|
||||||
|
|
||||||
Procedure EditorMouseMoved(Sender: TObject; Shift: TShiftState; X,Y:Integer);
|
Procedure EditorMouseMoved(Sender: TObject; Shift: TShiftState; X,Y:Integer);
|
||||||
Procedure EditorMouseDown(Sender: TObject; Button: TMouseButton;
|
Procedure EditorMouseDown(Sender: TObject; Button: TMouseButton;
|
||||||
Shift: TShiftState; X,Y: Integer);
|
Shift: TShiftState; X,Y: Integer);
|
||||||
|
Procedure EditorMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X,Y: Integer);
|
||||||
Procedure EditorKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
Procedure EditorKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
Function GetWordFromCaret(CaretPos : TPoint) : String;
|
Function GetWordFromCaret(CaretPos : TPoint) : String;
|
||||||
procedure SetCodeBuffer(NewCodeBuffer: TCodeBuffer);
|
procedure SetCodeBuffer(NewCodeBuffer: TCodeBuffer);
|
||||||
@ -264,6 +267,7 @@ type
|
|||||||
read FOnDeleteBreakPoint write FOnDeleteBreakPoint;
|
read FOnDeleteBreakPoint write FOnDeleteBreakPoint;
|
||||||
property OnMouseMove : TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
|
property OnMouseMove : TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
|
||||||
property OnMouseDown : TMouseEvent read FOnMouseDown write FOnMouseDown;
|
property OnMouseDown : TMouseEvent read FOnMouseDown write FOnMouseDown;
|
||||||
|
property OnMouseUp : TMouseEvent read FOnMouseUp write FOnMouseUp;
|
||||||
property OnKeyDown : TKeyEvent read FOnKeyDown write FOnKeyDown;
|
property OnKeyDown : TKeyEvent read FOnKeyDown write FOnKeyDown;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -297,6 +301,7 @@ type
|
|||||||
private
|
private
|
||||||
FMainIDE : TComponent;
|
FMainIDE : TComponent;
|
||||||
FFormEditor : TFormEditor;
|
FFormEditor : TFormEditor;
|
||||||
|
FOnCtrlMouseUp: TMouseEvent;
|
||||||
FSourceEditorList : TList; // list of TSourceEditor
|
FSourceEditorList : TList; // list of TSourceEditor
|
||||||
FCodeTemplateModul: TSynEditAutoComplete;
|
FCodeTemplateModul: TSynEditAutoComplete;
|
||||||
FKeyStrokes: TSynEditKeyStrokes;
|
FKeyStrokes: TSynEditKeyStrokes;
|
||||||
@ -365,9 +370,12 @@ type
|
|||||||
FHintWindow : THintWindow;
|
FHintWindow : THintWindow;
|
||||||
FHintTimer : TTimer;
|
FHintTimer : TTimer;
|
||||||
Procedure HintTimer(sender : TObject);
|
Procedure HintTimer(sender : TObject);
|
||||||
Procedure EditorMouseMove(Sender : TObject; Shift: TShiftstate; X,Y : Integer);
|
Procedure EditorMouseMove(Sender : TObject; Shift: TShiftstate;
|
||||||
|
X,Y : Integer);
|
||||||
Procedure EditorMouseDown(Sender : TObject; Button : TMouseButton;
|
Procedure EditorMouseDown(Sender : TObject; Button : TMouseButton;
|
||||||
Shift: TShiftstate; X,Y : Integer);
|
Shift: TShiftstate; X,Y : Integer);
|
||||||
|
Procedure EditorMouseUp(Sender : TObject; Button : TMouseButton;
|
||||||
|
Shift: TShiftstate; X,Y : Integer);
|
||||||
|
|
||||||
Procedure NextEditor;
|
Procedure NextEditor;
|
||||||
Procedure PrevEditor;
|
Procedure PrevEditor;
|
||||||
@ -461,7 +469,10 @@ type
|
|||||||
GotoBookmarkMenuItem : TMenuItem;
|
GotoBookmarkMenuItem : TMenuItem;
|
||||||
property OnAddJumpPoint: TOnAddJumpPoint
|
property OnAddJumpPoint: TOnAddJumpPoint
|
||||||
read FOnAddJumpPoint write FOnAddJumpPoint;
|
read FOnAddJumpPoint write FOnAddJumpPoint;
|
||||||
property OnCloseClicked : TNotifyEvent read FOnCloseClicked write FOnCloseClicked;
|
property OnCloseClicked : TNotifyEvent
|
||||||
|
read FOnCloseClicked write FOnCloseClicked;
|
||||||
|
property OnCtrlMouseUp: TMouseEvent
|
||||||
|
read FOnCtrlMouseUp write FOnCtrlMouseUp;
|
||||||
property OnDeleteLastJumpPoint: TNotifyEvent
|
property OnDeleteLastJumpPoint: TNotifyEvent
|
||||||
read FOnDeleteLastJumpPoint write FOnDeleteLastJumpPoint;
|
read FOnDeleteLastJumpPoint write FOnDeleteLastJumpPoint;
|
||||||
property OnEditorVisibleChanged: TNotifyEvent
|
property OnEditorVisibleChanged: TNotifyEvent
|
||||||
@ -474,15 +485,18 @@ type
|
|||||||
read FOnFindDeclarationClicked write FOnFindDeclarationClicked;
|
read FOnFindDeclarationClicked write FOnFindDeclarationClicked;
|
||||||
property OnJumpToHistoryPoint: TOnJumpToHistoryPoint
|
property OnJumpToHistoryPoint: TOnJumpToHistoryPoint
|
||||||
read FOnJumpToHistoryPoint write FOnJumpToHistoryPoint;
|
read FOnJumpToHistoryPoint write FOnJumpToHistoryPoint;
|
||||||
property OnNewClicked : TNotifyEvent read FOnNewClicked write FOnNewClicked;
|
property OnNewClicked : TNotifyEvent
|
||||||
property OnOpenClicked : TNotifyEvent read FOnOPenClicked write FOnOpenClicked;
|
read FOnNewClicked write FOnNewClicked;
|
||||||
|
property OnOpenClicked : TNotifyEvent
|
||||||
|
read FOnOPenClicked write FOnOpenClicked;
|
||||||
property OnOpenFileAtCursorClicked : TNotifyEvent
|
property OnOpenFileAtCursorClicked : TNotifyEvent
|
||||||
read FOnOpenFileAtCursorClicked write FOnOpenFileAtCursorClicked;
|
read FOnOpenFileAtCursorClicked write FOnOpenFileAtCursorClicked;
|
||||||
property OnSaveAsClicked : TNotifyEvent
|
property OnSaveAsClicked : TNotifyEvent
|
||||||
read FOnSaveAsClicked write FOnSaveAsClicked;
|
read FOnSaveAsClicked write FOnSaveAsClicked;
|
||||||
property OnSaveAllClicked : TNotifyEvent
|
property OnSaveAllClicked : TNotifyEvent
|
||||||
read FOnSaveAllClicked write FOnSaveAllClicked;
|
read FOnSaveAllClicked write FOnSaveAllClicked;
|
||||||
property OnSaveClicked : TNotifyEvent read FOnSaveClicked write FOnSaveClicked;
|
property OnSaveClicked : TNotifyEvent
|
||||||
|
read FOnSaveClicked write FOnSaveClicked;
|
||||||
property OnShowUnitInfo: TNotifyEvent
|
property OnShowUnitInfo: TNotifyEvent
|
||||||
read FOnShowUnitInfo write FOnShowUnitInfo;
|
read FOnShowUnitInfo write FOnShowUnitInfo;
|
||||||
property OnToggleFormUnitClicked : TNotifyEvent
|
property OnToggleFormUnitClicked : TNotifyEvent
|
||||||
@ -1166,6 +1180,7 @@ Begin
|
|||||||
Result:=true;
|
Result:=true;
|
||||||
SetSyntaxHighlighterType(fSyntaxHighlighterType);
|
SetSyntaxHighlighterType(fSyntaxHighlighterType);
|
||||||
EditorOpts.GetSynEditSettings(FEditor);
|
EditorOpts.GetSynEditSettings(FEditor);
|
||||||
|
FEditor.Options:=FEditor.Options+[eoShowCtrlMouseLinks];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure TSourceEditor.ccAddMessage(Texts : String);
|
Procedure TSourceEditor.ccAddMessage(Texts : String);
|
||||||
@ -1207,6 +1222,7 @@ Begin
|
|||||||
OnSpecialLineColors:=@OnEditorSpecialLineColor;
|
OnSpecialLineColors:=@OnEditorSpecialLineColor;
|
||||||
OnMouseMove := @EditorMouseMoved;
|
OnMouseMove := @EditorMouseMoved;
|
||||||
OnMouseDown := @EditorMouseDown;
|
OnMouseDown := @EditorMouseDown;
|
||||||
|
OnMouseUp := @EditorMouseUp;
|
||||||
OnKeyDown := @EditorKeyDown;
|
OnKeyDown := @EditorKeyDown;
|
||||||
Visible:=true;
|
Visible:=true;
|
||||||
end;
|
end;
|
||||||
@ -1513,6 +1529,13 @@ begin
|
|||||||
OnMouseDown(Sender, Button, Shift, X,Y);
|
OnMouseDown(Sender, Button, Shift, X,Y);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSourceEditor.EditorMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if Assigned(OnMouseUp) then
|
||||||
|
OnMouseUp(Sender, Button, Shift, X,Y);
|
||||||
|
end;
|
||||||
|
|
||||||
Procedure TSourceEditor.EditorKeyDown(Sender : TObject; var Key : Word; Shift :
|
Procedure TSourceEditor.EditorKeyDown(Sender : TObject; var Key : Word; Shift :
|
||||||
TShiftState);
|
TShiftState);
|
||||||
begin
|
begin
|
||||||
@ -2439,6 +2462,7 @@ Begin
|
|||||||
Result.OnEditorChange := @EditorChanged;
|
Result.OnEditorChange := @EditorChanged;
|
||||||
Result.OnMouseMove := @EditorMouseMove;
|
Result.OnMouseMove := @EditorMouseMove;
|
||||||
Result.OnMouseDown := @EditorMouseDown;
|
Result.OnMouseDown := @EditorMouseDown;
|
||||||
|
Result.OnMouseUp := @EditorMouseUp;
|
||||||
Result.OnCreateBreakPoint := @BreakPointCreated;
|
Result.OnCreateBreakPoint := @BreakPointCreated;
|
||||||
Result.OnDeleteBreakPoint := @BreakPointDeleted;
|
Result.OnDeleteBreakPoint := @BreakPointDeleted;
|
||||||
{$IFDEF IDE_DEBUG}
|
{$IFDEF IDE_DEBUG}
|
||||||
@ -3313,6 +3337,20 @@ begin
|
|||||||
FHintTimer.Enabled := False;
|
FHintTimer.Enabled := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSourceNotebook.EditorMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftstate; X, Y: Integer);
|
||||||
|
var Handled: boolean;
|
||||||
|
begin
|
||||||
|
if GetKeyShiftState=[ssCtrl] then begin
|
||||||
|
// Control+MouseUp = Find Declaration
|
||||||
|
if Assigned(FOnCtrlMouseUp) then begin
|
||||||
|
Handled:=false;
|
||||||
|
FOnCtrlMouseUp(Sender,Button,Shift,X,Y);
|
||||||
|
if Handled then ;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
Procedure TSourceNotebook.AddWatchAtCursor(Sender : TObject);
|
Procedure TSourceNotebook.AddWatchAtCursor(Sender : TObject);
|
||||||
begin
|
begin
|
||||||
if Assigned(OnAddWatchAtCursor) then
|
if Assigned(OnAddWatchAtCursor) then
|
||||||
|
Loading…
Reference in New Issue
Block a user