Added a Recent Executables menu.
[kdbg.git] / kdbg / dbgmainwnd.h
blob4b550a2ccd7a5e9461dd3d66438dc5c667d80a80
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 ExprWnd;
18 class DockWidget;
19 class BreakpointTable;
20 class ThreadList;
21 struct DbgAddr;
23 class DebuggerMainWnd : public DockMainWindow, public DebuggerMainWndBase
25 Q_OBJECT
26 public:
27 DebuggerMainWnd(const char* name);
28 ~DebuggerMainWnd();
30 protected:
31 // session properties
32 virtual void saveProperties(KConfig*);
33 virtual void readProperties(KConfig*);
34 // settings
35 void saveSettings(KConfig*);
36 void restoreSettings(KConfig*);
38 // statusbar texts
39 void updateLineStatus(int lineNo); /* zero-based line number */
41 void initMenu();
42 void initToolbar();
44 // view windows
45 WinStack* m_filesWindow;
46 QListBox* m_btWindow;
47 ExprWnd* m_localVariables;
48 WatchWindow* m_watches;
49 RegisterView* m_registers;
50 BreakpointTable* m_bpTable;
51 TTYWindow* m_ttyWindow;
52 ThreadList* m_threads;
54 // menus
55 QPopupMenu* m_menuFile;
56 QPopupMenu* m_menuView;
57 QPopupMenu* m_menuProgram;
58 QPopupMenu* m_menuBrkpt;
59 QPopupMenu* m_menuWindow;
61 QPopupMenu* m_menuRecentExecutables;
63 QTimer m_backTimer;
65 protected:
66 virtual void closeEvent(QCloseEvent* e);
67 virtual KToolBar* dbgToolBar();
68 virtual KStatusBar* dbgStatusBar();
69 virtual QWidget* dbgMainWnd();
70 virtual TTYWindow* ttyWindow();
71 virtual QString createOutputWindow();
72 virtual void doGlobalOptions();
74 DockWidget* dockParent(QWidget* w);
75 bool isDockVisible(QWidget* w);
76 bool canChangeDockVisibility(QWidget* w);
77 void showhideWindow(QWidget* w);
78 void dockUpdateHelper(UpdateUI* item, QWidget* w);
79 void intoBackground();
81 QString makeSourceFilter();
82 void fillRecentExecMenu();
84 signals:
85 void forwardMenuCallback(int item);
86 void setTabWidth(int tabWidth);
88 public slots:
89 virtual void menuCallback(int item);
90 void updateUIItem(UpdateUI* item);
91 virtual void updateUI();
92 virtual void updateLineItems();
93 void slotFileChanged();
94 void slotLineChanged();
95 void slotAddWatch();
96 void slotNewFileLoaded();
97 void slotNewStatusMsg();
98 void slotAnimationTimeout();
99 void slotDebuggerStarting();
100 void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
101 void slotEnaDisBreak(const QString&, int, const DbgAddr&);
102 void slotTermEmuExited();
103 void slotProgramStopped();
104 void slotBackTimer();
105 void slotRecentExec(int item);
108 #endif // DBGMAINWND_H