summaryrefslogtreecommitdiffstats
path: root/kdbg/dbgmainwnd.h
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2013-07-03 01:47:30 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-07-03 01:47:30 +0200
commit239e873a38fa91a3fbd27e134bda015922abbabd (patch)
treed7c79f740bce93768ee78b6b787c83a2115b047f /kdbg/dbgmainwnd.h
downloadkdbg-239e873a38fa91a3fbd27e134bda015922abbabd.tar.gz
kdbg-239e873a38fa91a3fbd27e134bda015922abbabd.zip
Initial import
Diffstat (limited to 'kdbg/dbgmainwnd.h')
-rw-r--r--kdbg/dbgmainwnd.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/kdbg/dbgmainwnd.h b/kdbg/dbgmainwnd.h
new file mode 100644
index 0000000..cac766b
--- /dev/null
+++ b/kdbg/dbgmainwnd.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef DBGMAINWND_H
+#define DBGMAINWND_H
+
+#include <qtimer.h>
+#include <kdockwidget.h>
+#include "mainwndbase.h"
+#include "regwnd.h"
+
+class KRecentFilesAction;
+class WinStack;
+class QListBox;
+class QCString;
+class ExprWnd;
+class BreakpointTable;
+class ThreadList;
+class MemoryWindow;
+struct DbgAddr;
+
+class DebuggerMainWnd : public KDockMainWindow, public DebuggerMainWndBase
+{
+ Q_OBJECT
+public:
+ DebuggerMainWnd(const char* name);
+ ~DebuggerMainWnd();
+
+ bool debugProgram(const QString& exe, const QString& lang);
+
+protected:
+ // session properties
+ virtual void saveProperties(KConfig*);
+ virtual void readProperties(KConfig*);
+ // settings
+ void saveSettings(KConfig*);
+ void restoreSettings(KConfig*);
+
+ void initToolbar();
+ void initKAction();
+
+ // view windows
+ WinStack* m_filesWindow;
+ QListBox* m_btWindow;
+ ExprWnd* m_localVariables;
+ WatchWindow* m_watches;
+ RegisterView* m_registers;
+ BreakpointTable* m_bpTable;
+ TTYWindow* m_ttyWindow;
+ ThreadList* m_threads;
+ MemoryWindow* m_memoryWindow;
+
+ QTimer m_backTimer;
+
+ // recent execs in File menu
+ KRecentFilesAction* m_recentExecAction;
+
+protected:
+ virtual bool queryClose();
+ virtual TTYWindow* ttyWindow();
+ virtual QString createOutputWindow();
+
+ KDockWidget* dockParent(QWidget* w);
+ bool isDockVisible(QWidget* w);
+ bool canChangeDockVisibility(QWidget* w);
+ void dockUpdateHelper(QString action, QWidget* w);
+ void fixDockConfig(KConfig* c, bool upgrade);
+
+ QString makeSourceFilter();
+
+ // to avoid flicker when the status bar is updated,
+ // we store the last string that we put there
+ QString m_lastActiveStatusText;
+ bool m_animRunning;
+
+signals:
+ void setTabWidth(int tabWidth);
+
+public slots:
+ virtual void updateUI();
+ virtual void updateLineItems();
+ void slotAddWatch();
+ void slotAddWatch(const QString& text);
+ void slotNewFileLoaded();
+ void slotNewStatusMsg();
+ void slotDebuggerStarting();
+ void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
+ void slotEnaDisBreak(const QString&, int, const DbgAddr&);
+ void slotTermEmuExited();
+ void slotProgramStopped();
+ void slotBackTimer();
+ void slotRecentExec(const KURL& url);
+ void slotLocalsPopup(QListViewItem*, const QPoint& pt);
+ void slotLocalsToWatch();
+ void slotEditValue();
+
+ void slotFileOpen();
+ void slotFileExe();
+ void slotFileCore();
+ void slotFileGlobalSettings();
+ void slotFileProgSettings();
+ void slotViewStatusbar();
+ void slotExecUntil();
+ void slotExecAttach();
+ void slotExecArgs();
+ void intoBackground();
+ void slotConfigureKeys();
+};
+
+#endif // DBGMAINWND_H