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

Public Member Functions

 Expression (const int type, Operator *parent=nullptr)
 
virtual ~Expression ()
 
virtual void accept (ExpressionVisitor *visitor)=0
 
virtual ExpressionContext findContext (int cursor_pos)=0
 
virtual ExpressionfindCutExpression (bool leftside, QString cut_string)
 
int length ()
 
Operatorparent ()
 
void removeFromParent ()
 
virtual QString renderText ()=0
 
void setParent (Operator *new_parent)
 
virtual ExpressionsmallestLeftmostSubExpr ()
 
virtual ExpressionsmallestRightmostSubExpr ()
 
int type ()
 

Private Attributes

Operatorparent_
 
const int type_
 

Constructor & Destructor Documentation

◆ Expression()

Interaction::Expression::Expression ( const int  type,
Operator parent = nullptr 
)

◆ ~Expression()

Interaction::Expression::~Expression ( )
virtual

Member Function Documentation

◆ accept()

virtual void Interaction::Expression::accept ( ExpressionVisitor visitor)
pure virtual

◆ findContext()

virtual ExpressionContext Interaction::Expression::findContext ( int  cursor_pos)
pure virtual

◆ findCutExpression()

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

Reimplemented in Interaction::Operator.

◆ length()

int Interaction::Expression::length ( )
inline

◆ parent()

Operator* Interaction::Expression::parent ( )
inline

◆ removeFromParent()

void Interaction::Expression::removeFromParent ( )

◆ renderText()

virtual QString Interaction::Expression::renderText ( )
pure virtual

◆ setParent()

void Interaction::Expression::setParent ( Operator new_parent)

◆ smallestLeftmostSubExpr()

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

Reimplemented in Interaction::Operator.

◆ smallestRightmostSubExpr()

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

Reimplemented in Interaction::Operator.

◆ type()

int Interaction::Expression::type ( )
inline

Member Data Documentation

◆ parent_

Operator* Interaction::Expression::parent_
private

◆ type_

const int Interaction::Expression::type_
private