59#include "vsiPlugin.hh"
61#include "baseWidget.hh"
62#include "parser/context.hh"
63#include "parser/input.hh"
64#include "config/dynamicDialog.hh"
78VsiPlugin::~ VsiPlugin()
91 if (OpenFlipper::Options::nogui ())
96 emit emit getMenubarMenu(tr(
"&Scripting"), scriptingMenu,
true );
98 QAction* showEditor = scriptingMenu->addAction (
"Visual script editor");
99 showEditor->setIcon( QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+
"vsi_vsiEditor.png") );
101 connect (showEditor, SIGNAL(triggered()) ,
117 connect (baseWidget_, SIGNAL (codeToScriptEditor (QString)),
121 baseWidget_->show ();
134 QDir dir = OpenFlipper::Options::dataDir ();
136 bool ok = dir.cd (
"VsiMetadata");
138 if (!ok || !dir.exists ())
141 foreach (QString sub, dir.entryList(QDir::Dirs))
147 if ( !subdir.cd (sub) )
148 emit log(
LOGERR,
"Error entering directory!");
150 subdir.makeAbsolute();
152 foreach (QString file, subdir.entryList (QStringList(
"*.xml"), QDir::Files))
154 QFile f (subdir.filePath (file));
155 if (!f.open (QIODevice::ReadOnly))
176 return QString(
"{}");
178 QVector<VSI::Input *> inputs;
180#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
181 foreach (QString s, _inputs.split (
",", QString::SkipEmptyParts))
183 foreach (QString s, _inputs.split (
",", Qt::SkipEmptyParts))
194 if (inputs.isEmpty ())
195 return QString(
"{}");
201 QMap<QString, QString> results = d.
getResults ();
206#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
207 foreach (QString s, _inputs.split (
",", QString::SkipEmptyParts)) {
209 foreach (QString s, _inputs.split (
",", Qt::SkipEmptyParts)) {
211 QString value(results[s]);
212 if (!first) result +=
",";
214 result +=
"\""+s+
"\":"+value;
228 emit openPythonScriptInEditor(_script);
247 msgBox.setText(_message);
257 msgBox.setText(_message);
258 msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
259 msgBox.setDefaultButton(QMessageBox::Yes);
260 int ret = msgBox.exec();
261 if (ret == QMessageBox::Yes)
276 if ( msgBox->continueBox() ) {
Element * element(const QString &_name)
Returns the element with a given name.
void parse(QFile &_xml)
Parse xml content.
QMap< QString, QString > getResults()
Results.
const QString & shortDescription() const
Short description.
const QVector< Input * > & inputs() const
Inputs.
const QString & name() const
Name.
void messageBox(QString _message)
Scripting function, that displays a message box.
bool continueBox(QString _message)
Shows a non blocking stop box for use inside loops.
void showScriptEditor()
Shows visual script editor.
bool questionBox(QString _message)
Scripting function, that displays a Yes/No message box.
void showInScriptEditor(const QString &_script)
Opens the text based script editor with the given script.
QString askForInputs(QString _element, QString _inputs)
Scripting function, that allows to ask the user for inputs during script execution.
void initContext()
initalisation
void pluginsInitialized()
Register in menubar.