Upgraded the build system for KDE2.
[kdbg.git] / kdbg / dbgmainwnd.h
blob2e4e109ff337979fcca3c8d761fb5e3ecf621ed1
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 class MemoryWindow;
22 struct DbgAddr;
24 class DebuggerMainWnd : public DockMainWindow, public DebuggerMainWndBase
26 Q_OBJECT
27 public:
28 DebuggerMainWnd(const char* name);
29 ~DebuggerMainWnd();
31 protected:
32 // session properties
33 virtual void saveProperties(KConfig*);
34 virtual void readProperties(KConfig*);
35 // settings
36 void saveSettings(KConfig*);
37 void restoreSettings(KConfig*);
39 // statusbar texts
40 void updateLineStatus(int lineNo); /* zero-based line number */
42 void initMenu();
43 void initToolbar();
45 // view windows
46 WinStack* m_filesWindow;
47 QListBox* m_btWindow;
48 ExprWnd* m_localVariables;
49 WatchWindow* m_watches;
50 RegisterView* m_registers;
51 BreakpointTable* m_bpTable;
52 TTYWindow* m_ttyWindow;
53 ThreadList* m_threads;
54 MemoryWindow* m_memoryWindow;
56 // menus
57 QPopupMenu* m_menuFile;
58 QPopupMenu* m_menuView;
59 QPopupMenu* m_menuProgram;
60 QPopupMenu* m_menuBrkpt;
61 QPopupMenu* m_menuWindow;
63 QPopupMenu* m_menuRecentExecutables;
65 QPopupMenu* m_popupLocals;
67 QTimer m_backTimer;
69 protected:
70 virtual void closeEvent(QCloseEvent* e);
71 virtual KToolBar* dbgToolBar();
72 virtual KStatusBar* dbgStatusBar();
73 virtual QWidget* dbgMainWnd();
74 virtual TTYWindow* ttyWindow();
75 virtual QString createOutputWindow();
76 virtual void doGlobalOptions();
78 DockWidget* dockParent(QWidget* w);
79 bool isDockVisible(QWidget* w);
80 bool canChangeDockVisibility(QWidget* w);
81 void showhideWindow(QWidget* w);
82 void dockUpdateHelper(UpdateUI* item, QWidget* w);
83 void intoBackground();
85 QString makeSourceFilter();
86 void fillRecentExecMenu();
88 // to avoid flicker when the status bar is updated,
89 // we store the last string that we put there
90 QString m_lastActiveStatusText;
92 signals:
93 void forwardMenuCallback(int item);
94 void setTabWidth(int tabWidth);
96 public slots:
97 virtual void menuCallback(int item);
98 void updateUIItem(UpdateUI* item);
99 virtual void updateUI();
100 virtual void updateLineItems();
101 void slotFileChanged();
102 void slotLineChanged();
103 void slotAddWatch();
104 void slotNewFileLoaded();
105 void slotNewStatusMsg();
106 void slotAnimationTimeout();
107 void slotDebuggerStarting();
108 void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
109 void slotEnaDisBreak(const QString&, int, const DbgAddr&);
110 void slotTermEmuExited();
111 void slotProgramStopped();
112 void slotBackTimer();
113 void slotRecentExec(int item);
114 void slotLocalsPopup(int item, const QPoint& pt);
115 void slotLocalsToWatch();
118 #endif // DBGMAINWND_H