summaryrefslogtreecommitdiffstats
path: root/utils/regtools/qeditor/regdisplaypanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/regtools/qeditor/regdisplaypanel.h')
-rw-r--r--utils/regtools/qeditor/regdisplaypanel.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/utils/regtools/qeditor/regdisplaypanel.h b/utils/regtools/qeditor/regdisplaypanel.h
new file mode 100644
index 0000000000..444f3615f2
--- /dev/null
+++ b/utils/regtools/qeditor/regdisplaypanel.h
@@ -0,0 +1,77 @@
+#ifndef REGDISPLAYPANEL_H
+#define REGDISPLAYPANEL_H
+
+#include <QVBoxLayout>
+#include <QLabel>
+#include <QGroupBox>
+#include <QTableWidget>
+#include <QStyledItemDelegate>
+#include <QItemEditorCreatorBase>
+#include <QTextEdit>
+#include <QScrollArea>
+#include <soc_desc.hpp>
+#include "backend.h"
+#include "settings.h"
+#include "aux.h"
+#include "regtab.h"
+
+class RegItemEditorCreator : public QItemEditorCreatorBase
+{
+public:
+ RegItemEditorCreator() {}
+ virtual QWidget *createWidget(QWidget * parent) const;
+ virtual QByteArray valuePropertyName () const;
+};
+
+class DevDisplayPanel : public QGroupBox, public RegTabPanel
+{
+ Q_OBJECT
+public:
+ DevDisplayPanel(QWidget *parent, const SocDevRef& reg);
+ void Reload();
+ void AllowWrite(bool en);
+ QWidget *GetWidget();
+ bool Quit();
+
+protected:
+
+ const SocDevRef& m_dev;
+ QFont m_reg_font;
+ QLabel *m_name;
+ QLabel *m_desc;
+};
+
+class RegDisplayPanel : public QGroupBox, public RegTabPanel
+{
+ Q_OBJECT
+public:
+ RegDisplayPanel(QWidget *parent, IoBackend *io_backend, const SocRegRef& reg);
+ ~RegDisplayPanel();
+ void AllowWrite(bool en);
+ void Reload();
+ QWidget *GetWidget();
+ bool Quit();
+
+protected:
+ IoBackend::WriteMode EditModeToWriteMode(RegLineEdit::EditMode mode);
+
+ IoBackend *m_io_backend;
+ const SocRegRef& m_reg;
+ bool m_allow_write;
+ RegLineEdit *m_raw_val_edit;
+ RegSexyDisplay *m_sexy_display;
+ GrowingTableWidget *m_value_table;
+ QStyledItemDelegate *m_table_delegate;
+ QItemEditorFactory *m_table_edit_factory;
+ RegItemEditorCreator *m_regedit_creator;
+ QLabel *m_raw_val_name;
+ QFont m_reg_font;
+ QLabel *m_desc;
+ QWidget *m_viewport;
+ QScrollArea *m_scroll;
+
+private slots:
+ void OnRawRegValueReturnPressed();
+};
+
+#endif /* REGDISPLAYPANEL_H */