diff options
Diffstat (limited to 'src/osd/modules/debugger/qt/deviceswindow.h')
-rw-r--r-- | src/osd/modules/debugger/qt/deviceswindow.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/osd/modules/debugger/qt/deviceswindow.h b/src/osd/modules/debugger/qt/deviceswindow.h new file mode 100644 index 00000000000..bf647b27ec5 --- /dev/null +++ b/src/osd/modules/debugger/qt/deviceswindow.h @@ -0,0 +1,79 @@ +#ifndef __DEBUG_QT_DEVICES_WINDOW_H__ +#define __DEBUG_QT_DEVICES_WINDOW_H__ + +#include <QtGui/QtGui> + +#include "windowqt.h" + + +//============================================================ +// The model for the treeview +//============================================================ + +class DevicesWindowModel : public QAbstractItemModel +{ + Q_OBJECT + +public: + explicit DevicesWindowModel(running_machine *machine, QObject *parent = 0); + ~DevicesWindowModel(); + + QVariant data(const QModelIndex &index, int role) const; + Qt::ItemFlags flags(const QModelIndex &index) const; + QVariant headerData(int section, Qt::Orientation orientation, + int role = Qt::DisplayRole) const; + QModelIndex index(int row, int column, + const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &index) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + +private: + running_machine *m_machine; +}; + +//============================================================ +// The Devices Window. +//============================================================ +class DevicesWindow : public WindowQt +{ + Q_OBJECT + +public: + DevicesWindow(running_machine* machine, QWidget* parent=NULL); + virtual ~DevicesWindow(); + +public slots: + void currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous); + void activated(const QModelIndex &index); + +private: + QTreeView *m_devices_view; + DevicesWindowModel m_devices_model; + device_t *m_selected_device; +}; + + + + +//========================================================================= +// A way to store the configuration of a window long enough to read/write. +//========================================================================= +class DevicesWindowQtConfig : public WindowQtConfig +{ +public: + DevicesWindowQtConfig() : + WindowQtConfig(WIN_TYPE_DEVICES) + { + } + + ~DevicesWindowQtConfig() {} + + void buildFromQWidget(QWidget* widget); + void applyToQWidget(QWidget* widget); + void addToXmlDataNode(xml_data_node* node) const; + void recoverFromXmlNode(xml_data_node* node); +}; + + +#endif |