1
0
Fork 0
forked from len0rd/rockbox

Theme Editor: Refactored main window init code, moved parse tree into dock widget

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26519 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-06-03 18:42:36 +00:00
parent 3f44f1c151
commit 88160b6e27
3 changed files with 59 additions and 23 deletions

View file

@ -29,33 +29,51 @@ EditorWindow::EditorWindow(QWidget *parent) :
ui(new Ui::EditorWindow)
{
ui->setupUi(this);
loadSettings();
setupUI();
setupMenus();
}
void EditorWindow::loadSettings()
{
/* When there are settings to load, they'll be loaded here */
}
void EditorWindow::setupUI()
{
/* Establishing the parse tree */
tree = new ParseTreeModel(ui->code->document()->toPlainText().toAscii());
tree = new ParseTreeModel(ui->codeEdit->document()->toPlainText().
toAscii());
ui->parseTree->setModel(tree);
/* Setting up the syntax highlighter */
highlighter = new SkinHighlighter(QColor(0,255,0), QColor(255,0,0),
QColor(0,0,255), QColor(150,150,150),
ui->code->document());
ui->codeEdit->document());
/* Connecting the buttons */
QObject::connect(ui->code, SIGNAL(cursorPositionChanged()),
this, SLOT(updateTree()));
QObject::connect(ui->codeEdit, SIGNAL(cursorPositionChanged()),
this, SLOT(codeChanged()));
QObject::connect(ui->fromTree, SIGNAL(pressed()),
this, SLOT(updateCode()));
}
void EditorWindow::updateTree()
void EditorWindow::setupMenus()
{
tree->changeTree(ui->code->document()->toPlainText().toAscii());
/* When there are menus to setup, they'll be set up here */
}
void EditorWindow::codeChanged()
{
tree->changeTree(ui->codeEdit->document()->toPlainText().toAscii());
ui->parseTree->expandAll();
}
void EditorWindow::updateCode()
{
tree->genCode();
ui->code->document()->setPlainText(tree->genCode());
ui->codeEdit->document()->setPlainText(tree->genCode());
}
EditorWindow::~EditorWindow()

View file

@ -39,9 +39,14 @@ public:
private slots:
void updateCode();
void updateTree();
void codeChanged();
private:
/* Setup functions */
void loadSettings();
void setupUI();
void setupMenus();
Ui::EditorWindow *ui;
ParseTreeModel* tree;
SkinHighlighter* highlighter;

View file

@ -15,24 +15,14 @@
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTreeView" name="parseTree"/>
</item>
<item>
<widget class="QPushButton" name="fromTree">
<property name="text">
<string>Update Code</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPlainTextEdit" name="code"/>
<widget class="QPlainTextEdit" name="codeEdit">
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
</widget>
</item>
</layout>
</item>
@ -56,6 +46,29 @@
<addaction name="menuFile"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QDockWidget" name="outputDock">
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTreeView" name="parseTree"/>
</item>
<item>
<widget class="QPushButton" name="fromTree">
<property name="text">
<string>Update Code</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<action name="actionQuit">
<property name="text">
<string>Quit</string>