[Bug 68015] Variables/Watch Window closes on first view in IDEA1 mode

Vladimir Prus ghost at cs.msu.su
Wed Jun 22 15:46:05 UTC 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=68015         
ghost cs msu su changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From ghost cs msu su  2005-06-22 15:44 -------
SVN commit 427960 by vprus:

Improve variables display and frame display views.

1. Do not immediately switch frames and hide framestack widget, when
opening an item corresponding to a frame. Switch frame only when frame
item is explicitly selected.

See
http://barney.cs.uni-potsdam.de/mailman/private/kdevelop-devel/2005-May/033098.html
for rationale.

2. Show only variables for the current frame in variables view

3. Allow to either evaluate an expression, and add it to the list of watched
   expressions.

4. Refactor communication between gdbcontroller and variableswidget to reduce
   the number of direct calls from gdbcontroller to methods of
   variableswidget.

* gdbcontroller.h 
  gdbcontroller.cpp:
  (GDBController::slotProduceBacktrace): New slot. Gets backtrace for
  a thread via "thread apply XXX backtrace" and so doesn't change current
  thread.
  (GDBController::slotProduceVariablesInfo): New slot. Gets info about
  parameters and local variables of a function. 
  (GDBController::parametersReady, GDBController::localsReady): New signals,
  emitted whenever gdb parses the corresponding reply from gdb. 
  (GDBController::currentFrame): New signal, emitted after current frame might
   have changed.  
  (GDBController::actOnProgramPause): Do not issue "info locals". Emit   
  'currentFrame'.
  (GDBController::programNoApp): Don't invoke variablewidget method. Rely
   instead on proper handling of the dbgStatus.
  (GDBController::parseBacktraceList): Don't trim frames in variables view.
   This will be done anyway on first currentFrame signal after program pause.
  (GDBController::parseLocals): Just emit parametersReady and localsReady.
 
* variablewidget.h
  variablewidget.cpp:
  (VariableWidget::slotEvaluateExpression): New slot.
  (VariableTree::setLocalViewState, setCurrentThread): Remove.
  (VariableTree::produceVariablesInfo): New signal.
  (VariableWidget::VariableWidget): Create new "Eval" button.
  (VariableTree::slotDbgStatus): New slot. Trim everything when the
   program no longer exists, and set a flag immediately after restart.
  (VariableTree::slotCurrentFrame): New slot. Hide VarFrameRoot corresponding
  to the previous frame, show the one corresponding to the selected one,
  and populate it with variables if needed.


* framestackwidget.h
  framestackwidget.cpp:
  (FramestackWidget::produceBacktrace): New signal.
  (FramestackWidget::getBacktrace): New method.
  (ThreadStackItem::setOpen): Only fetch backtrace when there are no
  children. Otherwise, when viewedThread_->setOpen(true) is called
  after parsing backtrace we immediately emit another signal.

BUG: 68015
GUI: 


 M  +15 -0     debuggerpart.cpp  
 M  +20 -2     framestackwidget.cpp  
 M  +3 -0      framestackwidget.h  
 M  +28 -73    gdbcontroller.cpp  
 M  +13 -1     gdbcontroller.h  
 M  +224 -58   variablewidget.cpp  
 M  +44 -5     variablewidget.h




More information about the KDevelop-devel mailing list