feat: basic geometry spreadsheet model
This commit is contained in:
@@ -33,6 +33,7 @@ set(GUI_SOURCES
|
|||||||
src/Gui/UtilWidgets/Splitter.cpp
|
src/Gui/UtilWidgets/Splitter.cpp
|
||||||
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetPanel.cpp
|
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetPanel.cpp
|
||||||
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetMenuBar.cpp
|
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetMenuBar.cpp
|
||||||
|
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetModel.cpp
|
||||||
src/Gui/Viewport/Viewport.cpp
|
src/Gui/Viewport/Viewport.cpp
|
||||||
src/Gui/Viewport/ViewportGLWidget.cpp
|
src/Gui/Viewport/ViewportGLWidget.cpp
|
||||||
src/Gui/Viewport/GLCamera.cpp
|
src/Gui/Viewport/GLCamera.cpp
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetModel.h"
|
||||||
|
|
||||||
|
int GeometrySpreadsheetModel::rowCount(const QModelIndex &parent) const
|
||||||
|
{
|
||||||
|
return stringList.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant GeometrySpreadsheetModel::data(const QModelIndex &index, int role) const
|
||||||
|
{
|
||||||
|
if (!index.isValid())
|
||||||
|
return QVariant();
|
||||||
|
|
||||||
|
if (index.row() >= stringList.size())
|
||||||
|
return QVariant();
|
||||||
|
|
||||||
|
if (role == Qt::DisplayRole)
|
||||||
|
return stringList.at(index.row());
|
||||||
|
else
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant GeometrySpreadsheetModel::headerData(int section, Qt::Orientation orientation,
|
||||||
|
int role) const
|
||||||
|
{
|
||||||
|
if (role != Qt::DisplayRole)
|
||||||
|
return QVariant();
|
||||||
|
|
||||||
|
if (orientation == Qt::Horizontal)
|
||||||
|
return QStringLiteral("Column %1").arg(section);
|
||||||
|
else
|
||||||
|
return QStringLiteral("Row %1").arg(section);
|
||||||
|
}
|
||||||
19
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetModel.h
Normal file
19
src/Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetModel.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QAbstractListModel>
|
||||||
|
|
||||||
|
class GeometrySpreadsheetModel : public QAbstractListModel
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
GeometrySpreadsheetModel(const QStringList &strings, QObject *parent = nullptr)
|
||||||
|
: QAbstractListModel(parent), stringList(strings) {}
|
||||||
|
|
||||||
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
|
QVariant data(const QModelIndex &index, int role) const override;
|
||||||
|
QVariant headerData(int section, Qt::Orientation orientation,
|
||||||
|
int role = Qt::DisplayRole) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QStringList stringList;
|
||||||
|
};
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetPanel.h"
|
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetPanel.h"
|
||||||
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetMenuBar.h"
|
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetMenuBar.h"
|
||||||
|
#include "Gui/GeometrySpreadsheetPanel/GeometrySpreadsheetModel.h"
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
#include <QTreeWidget>
|
#include <QTreeWidget>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
@@ -25,6 +26,9 @@ GeometrySpreadsheetPanel::GeometrySpreadsheetPanel(QWidget *parent, Qt::WindowFl
|
|||||||
)");
|
)");
|
||||||
t->setFrameStyle(QFrame::NoFrame);
|
t->setFrameStyle(QFrame::NoFrame);
|
||||||
|
|
||||||
|
auto model = new GeometrySpreadsheetModel({"hello", "world"});
|
||||||
|
t->setModel(model);
|
||||||
|
|
||||||
|
|
||||||
mainLayout_->addWidget(new GeometrySpreadsheetMenuBar());
|
mainLayout_->addWidget(new GeometrySpreadsheetMenuBar());
|
||||||
mainLayout_->addWidget(t);
|
mainLayout_->addWidget(t);
|
||||||
|
|||||||
Reference in New Issue
Block a user