3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
10 #include "dockmainwindow.h"
11 #include "mainwndbase.h"
20 class BreakpointTable
;
25 class DebuggerMainWnd
: public DockMainWindow
, public DebuggerMainWndBase
29 DebuggerMainWnd(const char* name
);
32 bool debugProgram(const QString
& exe
, QCString lang
);
36 virtual void saveProperties(KConfig
*);
37 virtual void readProperties(KConfig
*);
39 void saveSettings(KConfig
*);
40 void restoreSettings(KConfig
*);
43 void updateLineStatus(int lineNo
); /* zero-based line number */
46 void initFileWndMenus();
50 WinStack
* m_filesWindow
;
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
;
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
;
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
;
98 void setTabWidth(int tabWidth
);
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();
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();
125 void slotFileGlobalSettings();
126 void slotFileProgSettings();
127 void slotViewToolbar();
128 void slotViewStatusbar();
129 void slotExecUntil();
130 void slotExecAttach();
133 void slotFileWndMenu(const QPoint
& pos
);
134 void slotFileWndEmptyMenu(const QPoint
& pos
);
137 #endif // DBGMAINWND_H