Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef FUNCTION_KEYFRAME_NAVIGATOR_INCLUDED
Toshihiro Shimizu 890ddd
#define FUNCTION_KEYFRAME_NAVIGATOR_INCLUDED
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "toonzqt/keyframenavigator.h"
Toshihiro Shimizu 890ddd
#include "tdoubleparam.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <qtoolbar></qtoolbar>
Toshihiro Shimizu 890ddd
class FunctionPanel;
Toshihiro Shimizu 890ddd
class TFrameHandle;
Toshihiro Shimizu 890ddd
class FrameNavigator;
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class DVAPI FunctionKeyframeNavigator final : public KeyframeNavigator {
Shinya Kitaoka 120a6e
  Q_OBJECT
Shinya Kitaoka 120a6e
  TDoubleParamP m_curve;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  FunctionKeyframeNavigator(QWidget *parent);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void setCurve(TDoubleParam *curve);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected:
Shinya Kitaoka 473e70
  bool hasNext() const override;
Shinya Kitaoka 473e70
  bool hasPrev() const override;
Shinya Kitaoka 473e70
  bool hasKeyframes() const override;
Shinya Kitaoka 473e70
  bool isKeyframe() const override;
Shinya Kitaoka 473e70
  bool isFullKeyframe() const override { return isKeyframe(); }
Shinya Kitaoka 473e70
  void toggle() override;
Shinya Kitaoka 473e70
  void goNext() override;
Shinya Kitaoka 473e70
  void goPrev() override;
Shinya Kitaoka 473e70
Shinya Kitaoka 473e70
  void showEvent(QShowEvent *) override;
Shinya Kitaoka 473e70
  void hideEvent(QHideEvent *) override;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public slots:
Shinya Kitaoka 120a6e
  void onFrameSwitched() { update(); }
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif