Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
Interaction::Operator Class Reference
Inheritance diagram for Interaction::Operator:
Interaction::Expression Interaction::UnfinishedOperator

Public Member Functions

 Operator (OperatorDescriptor *descriptor, Operator *parent=nullptr)
 
virtual ~Operator ()
 
virtual void accept (ExpressionVisitor *visitor)
 
void append (Expression *e)
 
Expressionat (int i, bool remove_from_list=false)
 
void clear ()
 
bool contains (Expression *e)
 
OperatorDescriptordescriptor ()
 
virtual ExpressionContext findContext (int cursor_pos)
 
virtual ExpressionfindCutExpression (bool leftside, QString cut_string)
 
Expressionfirst (bool remove_from_list=false)
 
void globalDelimiterBoundaries (int delim, int &begin, int &end)
 
void globalExpressionBoundaries (Expression *e, int &begin, int &end)
 
void insert (Expression *e, int pos)
 
Expressionlast (bool remove_from_list=false)
 
const QList< Expression * > operands ()
 
void prepend (Expression *e)
 
void remove (Expression *e)
 
virtual QString renderText ()
 
ExpressionreplaceOperand (Expression *oldExpr, Expression *newExpr)
 
void setDoNotDeleteTransientDescriptor (bool doNotDelete)
 
int size ()
 
virtual ExpressionsmallestLeftmostSubExpr ()
 
virtual ExpressionsmallestRightmostSubExpr ()
 
- Public Member Functions inherited from Interaction::Expression
 Expression (const int type, Operator *parent=nullptr)
 
virtual ~Expression ()
 
int length ()
 
Operatorparent ()
 
void removeFromParent ()
 
void setParent (Operator *new_parent)
 
int type ()
 

Static Public Member Functions

static int type ()
 

Private Member Functions

ExpressionpossiblyRemove (Expression *e, bool remove)
 

Private Attributes

OperatorDescriptordescriptor_
 
bool do_not_delete_transient_descriptor_
 
QList< Expression * > operands_
 

Constructor & Destructor Documentation

◆ Operator()

Interaction::Operator::Operator ( OperatorDescriptor descriptor,
Operator parent = nullptr 
)

◆ ~Operator()

Interaction::Operator::~Operator ( )
virtual

Member Function Documentation

◆ accept()

void Interaction::Operator::accept ( ExpressionVisitor visitor)
virtual

◆ append()

void Interaction::Operator::append ( Expression e)
inline

◆ at()

Expression * Interaction::Operator::at ( int  i,
bool  remove_from_list = false 
)

◆ clear()

void Interaction::Operator::clear ( )

◆ contains()

bool Interaction::Operator::contains ( Expression e)
inline

◆ descriptor()

OperatorDescriptor * Interaction::Operator::descriptor ( )
inline

◆ findContext()

ExpressionContext Interaction::Operator::findContext ( int  cursor_pos)
virtual

◆ findCutExpression()

Expression * Interaction::Operator::findCutExpression ( bool  leftside,
QString  cut_string 
)
virtual

Reimplemented from Interaction::Expression.

◆ first()

Expression * Interaction::Operator::first ( bool  remove_from_list = false)

◆ globalDelimiterBoundaries()

void Interaction::Operator::globalDelimiterBoundaries ( int  delim,
int &  begin,
int &  end 
)

◆ globalExpressionBoundaries()

void Interaction::Operator::globalExpressionBoundaries ( Expression e,
int &  begin,
int &  end 
)

◆ insert()

void Interaction::Operator::insert ( Expression e,
int  pos 
)

◆ last()

Expression * Interaction::Operator::last ( bool  remove_from_list = false)

◆ operands()

const QList< Expression * > Interaction::Operator::operands ( )
inline

◆ possiblyRemove()

Expression * Interaction::Operator::possiblyRemove ( Expression e,
bool  remove 
)
private

◆ prepend()

void Interaction::Operator::prepend ( Expression e)
inline

◆ remove()

void Interaction::Operator::remove ( Expression e)

◆ renderText()

QString Interaction::Operator::renderText ( )
virtual

◆ replaceOperand()

Expression * Interaction::Operator::replaceOperand ( Expression oldExpr,
Expression newExpr 
)

◆ setDoNotDeleteTransientDescriptor()

void Interaction::Operator::setDoNotDeleteTransientDescriptor ( bool  doNotDelete)
inline

◆ size()

int Interaction::Operator::size ( )
inline

◆ smallestLeftmostSubExpr()

Expression * Interaction::Operator::smallestLeftmostSubExpr ( )
virtual

Reimplemented from Interaction::Expression.

◆ smallestRightmostSubExpr()

Expression * Interaction::Operator::smallestRightmostSubExpr ( )
virtual

Reimplemented from Interaction::Expression.

◆ type()

int Interaction::Operator::type ( )
inlinestatic

Member Data Documentation

◆ descriptor_

OperatorDescriptor* Interaction::Operator::descriptor_
private

◆ do_not_delete_transient_descriptor_

bool Interaction::Operator::do_not_delete_transient_descriptor_
private

◆ operands_

QList<Expression*> Interaction::Operator::operands_
private