Reworked memory display to have a history of expressions that is saved
[kdbg.git] / kdbg / memwindow.h
blobede3eaf37fd8ff806038c5f2765b611ff444f76e
1 // $Id$
3 // Copyright by Johannes Sixt
4 // This file is under GPL, the GNU General Public Licence
6 #ifndef MEMWINDOW_H
7 #define MEMWINDOW_H
9 #include <qpopupmenu.h>
10 #if QT_VERSION >= 200
11 #include <qmultilineedit.h>
12 #else
13 #include <qmultilinedit.h>
14 #endif
15 #include <qcombobox.h>
16 #include <qlayout.h>
17 #include <qdict.h>
19 class KDebugger;
20 class KSimpleConfig;
22 class MemoryWindow : public QWidget
24 Q_OBJECT
25 public:
26 MemoryWindow(QWidget* parent, const char* name);
27 ~MemoryWindow();
29 void setDebugger(KDebugger* deb) { m_debugger = deb; }
31 protected:
32 KDebugger* m_debugger;
33 QComboBox m_expression;
34 QMultiLineEdit m_memory;
35 QVBoxLayout m_layout;
37 unsigned m_format;
38 QDict<unsigned> m_formatCache;
40 QPopupMenu m_popup;
42 virtual void paletteChange(const QPalette& oldPal);
43 virtual void mousePressEvent(QMouseEvent* ev);
44 virtual bool eventFilter(QObject* o, QEvent* ev);
46 void handlePopup(QMouseEvent* ev);
47 void displayNewExpression(const QString& expr);
49 public slots:
50 void slotNewExpression(const char*);
51 void slotNewExpression(const QString&);
52 void slotTypeChange(int id);
53 void slotNewMemoryDump(const QString&);
54 void saveProgramSpecific(KSimpleConfig* config);
55 void restoreProgramSpecific(KSimpleConfig* config);
58 #endif // MEMWINDOW_H