3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
10 #include <kdockwidget.h>
11 #include "mainwndbase.h"
14 class KRecentFilesAction
;
19 class BreakpointTable
;
24 class DebuggerMainWnd
: public KDockMainWindow
, public DebuggerMainWndBase
28 DebuggerMainWnd(const char* name
);
31 bool debugProgram(const QString
& exe
, QCString lang
);
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 */
48 WinStack
* m_filesWindow
;
50 ExprWnd
* m_localVariables
;
51 WatchWindow
* m_watches
;
52 RegisterView
* m_registers
;
53 BreakpointTable
* m_bpTable
;
54 TTYWindow
* m_ttyWindow
;
55 ThreadList
* m_threads
;
56 MemoryWindow
* m_memoryWindow
;
60 // recent execs in File menu
61 KRecentFilesAction
* m_recentExecAction
;
64 virtual void closeEvent(QCloseEvent
* e
);
65 virtual TTYWindow
* ttyWindow();
66 virtual QString
createOutputWindow();
68 KDockWidget
* dockParent(QWidget
* w
);
69 bool isDockVisible(QWidget
* w
);
70 bool canChangeDockVisibility(QWidget
* w
);
71 void dockUpdateHelper(QString action
, QWidget
* w
);
72 void fixDockConfig(KConfig
* c
, bool upgrade
);
74 QString
makeSourceFilter();
76 // to avoid flicker when the status bar is updated,
77 // we store the last string that we put there
78 QString m_lastActiveStatusText
;
81 void setTabWidth(int tabWidth
);
84 virtual void updateUI();
85 virtual void updateLineItems();
86 void slotFileChanged();
87 void slotLineChanged();
89 void slotNewFileLoaded();
90 void slotNewStatusMsg();
91 void slotAnimationTimeout();
92 void slotDebuggerStarting();
93 void slotToggleBreak(const QString
&, int, const DbgAddr
&, bool);
94 void slotEnaDisBreak(const QString
&, int, const DbgAddr
&);
95 void slotTermEmuExited();
96 void slotProgramStopped();
98 void slotRecentExec(const KURL
& url
);
99 void slotLocalsPopup(int item
, const QPoint
& pt
);
100 void slotLocalsToWatch();
101 void slotEditValue();
107 void slotFileGlobalSettings();
108 void slotFileProgSettings();
109 void slotViewToolbar();
110 void slotViewStatusbar();
111 void slotExecUntil();
112 void slotExecAttach();
114 void intoBackground();
115 void slotConfigureKeys();
117 void slotFileWndMenu(const QPoint
& pos
);
118 void slotFileWndEmptyMenu(const QPoint
& pos
);
121 #endif // DBGMAINWND_H