2 #include "LayoutEditor.h"
4 #include "ui_MainWindowUi.h"
9 #include <QStandardItem>
10 #include <QStandardItemModel>
17 /////////////////////////////////////////////////////////////////////////
21 /////////////////////////////////////////////////////////////////////////
23 LayoutTree::LayoutTree(QWidget * parent)
28 /////////////////////////////////////////////////////////////////////////
32 /////////////////////////////////////////////////////////////////////////
34 LayoutEditor::LayoutEditor(QWidget * parent)
39 /////////////////////////////////////////////////////////////////////////
43 /////////////////////////////////////////////////////////////////////////
45 MainWindow::MainWindow()
47 ui_ = new Ui::MainWindow;
50 model_ = new QStandardItemModel(this);
51 view_ = new LayoutTree(this);
52 view_->setModel(model_);
53 //setCentralWidget(view_);
55 ui_->dockLayoutTree->setWidget(view_);
59 MainWindow::~MainWindow()
64 static bool isInsensitivelyEqual(QString const & s1, QString const & s2)
66 return s1.compare(s2, Qt::CaseInsensitive) == 0;
69 void MainWindow::loadLayoutFile(QString const & fileName)
71 loadLayoutFile(fileName, model_->invisibleRootItem());
76 void MainWindow::loadLayoutFile(QString const & fileName,
77 QStandardItem * parent)
81 file.open(QIODevice::ReadOnly);
82 QString contents = file.readAll();
84 qDebug() << "contents: " << contents;
87 file.open(QIODevice::ReadOnly);
89 QTextStream ts(&file);
91 QList<QStandardItem *> row;
94 //qDebug() << "CODE: " << code;
95 if (code.startsWith('#')) {
96 QString line = code + ' ' + ts.readLine();
97 //row.append(new QStandardItem("Comment"));
98 //row.append(new QStandardItem(code + ' ' + ts.readLine()));
99 //parent->appendRow(row);
100 } else if (isInsensitivelyEqual(code, "Input")) {
103 QStandardItem * item = new QStandardItem(inputFile);
105 parent->appendRow(row);
106 inputFile = fileName.left(fileName.lastIndexOf('/')) + '/' + inputFile;
107 qDebug() << "INPUT: " << inputFile;
108 loadLayoutFile(inputFile, item);
109 } else if (isInsensitivelyEqual(code, "Style")) {
112 //while (!ts.atEnd() && !isInsensitivelyEqual(code, "EndStyle"))
114 QStandardItem * item = new QStandardItem(style);
116 parent->appendRow(row);
118 //row.append(new QStandardItem(code));
119 //parent->appendRow(row);