KSeExpr 4.0.4.0
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".
std::string getEditedExpr () const
 Return a reconstructed expression using all the editable's current values.
bool controlsMatch (const EditableExpression &other) const
 Check if the other editable expression has editables that all match i.e. the controls are same.
void updateString (const EditableExpression &other)
 Update the string refered to into the controls (this is only valid if controlsmatch)
Editableoperator[] (const int i)
 Access an editable parameter.
size_t size () const
 Return the count of editable parameters.
const std::vector< std::string > & getVariables () const
 Get list of commentsø

Private Types

using Editables = std::vector<Editable *>

Private Member Functions

void cleanup ()
 clean memeory

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

References EditableExpression().

◆ EditableExpression() [3/3]

EditableExpression::EditableExpression ( EditableExpression && )
default

References EditableExpression().

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, Editable::controlsMatch(), and EditableExpression().

◆ 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.

◆ getVariables()

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

Get list of commentsø

Definition at line 60 of file EditableExpression.h.

References _variables.

◆ operator=() [1/2]

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

References EditableExpression().

◆ operator=() [2/2]

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

References EditableExpression().

◆ 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.

◆ 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(), EditableExpression(), and Editable::updatePositions().

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: