File indexing completed on 2024-04-28 11:20:58
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2009 Alexander Rieder <alexanderrieder@gmail.com> 0004 */ 0005 0006 #ifndef _LOADEDEXPRESSION_H 0007 #define _LOADEDEXPRESSION_H 0008 0009 #include "lib/expression.h" 0010 0011 #include <QIODevice> 0012 #include <KZip> 0013 #include <QDomElement> 0014 0015 class QJsonObject; 0016 0017 /** This class is used to hold expressions 0018 loaded from a file. they can't be evaluated 0019 and only show the result, they loaded from xml. 0020 this is used to avoid most exceptions when 0021 dealing with loaded Worksheets instead of newly 0022 created ones. 0023 **/ 0024 class LoadedExpression : public Cantor::Expression 0025 { 0026 public: 0027 explicit LoadedExpression( Cantor::Session* session ); 0028 ~LoadedExpression() override = default; 0029 0030 void evaluate() override; 0031 void interrupt() override; 0032 0033 void parseOutput(const QString&) override {}; 0034 void parseError(const QString&) override {}; 0035 0036 void loadFromXml(const QDomElement& xml, const KZip& file); 0037 void loadFromJupyter(const QJsonObject& cell); 0038 }; 0039 0040 #endif /* _LOADEDEXPRESSION_H */