16 #ifndef smtk_extension_qtSimpleExpressionView_h
17 #define smtk_extension_qtSimpleExpressionView_h
19 #include "smtk/extension/qt/Exports.h"
20 #include "smtk/extension/qt/qtBaseAttributeView.h"
26 class QListWidgetItem;
29 class QTableWidgetItem;
39 class SMTKQTEXT_EXPORT qtSimpleExpressionViewInternals
42 qtSimpleExpressionViewInternals() { this->FunctionParserDescription =
nullptr; }
44 ~qtSimpleExpressionViewInternals();
46 const char* getFunctionParserDescription();
49 QListWidget* FuncList;
50 QPushButton* AddButton;
51 QPushButton* DeleteButton;
52 QPushButton* CopyButton;
53 QPushButton* LoadCSVButton;
56 QLineEdit* ExpressionInput;
57 QLineEdit* DeltaInput;
58 QLineEdit* InitValueInput;
59 QPushButton* AddValueButton;
60 QPushButton* RemoveValueButton;
61 QGroupBox* EditorGroup;
63 char* FunctionParserDescription;
73 void buildSimpleExpression(QString& funcExpr, QString& funcVals,
int numberOfComponents);
75 QListWidgetItem* getSelectedItem();
76 void displayExpressionError(std::string& errorMsg,
int errorPos);
78 int getNumberOfComponents();
81 void onFuncSelectionChanged(QListWidgetItem*, QListWidgetItem*);
82 void onFuncValueChanged(QTableWidgetItem*);
83 void onFuncNameChanged(QListWidgetItem*);
86 void onCopySelected();
87 void onDeleteSelected();
88 void onFuncTableKeyPress(QKeyEvent*);
90 void onRemoveSelectedValues();
92 virtual void createFunctionWithExpression();
93 void updateUI()
override;
94 void onShowCategory()
override;
99 void createWidget()
override;
100 void updateTableHeader();
109 void addNewValue(
double* vals,
int numVals);
110 void updateFunctionEditorUI(
113 void pasteFunctionValues(QString& values,
bool clearExp =
true);
114 virtual void clearFuncExpression();
115 virtual void getAllDefinitions(QList<smtk::attribute::DefinitionPtr>& defs);
117 qtSimpleExpressionViewInternals* Internals;