File indexing completed on 2024-12-01 09:37:30
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2012 Alexander Rieder <alexanderrieder@gmail.com> 0004 */ 0005 0006 #ifndef _MAXIMAVARIABLEMODEL_H 0007 #define _MAXIMAVARIABLEMODEL_H 0008 0009 #include "defaultvariablemodel.h" 0010 #include <QStringList> 0011 0012 class MaximaSession; 0013 class MaximaExpression; 0014 0015 class MaximaVariableModel : public Cantor::DefaultVariableModel 0016 { 0017 Q_OBJECT 0018 public: 0019 static const QString inspectCommand; 0020 static const QString variableInspectCommand; 0021 0022 explicit MaximaVariableModel(MaximaSession*); 0023 ~MaximaVariableModel() override = default; 0024 0025 void update() override; 0026 0027 private Q_SLOTS: 0028 void parseNewVariables(Cantor::Expression::Status); 0029 void parseNewFunctions(Cantor::Expression::Status); 0030 0031 private: 0032 MaximaSession* maximaSession(); 0033 0034 private: 0035 MaximaExpression* m_variableExpression{nullptr}; 0036 MaximaExpression* m_functionExpression{nullptr}; 0037 }; 0038 0039 #endif /* _MAXIMAVARIABLEMODEL_H */