Warning, file /education/cantor/src/backends/scilab/scilabsession.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2011 Filipe Saraiva <filipe@kde.org> 0004 */ 0005 0006 #ifndef _SCILABSESSION_H 0007 #define _SCILABSESSION_H 0008 0009 #include "session.h" 0010 #include "scilabexpression.h" 0011 #include <QStringList> 0012 #include <QQueue> 0013 0014 namespace Cantor { 0015 class DefaultVariableModel; 0016 } 0017 0018 class ScilabExpression; 0019 class KDirWatch; 0020 class QProcess; 0021 0022 class ScilabSession : public Cantor::Session 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 explicit ScilabSession(Cantor::Backend* backend); 0028 ~ScilabSession() override; 0029 0030 void login() override; 0031 void logout() override; 0032 0033 void interrupt() override; 0034 void runExpression(ScilabExpression* expr); 0035 0036 QSyntaxHighlighter* syntaxHighlighter(QObject* parent) override; 0037 0038 Cantor::Expression* evaluateExpression(const QString& command, Cantor::Expression::FinishingBehavior behave = Cantor::Expression::FinishingBehavior::DoNotDelete, bool internal = false) override; 0039 Cantor::CompletionObject* completionFor(const QString& command, int index=-1) override; 0040 void runFirstExpression() override; 0041 Cantor::DefaultVariableModel* variableModel() const override; 0042 0043 public Q_SLOTS: 0044 void readOutput(); 0045 void readError(); 0046 void plotFileChanged(const QString& filename); 0047 0048 private: 0049 QProcess* m_process; 0050 KDirWatch* m_watch; 0051 QStringList m_listPlotName; 0052 QString m_output; 0053 Cantor::DefaultVariableModel* m_variableModel; 0054 private Q_SLOTS: 0055 void currentExpressionStatusChanged(Cantor::Expression::Status status); 0056 0057 }; 0058 0059 #endif /* _SCILABSESSION_H */