1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-15 23:04:09 +02:00

Added click to toggle breakpoint, ctrl-click for goto definition

This commit is contained in:
Brian Fiete 2020-03-12 06:53:11 -07:00
parent a18b51f1e3
commit 9102a54ce4
2 changed files with 32 additions and 12 deletions

View file

@ -3688,18 +3688,19 @@ namespace IDE.ui
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;
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 .();
bool hadBreakpoint = false;
@ -3742,7 +3743,7 @@ namespace IDE.ui
int textPos = mEditWidget.Content.CursorTextPos - lineCharIdx;
lineCharIdx = 0;
// Find first non-space char8
// Find first non-space char
while ((textPos < editWidgetContent.mData.mTextLength) && (((char8)editWidgetContent.mData.mText[textPos].mChar).IsWhiteSpace))
{
textPos++;
@ -6134,7 +6135,7 @@ namespace IDE.ui
public int GetLineAt(float x, float y)
{
if (x > GS!(40))
if (x > mEditWidget.mX - GS!(4))
return -1;
DarkEditWidgetContent darkEditWidgetContent = (DarkEditWidgetContent)mEditWidget.Content;
@ -6178,6 +6179,19 @@ namespace IDE.ui
{
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)
{
int lineClick = GetLineAt(x, y);