1 // Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/
19 // File: QtxStdOperations.h
20 // Author: Alexander SOLOVYOV
22 #ifndef __QTX_STD_OPERATIONS_HEADER__
23 #define __QTX_STD_OPERATIONS_HEADER__
26 #include "QtxOperations.h"
28 //================================================================
31 //================================================================
32 class QTX_EXPORT QtxStdOperations : public QtxOperations
36 virtual ~QtxStdOperations();
38 virtual void opersList( QStringList& ) const;
39 virtual void bracketsList( QStringList&, bool open ) const;
41 virtual QtxParser::Error isValid( const QString&,
43 const QVariant::Type ) const;
45 typedef QValueList< QVariant::Type > ListOfTypes;
47 void addOperations( const QStringList& );
48 void addTypes( const ListOfTypes& );
55 //================================================================
58 //================================================================
59 class QTX_EXPORT QtxArithmetics : public QtxStdOperations
63 virtual ~QtxArithmetics();
65 virtual bool createValue( const QString&, QtxValue& ) const;
66 virtual int prior( const QString&, bool isBin ) const;
67 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
70 //================================================================
73 //================================================================
74 class QTX_EXPORT QtxLogic : public QtxStdOperations
80 virtual bool createValue( const QString&, QtxValue& ) const;
81 virtual int prior( const QString&, bool isBin ) const;
82 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
85 //================================================================
88 //================================================================
89 class QTX_EXPORT QtxFunctions : public QtxStdOperations
93 virtual ~QtxFunctions();
95 virtual bool createValue( const QString&, QtxValue& ) const;
96 virtual int prior( const QString&, bool isBin ) const;
97 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
100 //================================================================
103 //================================================================
104 class QTX_EXPORT QtxStrings : public QtxStdOperations
108 virtual ~QtxStrings();
110 virtual bool createValue( const QString&, QtxValue& ) const;
111 virtual int prior( const QString&, bool isBin ) const;
112 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
115 //================================================================
118 //================================================================
119 class QTX_EXPORT QtxSets : public QtxStdOperations
122 typedef QValueList< QtxValue > ValueSet;
128 virtual void bracketsList( QStringList&, bool open ) const;
129 virtual bool createValue( const QString&, QtxValue& ) const;
130 virtual int prior( const QString&, bool isBin ) const;
131 virtual QtxParser::Error isValid( const QString&,
132 const QVariant::Type,
133 const QVariant::Type ) const;
134 virtual QtxParser::Error calculate( const QString&, QtxValue&, QtxValue& ) const;
136 static void add( ValueSet&, const QtxValue& );
137 static void add( ValueSet&, const ValueSet& );
138 static void remove( ValueSet&, const QtxValue& );
139 static void remove( ValueSet&, const ValueSet& );