diff options
Diffstat (limited to 'lslayoutwindow.cpp')
-rw-r--r-- | lslayoutwindow.cpp | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/lslayoutwindow.cpp b/lslayoutwindow.cpp index 25baf41..518d022 100644 --- a/lslayoutwindow.cpp +++ b/lslayoutwindow.cpp @@ -1,4 +1,5 @@ #include "lslayoutwindow.h" +#include "lsscenemodel.h" #include <QGridLayout> #include <QFormLayout> #include <QGroupBox> @@ -32,6 +33,9 @@ LSLayoutWindow::LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, Q sizeForm->addRow("Width", m_widthBox); sizeForm->addRow("Height", m_heightBox); + connect(m_widthBox, SIGNAL(valueChanged(double)), SLOT(handleWidthChanged(double))); + connect(m_heightBox, SIGNAL(valueChanged(double)), SLOT(handleHeightChanged(double))); + QGroupBox *matGroup = new QGroupBox("Materials", this); QGroupBox *grpGroup = new QGroupBox("Groups", this); @@ -40,7 +44,53 @@ LSLayoutWindow::LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, Q sgrid->addWidget(grpGroup, 1, 1, 1, 1); sgrid->setRowStretch(1, 1); - m_tabWidget->addTab(w, "Settings"); + m_tabWidget->addTab(w, "Layout"); + + // prepare the Scene Graph tab + w = new QWidget(this); + QGridLayout *ggrid = new QGridLayout(w); + + m_searchBox = new QLineEdit(this); + m_searchBox->setPlaceholderText("Search panes..."); + + m_clearSearchButton = new QPushButton("Clear", this); + + m_sceneGraph = new QTreeView(this); + m_sceneGraph->setHeaderHidden(true); + m_sceneSearchList = new QListView(this); + m_sceneListSwitcher = new QStackedLayout; + m_sceneListSwitcher->addWidget(m_sceneGraph); + m_sceneListSwitcher->addWidget(m_sceneSearchList); + + ggrid->addWidget(m_searchBox, 0, 0, 1, 1); + ggrid->addWidget(m_clearSearchButton, 0, 1, 1, 1); + ggrid->addLayout(m_sceneListSwitcher, 1, 0, 1, 2); + + m_tabWidget->addTab(w, "Scene Graph"); + + + // get the resource + m_layout = new LYTLayout(*m_package, m_layoutName); + + m_widthBox->setValue(m_layout->width); + m_heightBox->setValue(m_layout->height); + + m_sceneGraph->setModel(new LSSceneModel(m_layout, this)); + m_sceneGraph->expandAll(); + + setWindowTitle(m_layoutName); +} + +LSLayoutWindow::~LSLayoutWindow() { + delete m_layout; } +void LSLayoutWindow::handleWidthChanged(double v) { + m_layout->width = v; +} + +void LSLayoutWindow::handleHeightChanged(double v) { + m_layout->height = v; +} + |