restored effect field types

This commit is contained in:
itsmattkc
2019-04-09 23:06:26 +10:00
parent a4ff6f3b41
commit a03879a12b
15 changed files with 82 additions and 20 deletions
+38 -4
View File
@@ -58,6 +58,40 @@ class EffectField : public QObject {
Q_OBJECT
public:
/**
* @brief The EffectFieldType enum
*
* Predetermined types of fields. Used throughout Olive to identify what kind of data to expect from GetValueAt().
*
* This enum is also currently used to match an external XML effect's fields with the correct derived class (e.g.
* EFFECT_FIELD_DOUBLE matches to DoubleField).
*/
enum EffectFieldType {
/** Values are doubles. Also corresponds to DoubleField. */
EFFECT_FIELD_DOUBLE,
/** Values are colors. Also corresponds to ColorField. */
EFFECT_FIELD_COLOR,
/** Values are strings. Also corresponds to StringField. */
EFFECT_FIELD_STRING,
/** Values are booleans. Also corresponds to BoolField. */
EFFECT_FIELD_BOOL,
/** Values are arbitrary data. Also corresponds to ComboField. */
EFFECT_FIELD_COMBO,
/** Values are font family names (in string). Also corresponds to FontField. */
EFFECT_FIELD_FONT,
/** Values are filenames (in string). Also corresponds to FileField. */
EFFECT_FIELD_FILE,
/** Values is a UI object with no data. Corresponds to nothing. */
EFFECT_FIELD_UI
};
/**
* @brief EffectField Constructor
*
@@ -80,7 +114,7 @@ public:
*
* The type of data contained within this field. This is expected to be filled by a derived class.
*/
EffectField(EffectRow* parent, const QString& i, olive::nodes::DataType t);
EffectField(EffectRow* parent, const QString& i, EffectFieldType t);
/**
* @brief Get the EffectRow that this field is a member of.
@@ -98,9 +132,9 @@ public:
*
* @return
*
* A member of the olive::nodes::DataType enum.
* A member of the EffectFieldType enum.
*/
const olive::nodes::DataType& type();
const EffectFieldType& type();
/**
* @brief Get the unique identifier of this field set in the constructor
@@ -398,7 +432,7 @@ private:
/**
* @brief Internal type variable set in the constructor. Access with type().
*/
olive::nodes::DataType type_;
EffectFieldType type_;
/**
* @brief Internal unique identifier for this field set in the constructor. Access with id().