mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
update assignable manager
This commit is contained in:
parent
07a05e004d
commit
aea64c9261
@ -1,5 +1,7 @@
|
|||||||
#include "AssignableManager.h"
|
#include "AssignableManager.h"
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
AssignableManager::AssignableManager() {
|
AssignableManager::AssignableManager() {
|
||||||
// Open all assignable modules
|
// Open all assignable modules
|
||||||
uint16_t mod_count;
|
uint16_t mod_count;
|
||||||
@ -20,17 +22,26 @@ AssignableManager::AssignableManager() {
|
|||||||
for (tc_module_t *module : m_assignableModules) {
|
for (tc_module_t *module : m_assignableModules) {
|
||||||
tc_assignable_node_t *root = static_cast<tc_assignable_node_t*>(module->category_data_callback());
|
tc_assignable_node_t *root = static_cast<tc_assignable_node_t*>(module->category_data_callback());
|
||||||
if (root == NULL) {
|
if (root == NULL) {
|
||||||
m_assignableModules.remove(m_assignableModules.indexOf(module));
|
//m_assignableModules.remove(m_assignableModules.indexOf(module));
|
||||||
}
|
}
|
||||||
m_assignableRootNodes.append(root);
|
m_assignableRootNodes.append(root);
|
||||||
}
|
}
|
||||||
|
printf("found %d modules\n", mod_count);
|
||||||
|
|
||||||
delete assignableModules;
|
qDebug() << m_assignableRootNodes.length();
|
||||||
|
|
||||||
|
//delete assignableModules;
|
||||||
}
|
}
|
||||||
|
|
||||||
AssignableManager::~AssignableManager() {
|
AssignableManager::~AssignableManager() {
|
||||||
|
qDebug() << "descructor";
|
||||||
// Close all modules
|
// Close all modules
|
||||||
for (tc_module_t *module : m_assignableModules) {
|
for (tc_module_t *module : m_assignableModules) {
|
||||||
|
qDebug() << "closing module at" << module;
|
||||||
tc_module_close(module);
|
tc_module_close(module);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QVector <tc_assignable_node_t*> AssignableManager::rootNodes() {
|
||||||
|
return m_assignableRootNodes;
|
||||||
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
#include <tc_assignable.h>
|
#include <tc_assignable.h>
|
||||||
#include <tc_module.h>
|
#include <tc_module.h>
|
||||||
|
|
||||||
@ -10,7 +12,7 @@ public:
|
|||||||
~AssignableManager();
|
~AssignableManager();
|
||||||
|
|
||||||
// Return a list of root assignable nodes
|
// Return a list of root assignable nodes
|
||||||
QList <tc_assignable_node_t*> rootNodes();
|
QVector <tc_assignable_node_t*> rootNodes();
|
||||||
private:
|
private:
|
||||||
QVector <tc_module_t*> m_assignableModules;
|
QVector <tc_module_t*> m_assignableModules;
|
||||||
QVector <tc_assignable_node_t*> m_assignableRootNodes;
|
QVector <tc_assignable_node_t*> m_assignableRootNodes;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "AssignableWidget.h"
|
#include "AssignableWidget.h"
|
||||||
#include <AssignableEditorDelegate.h>
|
#include <AssignableEditorDelegate.h>
|
||||||
|
#include <AssignableManager.h>
|
||||||
|
|
||||||
#include <tc_module.h>
|
#include <tc_module.h>
|
||||||
#include <tc_assignable.h>
|
#include <tc_assignable.h>
|
||||||
@ -17,13 +18,15 @@ AssignableWidget::AssignableWidget(QWidget *parent) : QWidget(parent) {
|
|||||||
m_splitter->addWidget(m_assignableTreeView);
|
m_splitter->addWidget(m_assignableTreeView);
|
||||||
|
|
||||||
setLayout(m_mainLayout);
|
setLayout(m_mainLayout);
|
||||||
|
|
||||||
|
m_assignableManager = new AssignableManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
AssignableWidget::~AssignableWidget() {
|
AssignableWidget::~AssignableWidget() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
||||||
tc_module_t *nv_mod = tc_module_find(TC_CATEGORY_ASSIGNABLE, "nvidia");
|
/*tc_module_t *nv_mod = tc_module_find(TC_CATEGORY_ASSIGNABLE, "nvidia");
|
||||||
|
|
||||||
if (nv_mod != NULL) {
|
if (nv_mod != NULL) {
|
||||||
if (nv_mod->init_callback() != TC_SUCCESS) {
|
if (nv_mod->init_callback() != TC_SUCCESS) {
|
||||||
@ -39,7 +42,7 @@ void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
|||||||
|
|
||||||
if (root == NULL) {
|
if (root == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
QStandardItemModel *assignableModel = new QStandardItemModel(0, 2);
|
QStandardItemModel *assignableModel = new QStandardItemModel(0, 2);
|
||||||
// Add header items
|
// Add header items
|
||||||
@ -66,52 +69,50 @@ void AssignableWidget::genAssignableTree(QTreeView *treeView) {
|
|||||||
|
|
||||||
QStandardItem *nameItem = new QStandardItem;
|
QStandardItem *nameItem = new QStandardItem;
|
||||||
nameItem->setText(node->name);
|
nameItem->setText(node->name);
|
||||||
|
nameItem->setEditable(false);
|
||||||
rowItems.append(nameItem);
|
rowItems.append(nameItem);
|
||||||
|
|
||||||
// Don't add editor item for TC_ASSIGNABLE_NONE nodes
|
// Don't add editor item for TC_ASSIGNABLE_NONE nodes
|
||||||
|
if (node->value_category != TC_ASSIGNABLE_NONE) {
|
||||||
|
|
||||||
QStandardItem *editorItem = new QStandardItem;
|
QStandardItem *editorItem = new QStandardItem;
|
||||||
QVariant v;
|
QVariant v;
|
||||||
if (node->value_category != TC_ASSIGNABLE_NONE) {
|
|
||||||
editorItem->setText(node->name);
|
|
||||||
AssignableData data(node);
|
AssignableData data(node);
|
||||||
v.setValue(data);
|
v.setValue(data);
|
||||||
editorItem->setData(v);
|
editorItem->setData(v, Qt::EditRole);
|
||||||
|
//editorItem->setText(node->name);
|
||||||
rowItems.append(editorItem);
|
rowItems.append(editorItem);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
//delete editorItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
item->appendRow(rowItems);
|
item->appendRow(rowItems);
|
||||||
assignableModel->setData(assignableModel->indexFromItem(editorItem), v);
|
|
||||||
|
|
||||||
if (node->children_count == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (uint32_t i = 0; i < node->children_count; i++) {
|
for (uint32_t i = 0; i < node->children_count; i++) {
|
||||||
traverse(node->children_nodes[i], nameItem);
|
traverse(node->children_nodes[i], nameItem);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//connect(m_assignableTreeView, &QTreeView::activated, [=](QModelIndex index) {m_assignableEditor->setData(assignableModel->itemFromIndex(index)->data());});
|
|
||||||
|
|
||||||
QStandardItem *parentItem = assignableModel->invisibleRootItem();
|
QStandardItem *parentItem = assignableModel->invisibleRootItem();
|
||||||
|
|
||||||
|
|
||||||
|
// Get root nodes from manager
|
||||||
|
//QVector <tc_assignable_node_t*> rootNodes = m_assignableManager->rootNodes();
|
||||||
|
|
||||||
|
//delete m_assignableManager;
|
||||||
|
|
||||||
|
/*for (tc_assignable_node_t *root : rootNodes) {
|
||||||
|
traverse(root, parentItem);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
// We don't want to display root nodes from the modules
|
// We don't want to display root nodes from the modules
|
||||||
for (uint32_t i = 0; i < root->children_count; i++) {
|
/*for (uint32_t i = 0; i < root->children_count; i++) {
|
||||||
traverse(root->children_nodes[i], parentItem);
|
traverse(root->children_nodes[i], parentItem);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
m_assignableTreeView->setModel(assignableModel);
|
m_assignableTreeView->setModel(assignableModel);
|
||||||
|
|
||||||
AssignableEditorDelegate *delegate = new AssignableEditorDelegate;
|
AssignableEditorDelegate *delegate = new AssignableEditorDelegate;
|
||||||
|
|
||||||
m_assignableTreeView->setItemDelegate(delegate);
|
m_assignableTreeView->setItemDelegateForColumn(1, delegate);
|
||||||
|
|
||||||
//m_assignableTreeView->setHeaderHidden(true);
|
|
||||||
|
|
||||||
m_assignableTreeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
m_assignableTreeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AssignableData.h>
|
#include <AssignableData.h>
|
||||||
|
#include <AssignableManager.h>
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QSplitter>
|
#include <QSplitter>
|
||||||
@ -23,5 +24,8 @@ private:
|
|||||||
QTreeWidget *m_assignableTreeWidget;
|
QTreeWidget *m_assignableTreeWidget;
|
||||||
QTreeView *m_assignableTreeView;
|
QTreeView *m_assignableTreeView;
|
||||||
|
|
||||||
|
// Assignable manager instance - maybe move this somewhere else?
|
||||||
|
AssignableManager *m_assignableManager;
|
||||||
|
|
||||||
void genAssignableTree(QTreeView *treeView);
|
void genAssignableTree(QTreeView *treeView);
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user