Display multi-line values as arrays of lines.
[kdbg.git] / kdbg / dbgmainwnd.h
blob599463751081606fa68b1aa94381a10224f7aedb
1 // $Id$
3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
6 #ifndef DBGMAINWND_H
7 #define DBGMAINWND_H
9 #include <qtimer.h>
10 #include <kdockwidget.h>
11 #include "mainwndbase.h"
12 #include "regwnd.h"
14 class KRecentFilesAction;
15 class WinStack;
16 class QListBox;
17 class QCString;
18 class ExprWnd;
19 class BreakpointTable;
20 class ThreadList;
21 class MemoryWindow;
22 struct DbgAddr;
24 class DebuggerMainWnd : public KDockMainWindow, public DebuggerMainWndBase
26 Q_OBJECT
27 public:
28 DebuggerMainWnd(const char* name);
29 ~DebuggerMainWnd();
31 bool debugProgram(const QString& exe, QCString lang);
33 protected:
34 // session properties
35 virtual void saveProperties(KConfig*);
36 virtual void readProperties(KConfig*);
37 // settings
38 void saveSettings(KConfig*);
39 void restoreSettings(KConfig*);
41 // statusbar texts
42 void updateLineStatus(int lineNo); /* zero-based line number */
44 void initToolbar();
45 void initKAction();
47 // view windows
48 WinStack* m_filesWindow;
49 QListBox* m_btWindow;
50 ExprWnd* m_localVariables;
51 WatchWindow* m_watches;
52 RegisterView* m_registers;
53 BreakpointTable* m_bpTable;
54 TTYWindow* m_ttyWindow;
55 ThreadList* m_threads;
56 MemoryWindow* m_memoryWindow;
58 QTimer m_backTimer;
60 // recent execs in File menu
61 KRecentFilesAction* m_recentExecAction;
63 protected:
64 virtual void closeEvent(QCloseEvent* e);
65 virtual TTYWindow* ttyWindow();
66 virtual QString createOutputWindow();
68 KDockWidget* dockParent(QWidget* w);
69 bool isDockVisible(QWidget* w);
70 bool canChangeDockVisibility(QWidget* w);
71 void dockUpdateHelper(QString action, QWidget* w);
72 void fixDockConfig(KConfig* c, bool upgrade);
74 QString makeSourceFilter();
76 // to avoid flicker when the status bar is updated,
77 // we store the last string that we put there
78 QString m_lastActiveStatusText;
80 signals:
81 void setTabWidth(int tabWidth);
83 public slots:
84 virtual void updateUI();
85 virtual void updateLineItems();
86 void slotFileChanged();
87 void slotLineChanged();
88 void slotAddWatch();
89 void slotNewFileLoaded();
90 void slotNewStatusMsg();
91 void slotAnimationTimeout();
92 void slotDebuggerStarting();
93 void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
94 void slotEnaDisBreak(const QString&, int, const DbgAddr&);
95 void slotTermEmuExited();
96 void slotProgramStopped();
97 void slotBackTimer();
98 void slotRecentExec(const KURL& url);
99 void slotLocalsPopup(int item, const QPoint& pt);
100 void slotLocalsToWatch();
101 void slotEditValue();
103 void slotFileOpen();
104 void slotFileQuit();
105 void slotFileExe();
106 void slotFileCore();
107 void slotFileGlobalSettings();
108 void slotFileProgSettings();
109 void slotViewToolbar();
110 void slotViewStatusbar();
111 void slotExecUntil();
112 void slotExecAttach();
113 void slotExecArgs();
114 void intoBackground();
115 void slotConfigureKeys();
117 void slotFileWndMenu(const QPoint& pos);
118 void slotFileWndEmptyMenu(const QPoint& pos);
121 #endif // DBGMAINWND_H