The driver name is now stored in the per-program config file.
[kdbg.git] / kdbg / dbgmainwnd.h
blob99f925a02d7b9d90f9f887e553b9ba209d6472c7
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 "dockmainwindow.h"
11 #include "mainwndbase.h"
12 #include "regwnd.h"
14 class WinStack;
15 class QPopupMenu;
16 class QListBox;
17 class QCString;
18 class ExprWnd;
19 class DockWidget;
20 class BreakpointTable;
21 class ThreadList;
22 class MemoryWindow;
23 struct DbgAddr;
25 class DebuggerMainWnd : public DockMainWindow, public DebuggerMainWndBase
27 Q_OBJECT
28 public:
29 DebuggerMainWnd(const char* name);
30 ~DebuggerMainWnd();
32 bool debugProgram(const QString& exe, QCString lang);
34 protected:
35 // session properties
36 virtual void saveProperties(KConfig*);
37 virtual void readProperties(KConfig*);
38 // settings
39 void saveSettings(KConfig*);
40 void restoreSettings(KConfig*);
42 // statusbar texts
43 void updateLineStatus(int lineNo); /* zero-based line number */
45 void initMenu();
46 void initFileWndMenus();
47 void initToolbar();
49 // view windows
50 WinStack* m_filesWindow;
51 QListBox* m_btWindow;
52 ExprWnd* m_localVariables;
53 WatchWindow* m_watches;
54 RegisterView* m_registers;
55 BreakpointTable* m_bpTable;
56 TTYWindow* m_ttyWindow;
57 ThreadList* m_threads;
58 MemoryWindow* m_memoryWindow;
60 // menus
61 QPopupMenu* m_menuFile;
62 QPopupMenu* m_menuView;
63 QPopupMenu* m_menuProgram;
64 QPopupMenu* m_menuBrkpt;
65 QPopupMenu* m_menuWindow;
67 QPopupMenu* m_menuRecentExecutables;
69 QPopupMenu* m_popupLocals;
71 // popup menus of the files window
72 QPopupMenu* m_popupFilesEmpty;
73 QPopupMenu* m_popupFiles;
75 QTimer m_backTimer;
77 protected:
78 virtual void closeEvent(QCloseEvent* e);
79 virtual KToolBar* dbgToolBar();
80 virtual KStatusBar* dbgStatusBar();
81 virtual TTYWindow* ttyWindow();
82 virtual QString createOutputWindow();
84 DockWidget* dockParent(QWidget* w);
85 bool isDockVisible(QWidget* w);
86 bool canChangeDockVisibility(QWidget* w);
87 void dockUpdateHelper(UpdateUI* item, QWidget* w);
88 void intoBackground();
90 QString makeSourceFilter();
91 void fillRecentExecMenu();
93 // to avoid flicker when the status bar is updated,
94 // we store the last string that we put there
95 QString m_lastActiveStatusText;
97 signals:
98 void setTabWidth(int tabWidth);
100 public slots:
101 virtual void menuCallback(int item);
102 void updateUIItem(UpdateUI* item);
103 virtual void updateUI();
104 virtual void updateLineItems();
105 void slotFileChanged();
106 void slotLineChanged();
107 void slotAddWatch();
108 void slotNewFileLoaded();
109 void slotNewStatusMsg();
110 void slotAnimationTimeout();
111 void slotDebuggerStarting();
112 void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
113 void slotEnaDisBreak(const QString&, int, const DbgAddr&);
114 void slotTermEmuExited();
115 void slotProgramStopped();
116 void slotBackTimer();
117 void slotRecentExec(int item);
118 void slotLocalsPopup(int item, const QPoint& pt);
119 void slotLocalsToWatch();
121 void slotFileOpen();
122 void slotFileQuit();
123 void slotFileExe();
124 void slotFileCore();
125 void slotFileGlobalSettings();
126 void slotFileProgSettings();
127 void slotViewToolbar();
128 void slotViewStatusbar();
129 void slotExecUntil();
130 void slotExecAttach();
131 void slotExecArgs();
133 void slotFileWndMenu(const QPoint& pos);
134 void slotFileWndEmptyMenu(const QPoint& pos);
137 #endif // DBGMAINWND_H