21#ifndef _ExprControlCollection_h
22#define _ExprControlCollection_h
27#include <QTextBrowser>
28#include <QPlainTextEdit>
static void setAnimCurveCallback(AnimCurveCallback callback)
void(* AnimCurveCallback)(const std::string &, animlib::AnimCurve &curve)
Factors a SeExpr into an editable expression with controls (i.e. value boxes, curve boxes)
This class is the UI for adding widgets.
QLineEdit * animCurveLookup
QLineEdit * vectorDefault0
QLineEdit * animCurveLink
QRadioButton * grayPaletteBtn
void colorChooseClicked()
QLineEdit * vectorDefault1
QRadioButton * rainbowPaletteBtn
QLineEdit * stringDefaultWidget
ExprAddDialog(int &count, QWidget *parent=0)
QLineEdit * stringNameWidget
QLineEdit * deepWaterLookup
QComboBox * stringTypeWidget
QLineEdit * colorCurveLookup
QLineEdit * vectorDefault2
QPushButton * colorWidget
const char * initSwatch()
void controlChanged(int id)
Notification that a specific control was changed.
bool rebuildControls(const QString &expressionText, std::vector< QString > &variables)
Rebuild the controls given the new expressionText. Return any local variables found.
ExprControlCollection(QWidget *parent=0, bool showAddButton=true)
void insertString(const std::string &controlString)
void singleControlChanged(int id)
Notification when by a control whenever it is edited.
void linkColorOutput(QColor color)
Gives information about when a link color was changed.
QVBoxLayout * controlLayout
void addControlDialog()
When a user clicks "Add Widget" button.
std::vector< ExprControl * > _controls
void linkColorLink(int id)
Notification by a control that a new color link is desired.
int numControls()
Number of controls.
void linkColorEdited(int id, QColor color)
Notification by a control that a color is edited (when it is linked)
EditableExpression * editableExpression
void updateText(const int id, QString &text)
Request new text, given taking into account control id's new values.
void linkColorInput(QColor color)
static void setAnimCurveCallback(AnimCurveControl::AnimCurveCallback callback)
Anim curve callback.
</pre > Once we have this we need an instance to store our variable and provide a reference to that We make it because it may be useful to use the same ExprVarRef from multiple expressions !For if you have expressions that all have access to the same variables