summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LayoutStudio.pro6
-rw-r--r--lslayoutwindow.cpp11
-rw-r--r--lslayoutwindow.h3
-rw-r--r--lspaneeditor.cpp27
-rw-r--r--lspaneeditor.h30
5 files changed, 74 insertions, 3 deletions
diff --git a/LayoutStudio.pro b/LayoutStudio.pro
index 2a27df3..66a8567 100644
--- a/LayoutStudio.pro
+++ b/LayoutStudio.pro
@@ -38,7 +38,8 @@ SOURCES += main.cpp \
wii/texpalette.cpp \
lspackagemodel.cpp \
lslayoutwindow.cpp \
- lsscenemodel.cpp
+ lsscenemodel.cpp \
+ lspaneeditor.cpp
HEADERS += lsmainwindow.h \
lsglobals.h \
lyt/packagebase.h \
@@ -75,7 +76,8 @@ HEADERS += lsmainwindow.h \
wii/gx.h \
lspackagemodel.h \
lslayoutwindow.h \
- lsscenemodel.h
+ lsscenemodel.h \
+ lspaneeditor.h
FORMS +=
RESOURCES += resources.qrc
diff --git a/lslayoutwindow.cpp b/lslayoutwindow.cpp
index d137400..a164dd9 100644
--- a/lslayoutwindow.cpp
+++ b/lslayoutwindow.cpp
@@ -1,9 +1,11 @@
#include "lslayoutwindow.h"
#include "lsscenemodel.h"
+#include "lspaneeditor.h"
#include "layoutgl/widget.h"
#include <QGridLayout>
#include <QFormLayout>
#include <QGroupBox>
+#include <QSplitter>
LSLayoutWindow::LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, QWidget *parent) :
QMainWindow(parent) {
@@ -48,6 +50,8 @@ LSLayoutWindow::LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, Q
m_tabWidget->addTab(w, "Layout");
// prepare the Scene Graph tab
+ QSplitter *gsplit = new QSplitter(this);
+
w = new QWidget(this);
QGridLayout *ggrid = new QGridLayout(w);
@@ -67,7 +71,12 @@ LSLayoutWindow::LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, Q
ggrid->addWidget(m_clearSearchButton, 0, 1, 1, 1);
ggrid->addLayout(m_sceneListSwitcher, 1, 0, 1, 2);
- m_tabWidget->addTab(w, "Scene Graph");
+ m_paneEditor = new LSPaneEditor(this);
+
+ gsplit->addWidget(w);
+ gsplit->addWidget(m_paneEditor);
+
+ m_tabWidget->addTab(gsplit, "Scene Graph");
// get the resource
diff --git a/lslayoutwindow.h b/lslayoutwindow.h
index 7375a7f..07e1b76 100644
--- a/lslayoutwindow.h
+++ b/lslayoutwindow.h
@@ -11,6 +11,7 @@
#include <QListView>
#include "lyt/packagebase.h"
#include "lyt/layout.h"
+class LSPaneEditor;
class LGLWidget;
class LSLayoutWindow : public QMainWindow {
@@ -43,6 +44,8 @@ private:
QTreeView *m_sceneGraph;
QListView *m_sceneSearchList;
+ LSPaneEditor *m_paneEditor;
+
private slots:
void handleWidthChanged(double v);
void handleHeightChanged(double v);
diff --git a/lspaneeditor.cpp b/lspaneeditor.cpp
new file mode 100644
index 0000000..eae5813
--- /dev/null
+++ b/lspaneeditor.cpp
@@ -0,0 +1,27 @@
+#include "lspaneeditor.h"
+
+LSPaneEditor::LSPaneEditor(QWidget *parent) :
+ QWidget(parent) {
+
+ QGridLayout *layout = new QGridLayout(this);
+
+ m_headingLabel = new QLabel(this);
+
+ m_addChildButton = new QToolButton(this);
+ m_addChildButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ m_addChildButton->setPopupMode(QToolButton::InstantPopup);
+ m_addChildButton->setText("Add Child Pane");
+
+ m_addChildMenu = new QMenu(m_addChildButton);
+ m_addChildMenu->addSeparator();
+ m_addChildButton->setMenu(m_addChildMenu);
+
+ m_removeButton = new QToolButton(this);
+ m_removeButton->setToolButtonStyle(Qt::ToolButtonTextOnly);
+ m_removeButton->setText("Remove This Pane");
+
+ layout->addWidget(m_headingLabel, 0, 0, 1, 1);
+ layout->setColumnStretch(0, 1);
+ layout->addWidget(m_addChildButton, 0, 1, 1, 1);
+ layout->addWidget(m_removeButton, 0, 2, 1, 1);
+}
diff --git a/lspaneeditor.h b/lspaneeditor.h
new file mode 100644
index 0000000..92233cc
--- /dev/null
+++ b/lspaneeditor.h
@@ -0,0 +1,30 @@
+#ifndef LSPANEEDITOR_H
+#define LSPANEEDITOR_H
+
+#include <QWidget>
+#include <QGridLayout>
+#include <QTabWidget>
+#include <QMenu>
+#include <QToolButton>
+#include <QLabel>
+
+class LSPaneEditor : public QWidget {
+ Q_OBJECT
+public:
+ explicit LSPaneEditor(QWidget *parent = 0);
+
+private:
+ QLabel *m_headingLabel;
+ QTabWidget *m_tabs;
+
+ QToolButton *m_addChildButton;
+ QMenu *m_addChildMenu;
+ QToolButton *m_removeButton;
+
+signals:
+
+public slots:
+
+};
+
+#endif // LSPANEEDITOR_H