3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
10 #include "dockmainwindow.h"
11 #include "mainwndbase.h"
19 class BreakpointTable
;
24 class DebuggerMainWnd
: public DockMainWindow
, public DebuggerMainWndBase
28 DebuggerMainWnd(const char* name
);
33 virtual void saveProperties(KConfig
*);
34 virtual void readProperties(KConfig
*);
36 void saveSettings(KConfig
*);
37 void restoreSettings(KConfig
*);
40 void updateLineStatus(int lineNo
); /* zero-based line number */
43 void initFileWndMenus();
47 WinStack
* m_filesWindow
;
49 ExprWnd
* m_localVariables
;
50 WatchWindow
* m_watches
;
51 RegisterView
* m_registers
;
52 BreakpointTable
* m_bpTable
;
53 TTYWindow
* m_ttyWindow
;
54 ThreadList
* m_threads
;
55 MemoryWindow
* m_memoryWindow
;
58 QPopupMenu
* m_menuFile
;
59 QPopupMenu
* m_menuView
;
60 QPopupMenu
* m_menuProgram
;
61 QPopupMenu
* m_menuBrkpt
;
62 QPopupMenu
* m_menuWindow
;
64 QPopupMenu
* m_menuRecentExecutables
;
66 QPopupMenu
* m_popupLocals
;
68 // popup menus of the files window
69 QPopupMenu
* m_popupFilesEmpty
;
70 QPopupMenu
* m_popupFiles
;
75 virtual void closeEvent(QCloseEvent
* e
);
76 virtual KToolBar
* dbgToolBar();
77 virtual KStatusBar
* dbgStatusBar();
78 virtual TTYWindow
* ttyWindow();
79 virtual QString
createOutputWindow();
81 DockWidget
* dockParent(QWidget
* w
);
82 bool isDockVisible(QWidget
* w
);
83 bool canChangeDockVisibility(QWidget
* w
);
84 void dockUpdateHelper(UpdateUI
* item
, QWidget
* w
);
85 void intoBackground();
87 QString
makeSourceFilter();
88 void fillRecentExecMenu();
90 // to avoid flicker when the status bar is updated,
91 // we store the last string that we put there
92 QString m_lastActiveStatusText
;
95 void setTabWidth(int tabWidth
);
98 virtual void menuCallback(int item
);
99 void updateUIItem(UpdateUI
* item
);
100 virtual void updateUI();
101 virtual void updateLineItems();
102 void slotFileChanged();
103 void slotLineChanged();
105 void slotNewFileLoaded();
106 void slotNewStatusMsg();
107 void slotAnimationTimeout();
108 void slotDebuggerStarting();
109 void slotToggleBreak(const QString
&, int, const DbgAddr
&, bool);
110 void slotEnaDisBreak(const QString
&, int, const DbgAddr
&);
111 void slotTermEmuExited();
112 void slotProgramStopped();
113 void slotBackTimer();
114 void slotRecentExec(int item
);
115 void slotLocalsPopup(int item
, const QPoint
& pt
);
116 void slotLocalsToWatch();
122 void slotFileGlobalSettings();
123 void slotFileProgSettings();
124 void slotViewToolbar();
125 void slotViewStatusbar();
126 void slotExecUntil();
127 void slotExecAttach();
130 void slotFileWndMenu(const QPoint
& pos
);
131 void slotFileWndEmptyMenu(const QPoint
& pos
);
134 #endif // DBGMAINWND_H