#include <QAbstractItemView>
#include <QSpinBox>
-class QButtonGroup;
+class PositionEdit;
#include "ui_keyframeeditor_ui.h"
#include "definitions.h"
public:
explicit KeyframeEdit(QDomElement e, int minFrame, int maxFrame, Timecode tc, int activeKeyframe, QWidget* parent = 0);
virtual ~KeyframeEdit();
- void addParameter(QDomElement e, int activeKeyframe = -1);
+ virtual void addParameter(QDomElement e, int activeKeyframe = -1);
const QString getValue(const QString &name);
/** @brief Updates the timecode display according to settings (frame number or hh:mm:ss:ff) */
void updateTimecodeFormat();
/** @brief Makes the first parameter visible in timeline if no parameter is selected. */
void checkVisibleParam();
-private:
- QList <QDomElement> m_params;
- int m_min;
- int m_max;
- Timecode m_timecode;
- QGridLayout *m_slidersLayout;
- QButtonGroup *m_showButtons;
+public slots:
- void generateAllParams();
+ void slotUpdateRange(int inPoint, int outPoint);
+
+protected:
/** @brief Gets the position of a keyframe from the table.
- * @param row Row of the keyframe in the table */
+ * @param row Row of the keyframe in the table */
int getPos(int row);
/** @brief Converts a frame value to timecode considering the frames vs. HH:MM:SS:FF setting.
- * @return timecode */
+ * @return timecode */
QString getPosString(int pos);
+ void generateAllParams();
+
+ int m_min;
+ int m_max;
+
+protected slots:
+ void slotAdjustKeyframeInfo(bool seek = true);
+
+private:
+ QList <QDomElement> m_params;
+ Timecode m_timecode;
+ QGridLayout *m_slidersLayout;
+ PositionEdit *m_position;
+
private slots:
void slotDeleteKeyframe();
void slotAddKeyframe();
void slotGenerateParams(int row, int column);
- void slotAdjustKeyframeInfo(bool seek = true);
void slotAdjustKeyframePos(int value);
- void slotAdjustKeyframeValue(int value);
+ void slotAdjustKeyframeValue(double value);
/** @brief Turns the seek to keyframe position setting on/off.
* @param seek true = seeking on */
void slotSetSeeking(bool seek);
void slotResetKeyframe();
/** @brief Makes the parameter at column @param id the visible (in timeline) one. */
- void slotUpdateVisibleParameter(int id);
+ void slotUpdateVisibleParameter(int id, bool update = true);
signals:
void parameterChanged();
void seekToPos(int);
+ void showComments(bool show);
};
#endif