mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
qt: update ReadableWidget
This commit is contained in:
parent
6c969835c3
commit
d29249e0cf
@ -8,6 +8,7 @@ moc_files = qt5.preprocess(moc_headers : [ 'MainWindow.h',
|
|||||||
'widgets/EnumEditor.h',
|
'widgets/EnumEditor.h',
|
||||||
'widgets/ReadableWidget.h',
|
'widgets/ReadableWidget.h',
|
||||||
'widgets/ReadableBrowser.h',
|
'widgets/ReadableBrowser.h',
|
||||||
|
'widgets/ReadableDisplay.h',
|
||||||
'data/AssignableManager.h',
|
'data/AssignableManager.h',
|
||||||
'data/AssignableEditorDelegate.h'],
|
'data/AssignableEditorDelegate.h'],
|
||||||
dependencies : qt5_dep)
|
dependencies : qt5_dep)
|
||||||
@ -19,6 +20,7 @@ sources = ['main.cpp',
|
|||||||
'widgets/EnumEditor.cpp',
|
'widgets/EnumEditor.cpp',
|
||||||
'widgets/ReadableWidget.cpp',
|
'widgets/ReadableWidget.cpp',
|
||||||
'widgets/ReadableBrowser.cpp',
|
'widgets/ReadableBrowser.cpp',
|
||||||
|
'widgets/ReadableDisplay.cpp',
|
||||||
'data/AssignableData.cpp',
|
'data/AssignableData.cpp',
|
||||||
'data/AssignableEditorDelegate.cpp',
|
'data/AssignableEditorDelegate.cpp',
|
||||||
'data/AssignableManager.cpp',
|
'data/AssignableManager.cpp',
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "ReadableBrowser.h"
|
#include "ReadableBrowser.h"
|
||||||
|
|
||||||
|
#include <QMouseEvent>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
ReadableBrowser::ReadableBrowser(ReadableManager *readableManager, QWidget *parent) : QWidget(parent) {
|
ReadableBrowser::ReadableBrowser(ReadableManager *readableManager, QWidget *parent) : QWidget(parent) {
|
||||||
@ -30,32 +31,54 @@ void ReadableBrowser::genBrowserTree(QTreeView *treeView, QStandardItemModel *it
|
|||||||
if (node->name) {
|
if (node->name) {
|
||||||
qDebug() << node->name;
|
qDebug() << node->name;
|
||||||
}
|
}
|
||||||
addBrowserItem(node, item);
|
QStandardItem *newItem = addBrowserItem(node, item);
|
||||||
|
|
||||||
|
if (!node->constant && node->value_callback) {
|
||||||
|
tc_readable_result_t res = node->value_callback(node);
|
||||||
|
qDebug() << res.valid << res.data.uint_value;
|
||||||
|
}
|
||||||
|
|
||||||
for (uint16_t i = 0; i < node->children_count; i++) {
|
for (uint16_t i = 0; i < node->children_count; i++) {
|
||||||
traverse(node->children_nodes[i], item);
|
traverse(node->children_nodes[i], newItem);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//tc_readable_node_t *root = m_readableManager->root();
|
//tc_readable_node_t *root = m_readableManager->root();
|
||||||
QVector <tc_readable_node_t*> rootNodes = m_readableManager->rootNodes();
|
QVector <tc_readable_node_t*> rootNodes = m_readableManager->rootNodes();
|
||||||
|
|
||||||
for (tc_readable_node_t *node : m_readableManager->rootNodes()) {
|
for (tc_readable_node_t *node : m_readableManager->rootNodes()) {
|
||||||
traverse(node, parentItem);
|
// Start traversal from the first subitems of the root item
|
||||||
|
for (uint16_t i = 0; i < node->children_count; i++) {
|
||||||
|
traverse(node->children_nodes[i], parentItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
treeView->setModel(itemModel);
|
treeView->setModel(itemModel);
|
||||||
|
|
||||||
|
treeView->setDragEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadableBrowser::addBrowserItem(tc_readable_node_t* node, QStandardItem *parent) {
|
QStandardItem *ReadableBrowser::addBrowserItem(tc_readable_node_t* node, QStandardItem *parent) {
|
||||||
// Don't add item for constants
|
// Don't add item for constants
|
||||||
if (node->constant) {
|
if (node->constant) {
|
||||||
return;
|
return nullptr;
|
||||||
}
|
}
|
||||||
if (!node->name) {
|
if (!node->name) {
|
||||||
return;
|
return nullptr;
|
||||||
}
|
}
|
||||||
QStandardItem *item = new QStandardItem;
|
QStandardItem *item = new QStandardItem;
|
||||||
item->setText(node->name);
|
item->setText(node->name);
|
||||||
|
|
||||||
|
item->setDragEnabled(true);
|
||||||
|
|
||||||
parent->appendRow(item);
|
parent->appendRow(item);
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ReadableBrowser::mousePressEvent(QMouseEvent *event) {
|
||||||
|
/*if (event->button() == Qt::LeftButton) {
|
||||||
|
QDrag *drag = new QDrag(this);
|
||||||
|
Qt::DropAction dropAction = drag->exec(Qt::MoveAction);
|
||||||
|
qDebug() << drag->mimeData();
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
@ -3,14 +3,19 @@
|
|||||||
#include <ReadableManager.h>
|
#include <ReadableManager.h>
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
#include <QDrag>
|
||||||
|
#include <QDropEvent>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
|
|
||||||
class ReadableBrowser : public QWidget {
|
class ReadableBrowser : public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
ReadableBrowser(ReadableManager *readableManager, QWidget *parent = nullptr);
|
ReadableBrowser(ReadableManager *readableManager, QWidget *parent = nullptr);
|
||||||
~ReadableBrowser();
|
~ReadableBrowser();
|
||||||
|
signals:
|
||||||
|
void itemDragStarted(QString &text);
|
||||||
private:
|
private:
|
||||||
ReadableManager *m_readableManager; // ReadableManager instance that the browser is generated from
|
ReadableManager *m_readableManager; // ReadableManager instance that the browser is generated from
|
||||||
|
|
||||||
@ -19,5 +24,7 @@ private:
|
|||||||
QStandardItemModel *m_browserModel;
|
QStandardItemModel *m_browserModel;
|
||||||
|
|
||||||
void genBrowserTree(QTreeView *treeView, QStandardItemModel *itemModel);
|
void genBrowserTree(QTreeView *treeView, QStandardItemModel *itemModel);
|
||||||
void addBrowserItem(tc_readable_node_t* node, QStandardItem *parent); // Create a new item from 'node'
|
QStandardItem *addBrowserItem(tc_readable_node_t* node, QStandardItem *parent); // Return a newly created item that is a child of 'parent'
|
||||||
|
|
||||||
|
void mousePressEvent(QMouseEvent *event); // Start the drag event for an item
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,10 @@ ReadableWidget::ReadableWidget(QWidget *parent) : QWidget(parent) {
|
|||||||
|
|
||||||
m_readableBrowser = new ReadableBrowser(m_readableManager);
|
m_readableBrowser = new ReadableBrowser(m_readableManager);
|
||||||
|
|
||||||
|
m_readableDisplay = new ReadableDisplay;
|
||||||
|
|
||||||
m_tabWidget->addTab(m_readableBrowser, "Browser");
|
m_tabWidget->addTab(m_readableBrowser, "Browser");
|
||||||
|
m_tabWidget->addTab(m_readableDisplay, "Display");
|
||||||
|
|
||||||
m_mainLayout->addWidget(m_tabWidget);
|
m_mainLayout->addWidget(m_tabWidget);
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
#include "ReadableBrowser.h"
|
#include "ReadableBrowser.h"
|
||||||
|
#include "ReadableDisplay.h"
|
||||||
#include <ReadableManager.h>
|
#include <ReadableManager.h>
|
||||||
|
|
||||||
class ReadableWidget : public QWidget {
|
class ReadableWidget : public QWidget {
|
||||||
@ -20,4 +21,5 @@ private:
|
|||||||
QVBoxLayout *m_mainLayout;
|
QVBoxLayout *m_mainLayout;
|
||||||
|
|
||||||
ReadableManager *m_readableManager;
|
ReadableManager *m_readableManager;
|
||||||
|
ReadableDisplay *m_readableDisplay;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user