Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends
OOInteraction::CompoundObjectDescriptor Class Reference
Inheritance diagram for OOInteraction::CompoundObjectDescriptor:
OOInteraction::OOOperatorDescriptor Interaction::OperatorDescriptor

Public Member Functions

 CompoundObjectDescriptor (const QString &name, const QString &signature, int precedence, Associativity associativity)
 
virtual OOModel::Expressioncreate (const QList< OOModel::Expression * > &operands)
 
- Public Member Functions inherited from OOInteraction::OOOperatorDescriptor
 OOOperatorDescriptor (const QString &name, const QString &signature, int precedence, Associativity associativity)
 
 OOOperatorDescriptor (const QString &name, const QString &signature, int precedence, Associativity associativity, CreateFunction createFunction)
 
- Public Member Functions inherited from Interaction::OperatorDescriptor
 OperatorDescriptor ()
 
 OperatorDescriptor (const QString &name, const QString &signature, int precedence, Associativity associativity)
 
 OperatorDescriptor (const QString &prefixText, const QString &postfixText)
 
virtual ~OperatorDescriptor ()
 
Associativity associativity ()
 
QStringList delimiters ()
 
const QList< ExpectedToken > & expectedTokens () const
 
const QStringList & infix (int at) const
 
const QList< QStringList > & infixes () const
 
bool isDelimiter (int signatureIndex)
 
bool isTransient ()
 
const QString & name ()
 
int numOperands ()
 
const QStringList & postfix () const
 
int precedence ()
 
const QStringList & prefix () const
 
void setTransient (bool transient)
 
const QStringList & signature ()
 

Static Public Member Functions

static void cleanAllStoredExpressions ()
 
static const QString & compoundSignature ()
 
static bool processDeleteOrBackspaceKey (Qt::Key key, QString &expression, int &index)
 
static const QString storeExpression (OOModel::Expression *object)
 
- Static Public Member Functions inherited from OOInteraction::OOOperatorDescriptor
template<OOModel::AssignmentExpression::AssignmentTypes op>
static OOModel::Expressionassignment (const QList< OOModel::Expression * > &operands)
 
template<OOModel::BinaryOperation::OperatorTypes op>
static OOModel::Expressionbinary (const QList< OOModel::Expression * > &operands)
 
template<OOModel::UnaryOperation::OperatorTypes op>
static OOModel::Expressionunary (const QList< OOModel::Expression * > &operands)
 
- Static Public Member Functions inherited from Interaction::OperatorDescriptor
static bool isDelimiter (const QString &str)
 

Static Private Member Functions

static bool isInQuotes (int index, const QString &string, const QChar &quote='\"')
 
static int nextId ()
 
static QMap< int, OOModel::Expression * > & storedExpressions ()
 

Static Private Attributes

static constexpr int NUM_SIGNATURE_SYMBOLS = 8
 

Friends

class CompoundObjectPlaceholder
 

Additional Inherited Members

- Public Types inherited from OOInteraction::OOOperatorDescriptor
using CreateFunction = std::function< OOModel::Expression *(const QList< OOModel::Expression * > &operands)>
 
- Public Types inherited from Interaction::OperatorDescriptor
enum  Associativity { LeftAssociative , RightAssociative , NotAssociative }
 

Constructor & Destructor Documentation

◆ CompoundObjectDescriptor()

OOInteraction::CompoundObjectDescriptor::CompoundObjectDescriptor ( const QString &  name,
const QString &  signature,
int  precedence,
Associativity  associativity 
)

Member Function Documentation

◆ cleanAllStoredExpressions()

void OOInteraction::CompoundObjectDescriptor::cleanAllStoredExpressions ( )
static

◆ compoundSignature()

const QString & OOInteraction::CompoundObjectDescriptor::compoundSignature ( )
static

◆ create()

OOModel::Expression * OOInteraction::CompoundObjectDescriptor::create ( const QList< OOModel::Expression * > &  operands)
virtual

◆ isInQuotes()

bool OOInteraction::CompoundObjectDescriptor::isInQuotes ( int  index,
const QString &  string,
const QChar &  quote = '\"' 
)
staticprivate

◆ nextId()

int OOInteraction::CompoundObjectDescriptor::nextId ( )
staticprivate

◆ processDeleteOrBackspaceKey()

bool OOInteraction::CompoundObjectDescriptor::processDeleteOrBackspaceKey ( Qt::Key  key,
QString &  expression,
int &  index 
)
static

◆ storedExpressions()

QMap< int, OOModel::Expression * > & OOInteraction::CompoundObjectDescriptor::storedExpressions ( )
staticprivate

◆ storeExpression()

const QString OOInteraction::CompoundObjectDescriptor::storeExpression ( OOModel::Expression object)
static

Friends And Related Function Documentation

◆ CompoundObjectPlaceholder

friend class CompoundObjectPlaceholder
friend

Member Data Documentation

◆ NUM_SIGNATURE_SYMBOLS

constexpr int OOInteraction::CompoundObjectDescriptor::NUM_SIGNATURE_SYMBOLS = 8
staticconstexprprivate