SVN commit 498306 by rgruber: Removed s_viewLocals state from gdb debugger as discussed on mailinglist a few weeks ago. The decision whether to request locals and params is now done by the VariableTree and no longer by the controller. CCMAIL:kdevelop-devel@kdevelop.org M +1 -2 dbgcontroller.h M +0 -2 debuggerpart.cpp M +8 -30 gdbcontroller.cpp M +0 -1 gdbcontroller.h M +13 -15 variablewidget.cpp M +0 -1 variablewidget.h --- branches/kdevelop/3.4/languages/cpp/debugger/dbgcontroller.h #498305:498306 @@ -48,7 +48,7 @@ s_waitForWrite = 8, s_programExited = 16, s_silent = 32, - s_viewLocals = 64, +// removed s_viewLocals = 64, s_viewBT = 128, s_viewBP = 256, s_attached = 512, @@ -121,7 +121,6 @@ virtual void slotExpandUserItem(ValueCallback* callback, const QString &expression) = 0; virtual void slotSelectFrame(int frame, int thread, bool needFrames) = 0; - virtual void slotSetLocalViewState(bool onOff) = 0; // jw - for optional additional commands and initialization virtual void slotVarItemConstructed(VarItem */*item*/) {} --- branches/kdevelop/3.4/languages/cpp/debugger/debuggerpart.cpp #498305:498306 @@ -554,8 +554,6 @@ controller, SLOT(slotExpandItem(TrimmableItem*))); connect( variableTree, SIGNAL(expandUserItem(ValueCallback*, const QString&)), controller, SLOT(slotExpandUserItem(ValueCallback*, const QString&))); - connect( variableTree, SIGNAL(setLocalViewState(bool)), - controller, SLOT(slotSetLocalViewState(bool))); connect( variableTree, SIGNAL(varItemConstructed(VarItem*)), controller, SLOT(slotVarItemConstructed(VarItem*))); // jw connect( variableTree, SIGNAL(produceVariablesInfo()), --- branches/kdevelop/3.4/languages/cpp/debugger/gdbcontroller.cpp #498305:498306 @@ -429,7 +429,7 @@ // all other commands are disabled. void GDBController::programNoApp(const QString &msg, bool msgBox) { - state_ = (s_appNotStarted|s_programExited|(state_&(s_viewLocals|s_shuttingDown))); + state_ = (s_appNotStarted|s_programExited|s_shuttingDown); destroyCmds(); // We're always at frame zero when the program stops @@ -1588,11 +1588,8 @@ // command queueCmd(new GDBCommand("backtrace", NOTRUNCMD, INFOCMD, BACKTRACE)); - if (stateIsOn(s_viewLocals)) - { - queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); - queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); - } + queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); + queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); } // ************************************************************************** @@ -1610,11 +1607,8 @@ // command queueCmd(new GDBCommand("backtrace", NOTRUNCMD, INFOCMD, BACKTRACE)); - if (stateIsOn(s_viewLocals)) - { - queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); - queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); - } + queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); + queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); } // ************************************************************************** @@ -1973,10 +1967,8 @@ void GDBController::slotProduceVariablesInfo() { - if (stateIsOn(s_viewLocals)) { - queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); - queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); - } + queueCmd(new GDBCommand("info args", NOTRUNCMD, INFOCMD, ARGS)); + queueCmd(new GDBCommand("info local", NOTRUNCMD, INFOCMD, LOCALS)); } // ************************************************************************** @@ -2090,20 +2082,6 @@ // ************************************************************************** -// The user will only get locals if one of the branches to the local tree -// is open. This speeds up stepping through code a great deal. -void GDBController::slotSetLocalViewState(bool onOff) -{ - if (onOff) - setStateOn(s_viewLocals); - else - setStateOff(s_viewLocals); - - kdDebug(9012) << (onOff ? "": "") << endl; -} - -// ************************************************************************** - // Data from gdb gets processed here. void GDBController::slotDbgStdout(KProcess *, char *buf, int buflen) { @@ -2205,7 +2183,7 @@ emit debuggerAbnormalExit(); destroyCmds(); - state_ = s_dbgNotStarted|s_appNotStarted|s_programExited|(state_&(s_viewLocals|s_shuttingDown)); + state_ = (s_dbgNotStarted|s_appNotStarted|s_programExited|s_shuttingDown); emit dbgStatus (i18n("Process exited"), state_); emit gdbStdout("(gdb) Process exited\n"); --- branches/kdevelop/3.4/languages/cpp/debugger/gdbcontroller.h #498305:498306 @@ -121,7 +121,6 @@ void slotExpandUserItem(ValueCallback* callback, const QString &expression); void slotSelectFrame(int frameNo, int threadNo, bool needFrames); - void slotSetLocalViewState(bool onOff); void slotProduceBacktrace(int threadNo); /** Produces information about local variables of the current frame by means of emitting localsReady and parametersReady signals. */ --- branches/kdevelop/3.4/languages/cpp/debugger/variablewidget.cpp #498305:498306 @@ -625,10 +625,13 @@ // will be repopulated if needed. if (frame->needLocals() || justPaused_) { - setActiveFlag(); - // This will eventually call back to slotParametersReady and - // slotLocalsReady - emit produceVariablesInfo(); + if (frame->isOpen()) + { + setActiveFlag(); + // This will eventually call back to slotParametersReady and + // slotLocalsReady + emit produceVariablesInfo(); + } if (justPaused_) { @@ -1201,23 +1204,18 @@ // state. This void VarFrameRoot::setOpen(bool open) { - bool stateChanged = ( isOpen() != open ); + bool frameOpened = ( isOpen()==false && open==true ); QListViewItem::setOpen(open); VariableTree *parent = (VariableTree*)listView(); - if (parent && stateChanged) { - //everytime the open-state changed we need to tell the controller - emit parent->setLocalViewState(open); + if (parent && frameOpened) { + parent->setActiveFlag(); + emit parent->produceVariablesInfo(); } - +/* if (!open) return; - - if (parent && stateChanged) { - //if the open-state changed to OPEN we need to reget the locals - emit parent->produceVariablesInfo(); - } - +*/ if (!params_.isNull()) GDBParser::getGDBParser()->parseCompositeValue(this, params_.data()); if (!locals_.isNull()) --- branches/kdevelop/3.4/languages/cpp/debugger/variablewidget.h #498305:498306 @@ -105,7 +105,6 @@ void toggleWatchpoint(const QString &varName); void expandItem(TrimmableItem *item); void expandUserItem(ValueCallback* callback, const QString &request); - void setLocalViewState(bool localsOn); // Emitted when *this is interested in args and locals for the // current frame. void produceVariablesInfo(); _______________________________________________ KDevelop-devel mailing list KDevelop-devel@barney.cs.uni-potsdam.de http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel