KSeExpr  4.0.4.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
EditableExpression Class Reference

Factors a SeExpr into an editable expression with controls (i.e. value boxes, curve boxes) More...

#include <EditableExpression.h>

Public Member Functions

 EditableExpression ()=default
 
virtual ~EditableExpression ()
 
EditableExpressionoperator= (const EditableExpression &)=default
 
EditableExpressionoperator= (EditableExpression &&)=default
 
 EditableExpression (const EditableExpression &)=default
 
 EditableExpression (EditableExpression &&)=default
 
void setExpr (const std::string &expr)
 Set's expressions and parses it into "control editable form". More...
 
std::string getEditedExpr () const
 Return a reconstructed expression using all the editable's current values. More...
 
bool controlsMatch (const EditableExpression &other) const
 Check if the other editable expression has editables that all match i.e. the controls are same. More...
 
void updateString (const EditableExpression &other)
 Update the string refered to into the controls (this is only valid if controlsmatch) More...
 
Editableoperator[] (const int i)
 Access an editable parameter. More...
 
size_t size () const
 Return the count of editable parameters. More...
 
const std::vector< std::string > & getVariables () const
 Get list of commentsø More...
 

Private Types

using Editables = std::vector< Editable * >
 

Private Member Functions

void cleanup ()
 clean memeory More...
 

Private Attributes

std::string _expr
 
Editables _editables
 
std::vector< std::string > _variables
 

Detailed Description

Factors a SeExpr into an editable expression with controls (i.e. value boxes, curve boxes)

Definition at line 19 of file EditableExpression.h.

Member Typedef Documentation

◆ Editables

using EditableExpression::Editables = std::vector<Editable *>
private

Definition at line 22 of file EditableExpression.h.

Constructor & Destructor Documentation

◆ EditableExpression() [1/3]

EditableExpression::EditableExpression ( )
default

◆ ~EditableExpression()

EditableExpression::~EditableExpression ( )
virtual

Definition at line 12 of file EditableExpression.cpp.

References cleanup().

◆ EditableExpression() [2/3]

EditableExpression::EditableExpression ( const EditableExpression )
default

◆ EditableExpression() [3/3]

EditableExpression::EditableExpression ( EditableExpression &&  )
default

Member Function Documentation

◆ cleanup()

void EditableExpression::cleanup ( )
private

clean memeory

Definition at line 51 of file EditableExpression.cpp.

References _editables, and _variables.

Referenced by setExpr(), and ~EditableExpression().

◆ controlsMatch()

bool EditableExpression::controlsMatch ( const EditableExpression other) const

Check if the other editable expression has editables that all match i.e. the controls are same.

Definition at line 87 of file EditableExpression.cpp.

References _editables, and Editable::controlsMatch().

Referenced by ExprControlCollection::rebuildControls().

◆ getEditedExpr()

std::string EditableExpression::getEditedExpr ( ) const

Return a reconstructed expression using all the editable's current values.

Definition at line 59 of file EditableExpression.cpp.

References _editables, _expr, Editable::appendString(), Editable::endPos, and Editable::startPos.

Referenced by ExprControlCollection::updateText().

◆ getVariables()

const std::vector<std::string>& EditableExpression::getVariables ( ) const
inline

Get list of commentsø

Definition at line 60 of file EditableExpression.h.

References _variables.

Referenced by ExprControlCollection::rebuildControls().

◆ operator=() [1/2]

EditableExpression& EditableExpression::operator= ( const EditableExpression )
default

◆ operator=() [2/2]

EditableExpression& EditableExpression::operator= ( EditableExpression &&  )
default

◆ operator[]()

Editable* EditableExpression::operator[] ( const int  i)
inline

Access an editable parameter.

Definition at line 48 of file EditableExpression.h.

References _editables.

◆ setExpr()

void EditableExpression::setExpr ( const std::string &  expr)

Set's expressions and parses it into "control editable form".

Definition at line 17 of file EditableExpression.cpp.

References _editables, _expr, _variables, cleanup(), Editable::endPos, ExprSpecParse(), and Editable::parseComment().

Referenced by ExprControlCollection::rebuildControls().

◆ size()

size_t EditableExpression::size ( ) const
inline

Return the count of editable parameters.

Definition at line 54 of file EditableExpression.h.

References _editables.

Referenced by ExprControlCollection::rebuildControls().

◆ updateString()

void EditableExpression::updateString ( const EditableExpression other)

Update the string refered to into the controls (this is only valid if controlsmatch)

Definition at line 73 of file EditableExpression.cpp.

References _editables, _expr, _variables, Editable::controlsMatch(), and Editable::updatePositions().

Referenced by ExprControlCollection::rebuildControls().

Member Data Documentation

◆ _editables

Editables EditableExpression::_editables
private

◆ _expr

std::string EditableExpression::_expr
private

Definition at line 21 of file EditableExpression.h.

Referenced by getEditedExpr(), setExpr(), and updateString().

◆ _variables

std::vector<std::string> EditableExpression::_variables
private

Definition at line 24 of file EditableExpression.h.

Referenced by cleanup(), getVariables(), setExpr(), and updateString().


The documentation for this class was generated from the following files: