mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-17 07:44:09 +02:00
Added click to toggle breakpoint, ctrl-click for goto definition
This commit is contained in:
parent
a18b51f1e3
commit
9102a54ce4
2 changed files with 32 additions and 12 deletions
|
@ -2964,6 +2964,12 @@ namespace IDE.ui
|
||||||
var useX = x;
|
var useX = x;
|
||||||
var useY = y;
|
var useY = y;
|
||||||
|
|
||||||
|
if ((btn == 0) && (mWidgetWindow.IsKeyDown(.Control)))
|
||||||
|
{
|
||||||
|
gApp.GoToDefinition();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ((btn == 1) && (mSourceViewPanel != null))
|
if ((btn == 1) && (mSourceViewPanel != null))
|
||||||
{
|
{
|
||||||
#unwarn
|
#unwarn
|
||||||
|
|
|
@ -3688,18 +3688,19 @@ namespace IDE.ui
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int lineIdx;
|
||||||
|
int lineCharIdx;
|
||||||
|
mEditWidget.Content.GetLineCharAtIdx(mEditWidget.Content.CursorTextPos, out lineIdx, out lineCharIdx);
|
||||||
|
return ToggleBreakpointAt(lineIdx, lineCharIdx, setKind, flags, threadId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Breakpoint ToggleBreakpointAt(int lineIdx, int lineCharIdx, Breakpoint.SetKind setKind = .Toggle, Breakpoint.SetFlags flags = .None, int threadId = -1)
|
||||||
|
{
|
||||||
|
var lineIdx;
|
||||||
|
var lineCharIdx;
|
||||||
|
|
||||||
DebugManager debugManager = IDEApp.sApp.mDebugger;
|
DebugManager debugManager = IDEApp.sApp.mDebugger;
|
||||||
|
|
||||||
int lineIdx;
|
|
||||||
int lineCharIdx;
|
|
||||||
mEditWidget.Content.GetLineCharAtIdx(mEditWidget.Content.CursorTextPos, out lineIdx, out lineCharIdx);
|
|
||||||
|
|
||||||
/*let lineAndCol = mEditWidget.Content.CursorLineAndColumn;
|
|
||||||
if (SelectBreakpointsAtLine(lineAndCol.mLine))
|
|
||||||
{
|
|
||||||
gApp.mBreakpointPanel.ConfigureBreakpoints(mWidgetWindow);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
HashSet<Breakpoint> breakpoints = scope .();
|
HashSet<Breakpoint> breakpoints = scope .();
|
||||||
|
|
||||||
bool hadBreakpoint = false;
|
bool hadBreakpoint = false;
|
||||||
|
@ -3742,7 +3743,7 @@ namespace IDE.ui
|
||||||
int textPos = mEditWidget.Content.CursorTextPos - lineCharIdx;
|
int textPos = mEditWidget.Content.CursorTextPos - lineCharIdx;
|
||||||
lineCharIdx = 0;
|
lineCharIdx = 0;
|
||||||
|
|
||||||
// Find first non-space char8
|
// Find first non-space char
|
||||||
while ((textPos < editWidgetContent.mData.mTextLength) && (((char8)editWidgetContent.mData.mText[textPos].mChar).IsWhiteSpace))
|
while ((textPos < editWidgetContent.mData.mTextLength) && (((char8)editWidgetContent.mData.mText[textPos].mChar).IsWhiteSpace))
|
||||||
{
|
{
|
||||||
textPos++;
|
textPos++;
|
||||||
|
@ -6134,7 +6135,7 @@ namespace IDE.ui
|
||||||
|
|
||||||
public int GetLineAt(float x, float y)
|
public int GetLineAt(float x, float y)
|
||||||
{
|
{
|
||||||
if (x > GS!(40))
|
if (x > mEditWidget.mX - GS!(4))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
DarkEditWidgetContent darkEditWidgetContent = (DarkEditWidgetContent)mEditWidget.Content;
|
DarkEditWidgetContent darkEditWidgetContent = (DarkEditWidgetContent)mEditWidget.Content;
|
||||||
|
@ -6178,6 +6179,19 @@ namespace IDE.ui
|
||||||
{
|
{
|
||||||
base.MouseClicked(x, y, btn);
|
base.MouseClicked(x, y, btn);
|
||||||
|
|
||||||
|
if (btn == 0)
|
||||||
|
{
|
||||||
|
if ((x >= GS!(3)) && (x < mEditWidget.mX - GS!(8)))
|
||||||
|
{
|
||||||
|
int lineClick = GetLineAt(x, y);
|
||||||
|
if (lineClick >= 0)
|
||||||
|
{
|
||||||
|
ToggleBreakpointAt(lineClick, 0);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (btn == 1)
|
if (btn == 1)
|
||||||
{
|
{
|
||||||
int lineClick = GetLineAt(x, y);
|
int lineClick = GetLineAt(x, y);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue