194 void SetValueAt(
double time,
const QVariant& value);
317 virtual QWidget*
CreateWidget(QWidget* existing =
nullptr) = 0;
493 void GetKeyframeData(
double timecode,
int& before,
int& after,
double& d);
519 #endif // EFFECTFIELD_H
bool IsEnabled()
Return whether this field is enabled or not.
Definition: effectfield.cpp:384
Definition: effectfield.h:78
int colspan_
Internal column span value.
Definition: effectfield.h:515
void PrepareDataForKeyframing(bool enabled, ComboAction *ca)
Set up keyframing on this field.
Definition: effectfield.cpp:249
EffectField(EffectRow *parent, const QString &i, EffectFieldType t)
EffectField Constructor.
Definition: effectfield.cpp:41
Definition: effectfield.h:90
const QString & id()
Get the unique identifier of this field set in the constructor.
Definition: effectfield.cpp:284
EffectFieldType
The EffectFieldType enum.
Definition: effectfield.h:67
void EnabledChanged(bool)
Enable change state signal.
virtual QWidget * CreateWidget(QWidget *existing=nullptr)=0
Create a widget for the user to interact with this field.
const EffectFieldType & type()
Get the type of data to expect from this field.
Definition: effectfield.cpp:279
QString id_
Internal unique identifier for this field set in the constructor. Access with id().
Definition: effectfield.h:438
void Clicked()
Clicked signal.
int GetColumnSpan()
Get field's column span.
Definition: effectfield.cpp:67
QVariant GetValueAt(double timecode)
Get the value of this field at a given timecode.
Definition: effectfield.cpp:90
Definition: effectfield.h:75
void SetColumnSpan(int i)
Set field's column span.
Definition: effectfield.cpp:72
void SetValueAt(double time, const QVariant &value)
Set the value of this field at a given timecode.
Definition: effectfield.cpp:198
double FrameToSeconds(long frame)
Convert clip time in frames to clip time in seconds.
Definition: effectfield.cpp:335
void SetEnabled(bool e)
Set the enabled state of this field.
Definition: effectfield.cpp:388
Definition: effectfield.h:72
double Now()
Get the current clip/media time.
Definition: effectfield.cpp:237
Definition: effectfield.h:81
Definition: effectfield.h:87
bool HasKeyframes()
Used by GetValueAt() to determine whether to use keyframe data or persistent data.
Definition: effectfield.cpp:380
The ComboAction class.
Definition: comboaction.h:19
virtual QString ConvertValueToString(const QVariant &v)
Convert a value from this field to a string.
Definition: effectfield.cpp:83
Definition: effectfield.h:69
virtual QVariant ConvertStringToValue(const QString &s)
Convert a string to a value appropriate for this field.
Definition: effectfield.cpp:78
void Changed()
Changed signal.
The EffectField class.
Definition: effectfield.h:56
QVariant persistent_data_
Persistent data object.
Definition: effectfield.h:392
void GetKeyframeData(double timecode, int &before, int &after, double &d)
Internal function for determining where we are between the available keyframes.
Definition: effectfield.cpp:343
virtual void UpdateWidgetValue(QWidget *widget, double timecode)
Update a widget created by CreateWidget() using the value at a given time.
Definition: effectfield.cpp:88
EffectFieldType type_
Internal type variable set in the constructor. Access with type().
Definition: effectfield.h:433
EffectRow * GetParentRow()
Get the EffectRow that this field is a member of.
Definition: effectfield.cpp:62
long NowInFrames()
Retrieve the current clip as a frame number.
Definition: effectfield.cpp:243
QVector< EffectKeyframe > keyframes
Keyframe array.
Definition: effectfield.h:402
bool enabled_
Internal enabled value.
Definition: effectfield.h:510
Definition: effectfield.h:84
double GetValidKeyframeHandlePosition(int key, bool post)
Get the correct X position/time value of a bezier keyframe's handles.
Definition: effectfield.cpp:289
The EffectRow class.
Definition: effectrow.h:51
long SecondsToFrame(double seconds)
Convert clip time in seconds to clip time in frames.
Definition: effectfield.cpp:339