Theme Editor: Changed default font to monospaced, changed organization for the applic...
[kugel-rb.git] / utils / themeeditor / editorwindow.h
blob3bab704bb6d4e296916ecd0436ca43652954012c
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2010 Robert Bieber
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef EDITORWINDOW_H
23 #define EDITORWINDOW_H
25 #include <QMainWindow>
26 #include <QLabel>
28 #include "parsetreemodel.h"
29 #include "skinhighlighter.h"
30 #include "skindocument.h"
31 #include "preferencesdialog.h"
33 namespace Ui {
34 class EditorWindow;
37 class EditorWindow : public QMainWindow {
38 Q_OBJECT
39 public:
40 EditorWindow(QWidget *parent = 0);
41 ~EditorWindow();
43 protected:
44 virtual void closeEvent(QCloseEvent* event);
46 private slots:
47 void showPanel();
48 void newTab();
49 void shiftTab(int index);
50 bool closeTab(int index);
51 void closeCurrent();
52 void saveCurrent();
53 void saveCurrentAs();
54 void openFile();
55 void tabTitleChanged(QString title);
56 void updateCurrent(); /* Generates code in the current tab */
58 private:
59 /* Setup functions */
60 void loadSettings();
61 void saveSettings();
62 void setupUI();
63 void setupMenus();
64 void addTab(SkinDocument* doc);
66 Ui::EditorWindow *ui;
67 PreferencesDialog* prefs;
68 QLabel* parseStatus;
71 #endif // EDITORWINDOW_H