ide; simplified interface between ide and call stack panel.
authorRejean Loyer <rejean.loyer@gmail.com>
Tue, 2 Jul 2013 19:09:29 +0000 (15:09 -0400)
committerRejean Loyer <rejean.loyer@gmail.com>
Thu, 4 Jul 2013 18:03:49 +0000 (14:03 -0400)
ide/src/ide.ec
ide/src/panels/CallStackView.ec

index b5c2ef3..43dd3e5 100644 (file)
@@ -486,16 +486,11 @@ class IDEWorkSpace : Window
    {
       parent = this, font = { panelFont.faceName, panelFont.size };
 
-      void OnGotoLine(char * line)
+      void OnSelectFrame(int frameIndex)
       {
-         int stackLvl;
-         stackLvl = atoi(line);
-         ide.debugger.GoToStackFrameLine(stackLvl, true);
-      }
-
-      void OnSelectFrame(int lineNumber)
-      {
-         ide.debugger.SelectFrame(lineNumber);
+         ide.debugger.GoToStackFrameLine(frameIndex, true);
+         if(frameIndex >= 0)
+            ide.debugger.SelectFrame(frameIndex);
       }
 
       void OnToggleBreakpoint()
index fda432f..7544ed0 100644 (file)
@@ -15,8 +15,7 @@ class CallStackView : Window
    anchor = Anchor { left = 0, right = 0.2, top = 0 };
    size.h = 200;
 
-   virtual void OnGotoLine(char * line);
-   virtual void OnSelectFrame(int lineNumber);
+   virtual void OnSelectFrame(int frameIndex);
    virtual void OnToggleBreakpoint();
 
    bool moved, logging;
@@ -33,12 +32,10 @@ class CallStackView : Window
 
       bool NotifyDoubleClick(EditBox editBox, EditLine line, Modifiers mods)
       {
-         OnGotoLine(editBox.line.text);
+         int frameIndex = -1;
          if(strcmp(editBox.line.text, "..."))
-         {
-            int lineNumber = atoi(editBox.line.text);
-            OnSelectFrame(lineNumber);
-         }
+            frameIndex = atoi(editBox.line.text);
+         OnSelectFrame(frameIndex);
          return true;
       }
 
@@ -46,12 +43,10 @@ class CallStackView : Window
       {
          if(key == enter || key == keyPadEnter)
          {
-            OnGotoLine(editBox.line.text);
+            int frameIndex = -1;
             if(strcmp(editBox.line.text, "..."))
-            {
-               int lineNumber = atoi(editBox.line.text);
-               OnSelectFrame(lineNumber);
-            }
+               frameIndex = atoi(editBox.line.text);
+            OnSelectFrame(frameIndex);
             return false;
          }
          if(key == f9)