summaryrefslogtreecommitdiff
path: root/utils/themeeditor/editorwindow.cpp
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-01 21:25:02 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-01 21:25:02 +0000
commita9848ce3fed7862d52b299b604535781e440eb4a (patch)
tree775608b8fb1de72985a96ccdd288a971ceeea34a /utils/themeeditor/editorwindow.cpp
parentf52c9aae3a04ae4c767c2da1d788421686805fea (diff)
downloadrockbox-a9848ce3fed7862d52b299b604535781e440eb4a.zip
rockbox-a9848ce3fed7862d52b299b604535781e440eb4a.tar.gz
rockbox-a9848ce3fed7862d52b299b604535781e440eb4a.tar.bz2
rockbox-a9848ce3fed7862d52b299b604535781e440eb4a.tar.xz
Theme Editor: Put together a simple GUI to test going back and forth between a tree view and a text edit box
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26455 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to '')
-rw-r--r--utils/themeeditor/editorwindow.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/utils/themeeditor/editorwindow.cpp b/utils/themeeditor/editorwindow.cpp
new file mode 100644
index 0000000..42ca22c
--- /dev/null
+++ b/utils/themeeditor/editorwindow.cpp
@@ -0,0 +1,63 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2010 Robert Bieber
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "editorwindow.h"
+#include "ui_editorwindow.h"
+
+#include <iostream>
+
+EditorWindow::EditorWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::EditorWindow)
+{
+ ui->setupUi(this);
+
+ tree = 0;
+
+ /* Connecting the buttons */
+ QObject::connect(ui->code, SIGNAL(cursorPositionChanged()),
+ this, SLOT(updateTree()));
+ QObject::connect(ui->fromTree, SIGNAL(pressed()),
+ this, SLOT(updateCode()));
+}
+
+void EditorWindow::updateTree()
+{
+ if(tree)
+ delete tree;
+
+ tree = new ParseTreeModel(ui->code->document()->toPlainText().toAscii());
+ ui->parseTree->setModel(tree);
+ ui->parseTree->expandAll();
+}
+
+void EditorWindow::updateCode()
+{
+ tree->genCode();
+ ui->code->setDocument(new QTextDocument(tree->genCode()));
+}
+
+EditorWindow::~EditorWindow()
+{
+ delete ui;
+ if(tree)
+ delete tree;
+}