summaryrefslogtreecommitdiff
path: root/lslayoutwindow.h
blob: b2c4385a556eed4e77188a6a4a54d55e4faa023b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef LSLAYOUTWINDOW_H
#define LSLAYOUTWINDOW_H

#include <QMainWindow>
#include <QTabWidget>
#include <QDoubleSpinBox>
#include <QTreeView>
#include <QStackedLayout>
#include <QPushButton>
#include <QLineEdit>
#include <QListView>
#include <QSplitter>
#include "lyt/packagebase.h"
#include "lyt/layout.h"
class LSPaneEditor;
class LGLWidget;

class LSLayoutWindow : public QMainWindow {
	Q_OBJECT
public:
	explicit LSLayoutWindow(LYTPackageBase *pkg, const QString &layoutName, QWidget *parent = 0);
	~LSLayoutWindow();

	QString layoutName() const { return m_layoutName; }
	// TODO: set layoutname method

	LYTLayout *editedLayout() const { return m_layout; }

private:
	QString m_layoutName;
	LYTPackageBase *m_package;
	LYTLayout *m_layout;

	LGLWidget *m_renderer;

	QTabWidget *m_tabWidget;

	// settings
	QDoubleSpinBox *m_widthBox, *m_heightBox;

	// scene graph
	QSplitter *m_sceneSplitter;

	QStackedLayout *m_sceneListSwitcher;
	QLineEdit *m_searchBox;
	QPushButton *m_clearSearchButton;
	QTreeView *m_sceneGraph;
	QListView *m_sceneSearchList;

	QStackedLayout *m_paneEditorSwitcher;
	LSPaneEditor *m_paneEditor;

	bool m_loadingSettings;

private slots:
	void handleWidthChanged(double v);
	void handleHeightChanged(double v);
	void selectedPaneChanged(const QModelIndex &current, const QModelIndex &previous);

signals:
	
public slots:
	
};

#endif // LSLAYOUTWINDOW_H