• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kalgebra

  • sources
  • kde-4.14
  • kdeedu
  • kalgebra
  • mobile
  • declarative
analitzawrapper.h
Go to the documentation of this file.
1 /*************************************************************************************
2  * Copyright (C) 2010 by Aleix Pol <aleixpol@kde.org> *
3  * *
4  * This program is free software; you can redistribute it and/or *
5  * modify it under the terms of the GNU General Public License *
6  * as published by the Free Software Foundation; either version 2 *
7  * of the License, or (at your option) any later version. *
8  * *
9  * This program is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this program; if not, write to the Free Software *
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
17  *************************************************************************************/
18 
19 #ifndef ANALITZAWRAPPER_H
20 #define ANALITZAWRAPPER_H
21 
22 #include <QtCore/QObject>
23 #include <QVariant>
24 #include <analitza/expression.h>
25 
26 namespace Analitza {
27  class Analyzer;
28  class Variables;
29 }
30 
31 class ExpressionWrapper : public QObject
32 {
33  Q_OBJECT
34  Q_PROPERTY(QString expression READ toString WRITE setText);
35  public:
36  ExpressionWrapper(QObject* parent=0);
37  explicit ExpressionWrapper(const Analitza::Expression & e, QObject* parent = 0);
38 
39  void setText(const QString& exp);
40 
41  public slots:
42  QString toString() const;
43  bool isCorrect() const;
44  QVariant value() const;
45  QStringList errors() const;
46 
47  private:
48  Analitza::Expression m_exp;
49 };
50 
51 class AnalitzaWrapper : public QObject
52 {
53  Q_OBJECT
54  Q_PROPERTY(bool calculate READ isCalculate WRITE setCalculate)
55  Q_PROPERTY(bool isCorrect READ isCorrect)
56  Q_PROPERTY(QStringList errors READ errors)
57  Q_PROPERTY(Analitza::Variables* variables READ variables WRITE setVariables)
58  public:
59  explicit AnalitzaWrapper(QObject* parent = 0);
60 
61  void setCalculate(bool calc) { m_calc = calc; }
62  bool isCalculate() const { return m_calc; }
63 
64  Analitza::Analyzer* wrapped() const { return m_wrapped; }
65 
66  Q_SCRIPTABLE QVariant execute(const QString& expression);
67  Q_SCRIPTABLE QVariant executeFunc(const QString& name, const QVariantList& args);
68  Q_SCRIPTABLE QString unusedVariableName() const;
69  Q_SCRIPTABLE QString dependenciesToLambda(const QString& expression) const;
70  Q_SCRIPTABLE void insertVariable(const QString& name, const QString& expression) const;
71  Q_SCRIPTABLE void removeVariable(const QString& name);
72 
73  QStringList errors() const;
74  bool isCorrect() const;
75 
76  Analitza::Variables* variables() const { return m_vars; }
77  void setVariables(Analitza::Variables* v);
78 
79  private:
80  void initWrapped();
81 
82  Analitza::Analyzer* m_wrapped;
83  Analitza::Variables* m_vars;
84  bool m_calc;
85 };
86 
87 #endif // ANALITZAWRAPPER_H
AnalitzaWrapper::isCalculate
bool isCalculate() const
Definition: analitzawrapper.h:62
AnalitzaWrapper::unusedVariableName
Q_SCRIPTABLE QString unusedVariableName() const
Definition: analitzawrapper.cpp:131
ExpressionWrapper::value
QVariant value() const
Definition: analitzawrapper.cpp:44
ExpressionWrapper::expression
QString expression
Definition: analitzawrapper.h:34
ExpressionWrapper::setText
void setText(const QString &exp)
Definition: analitzawrapper.cpp:40
QObject::name
const char * name() const
AnalitzaWrapper
Definition: analitzawrapper.h:51
AnalitzaWrapper::isCorrect
bool isCorrect() const
ExpressionWrapper::ExpressionWrapper
ExpressionWrapper(QObject *parent=0)
Definition: analitzawrapper.cpp:30
QObject
QString
AnalitzaWrapper::errors
QStringList errors() const
AnalitzaWrapper::calculate
bool calculate
Definition: analitzawrapper.h:54
AnalitzaWrapper::dependenciesToLambda
Q_SCRIPTABLE QString dependenciesToLambda(const QString &expression) const
Definition: analitzawrapper.cpp:120
QStringList
AnalitzaWrapper::execute
Q_SCRIPTABLE QVariant execute(const QString &expression)
Definition: analitzawrapper.cpp:76
AnalitzaWrapper::removeVariable
Q_SCRIPTABLE void removeVariable(const QString &name)
Definition: analitzawrapper.cpp:149
AnalitzaWrapper::wrapped
Analitza::Analyzer * wrapped() const
Definition: analitzawrapper.h:64
AnalitzaWrapper::insertVariable
Q_SCRIPTABLE void insertVariable(const QString &name, const QString &expression) const
Definition: analitzawrapper.cpp:126
ExpressionWrapper::toString
QString toString() const
Definition: analitzawrapper.cpp:43
ExpressionWrapper::errors
QStringList errors() const
Definition: analitzawrapper.cpp:45
AnalitzaWrapper::setCalculate
void setCalculate(bool calc)
Definition: analitzawrapper.h:61
AnalitzaWrapper::setVariables
void setVariables(Analitza::Variables *v)
Definition: analitzawrapper.cpp:68
AnalitzaWrapper::executeFunc
Q_SCRIPTABLE QVariant executeFunc(const QString &name, const QVariantList &args)
Definition: analitzawrapper.cpp:97
ExpressionWrapper
Definition: analitzawrapper.h:31
AnalitzaWrapper::variables
Analitza::Variables * variables() const
Definition: analitzawrapper.h:76
QObject::parent
QObject * parent() const
ExpressionWrapper::isCorrect
bool isCorrect() const
Definition: analitzawrapper.cpp:42
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:11:49 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kalgebra

Skip menu "kalgebra"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal