]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/scripteditor.h
New upstream version 2.9.22
[sven/vym.git] / src / scripteditor.h
diff --git a/src/scripteditor.h b/src/scripteditor.h
new file mode 100644 (file)
index 0000000..07c6acc
--- /dev/null
@@ -0,0 +1,51 @@
+#ifndef SCRIPTEDITOR_H
+#define SCRIPTEDITOR_H
+
+#include "codeeditor.h"
+#include "highlighter.h"
+#include "ui_scripteditor.h"
+
+class VymModel;
+
+class ScriptEditor : public QWidget {
+    Q_OBJECT
+
+  public:
+    enum Mode { Slide, File };
+
+  private:
+    Mode mode;
+    uint vymModelID;
+    uint slideID;
+
+  public:
+    ScriptEditor(QWidget *parent = 0);
+    QString getScriptFile();
+    void setSlideScript(uint vymModelID, uint slideID, const QString &);
+
+  public slots:
+    void runMacro();
+    void runSlide();
+    void runScript();
+    void saveSlide();
+    void reloadMacros();
+    void saveMacros();
+    bool loadScript(QString fn = "");
+    void saveScript();
+    void saveScriptAs();
+
+  signals:
+    void runScript(QString);
+
+  private:
+    Ui::ScriptEditor ui;
+    CodeEditor *slideEditor;
+    CodeEditor *macroEditor;
+    CodeEditor *codeEditor;
+    QString filename;
+    Highlighter *highlighterMacro;
+    Highlighter *highlighterSlide;
+    Highlighter *highlighterFile;
+};
+
+#endif