overte-HifiExperiments/interface/src/ui/ScriptEditorWindow.h
howard-stearns a957716511 Disable script editor close and tab close when we have a modal dialog up
about external changes to the file.
2016-03-17 16:54:59 -07:00

64 lines
1.5 KiB
C++

//
// ScriptEditorWindow.h
// interface/src/ui
//
// Created by Thijs Wenker on 4/14/14.
// Copyright 2014 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#ifndef hifi_ScriptEditorWindow_h
#define hifi_ScriptEditorWindow_h
#include "ScriptEditorWidget.h"
namespace Ui {
class ScriptEditorWindow;
}
class ScriptEditorWindow : public QWidget {
Q_OBJECT
public:
ScriptEditorWindow(QWidget* parent = nullptr);
~ScriptEditorWindow();
void terminateCurrentTab();
bool autoReloadScripts();
bool inModalDialog { false };
bool ignoreCloseForModal(QCloseEvent* event);
signals:
void windowActivated();
protected:
void closeEvent(QCloseEvent* event);
virtual bool event(QEvent* event);
private:
Ui::ScriptEditorWindow* _ScriptEditorWindowUI;
QMenu* _loadMenu;
QMenu* _saveMenu;
ScriptEditorWidget* addScriptEditorWidget(QString title);
void setRunningState(bool run);
void setScriptName(const QString& scriptName);
private slots:
void loadScriptMenu(const QString& scriptName);
void loadScriptClicked();
void newScriptClicked();
void toggleRunScriptClicked();
void saveScriptClicked();
void saveScriptAsClicked();
void loadMenuAboutToShow();
void tabSwitched(int tabIndex);
void tabCloseRequested(int tabIndex);
void updateScriptNameOrStatus();
void updateButtons();
};
#endif // hifi_ScriptEditorWindow_h