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
);
31 bool debugProgram(const QString
& exe
);
35 virtual void saveProperties(KConfig
*);
36 virtual void readProperties(KConfig
*);
38 void saveSettings(KConfig
*);
39 void restoreSettings(KConfig
*);
42 void updateLineStatus(int lineNo
); /* zero-based line number */
45 void initFileWndMenus();
49 WinStack
* m_filesWindow
;
51 ExprWnd
* m_localVariables
;
52 WatchWindow
* m_watches
;
53 RegisterView
* m_registers
;
54 BreakpointTable
* m_bpTable
;
55 TTYWindow
* m_ttyWindow
;
56 ThreadList
* m_threads
;
57 MemoryWindow
* m_memoryWindow
;
60 QPopupMenu
* m_menuFile
;
61 QPopupMenu
* m_menuView
;
62 QPopupMenu
* m_menuProgram
;
63 QPopupMenu
* m_menuBrkpt
;
64 QPopupMenu
* m_menuWindow
;
66 QPopupMenu
* m_menuRecentExecutables
;
68 QPopupMenu
* m_popupLocals
;
70 // popup menus of the files window
71 QPopupMenu
* m_popupFilesEmpty
;
72 QPopupMenu
* m_popupFiles
;
77 virtual void closeEvent(QCloseEvent
* e
);
78 virtual KToolBar
* dbgToolBar();
79 virtual KStatusBar
* dbgStatusBar();
80 virtual TTYWindow
* ttyWindow();
81 virtual QString
createOutputWindow();
83 DockWidget
* dockParent(QWidget
* w
);
84 bool isDockVisible(QWidget
* w
);
85 bool canChangeDockVisibility(QWidget
* w
);
86 void dockUpdateHelper(UpdateUI
* item
, QWidget
* w
);
87 void intoBackground();
89 QString
makeSourceFilter();
90 void fillRecentExecMenu();
92 // to avoid flicker when the status bar is updated,
93 // we store the last string that we put there
94 QString m_lastActiveStatusText
;
97 void setTabWidth(int tabWidth
);
100 virtual void menuCallback(int item
);
101 void updateUIItem(UpdateUI
* item
);
102 virtual void updateUI();
103 virtual void updateLineItems();
104 void slotFileChanged();
105 void slotLineChanged();
107 void slotNewFileLoaded();
108 void slotNewStatusMsg();
109 void slotAnimationTimeout();
110 void slotDebuggerStarting();
111 void slotToggleBreak(const QString
&, int, const DbgAddr
&, bool);
112 void slotEnaDisBreak(const QString
&, int, const DbgAddr
&);
113 void slotTermEmuExited();
114 void slotProgramStopped();
115 void slotBackTimer();
116 void slotRecentExec(int item
);
117 void slotLocalsPopup(int item
, const QPoint
& pt
);
118 void slotLocalsToWatch();
124 void slotFileGlobalSettings();
125 void slotFileProgSettings();
126 void slotViewToolbar();
127 void slotViewStatusbar();
128 void slotExecUntil();
129 void slotExecAttach();
132 void slotFileWndMenu(const QPoint
& pos
);
133 void slotFileWndEmptyMenu(const QPoint
& pos
);
136 #endif // DBGMAINWND_H