|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef FUNCTIONTOOLBAR_INCLUDED
|
|
Toshihiro Shimizu |
890ddd |
#define FUNCTIONTOOLBAR_INCLUDED
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzCore includes
|
|
Toshihiro Shimizu |
890ddd |
#include "tdoubleparam.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzQt includes
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/lineedit.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Qt includes
|
|
Toshihiro Shimizu |
890ddd |
#include <qtoolbar></qtoolbar>
|
|
Toshihiro Shimizu |
890ddd |
#include <qaction></qaction>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#undef DVAPI
|
|
Toshihiro Shimizu |
890ddd |
#undef DVVAR
|
|
Toshihiro Shimizu |
890ddd |
#ifdef TOONZQT_EXPORTS
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_EXPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_EXPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#else
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_IMPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_IMPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#endif
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//============================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Forward declarations
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class TDoubleParam;
|
|
Toshihiro Shimizu |
890ddd |
class TFrameHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
namespace DVGui {
|
|
Toshihiro Shimizu |
890ddd |
class MeasuredDoubleLineEdit;
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class FrameNavigator;
|
|
Toshihiro Shimizu |
890ddd |
class FunctionKeyframeNavigator;
|
|
Toshihiro Shimizu |
890ddd |
class FunctionSelection;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//============================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
namespace DVGui {
|
|
Shinya Kitaoka |
120a6e |
class ToolBar : public QToolBar {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
ToolBar(QWidget *parent = 0) : QToolBar(parent) {
|
|
Shinya Kitaoka |
120a6e |
setFixedHeight(22); // ;_;
|
|
Shinya Kitaoka |
120a6e |
setIconSize(QSize(23, 17)); //
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
// FunctionToolbar declaration
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class FunctionToolbar final : public DVGui::ToolBar, public TParamObserver {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QToolBar *m_valueToolbar, *m_keyframeToolbar;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
DVGui::MeasuredDoubleLineEdit *m_valueFld;
|
|
Shinya Kitaoka |
120a6e |
FrameNavigator *m_frameNavigator;
|
|
Shinya Kitaoka |
120a6e |
FunctionKeyframeNavigator *m_keyframeNavigator;
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_stepFld;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TDoubleParam *m_curve;
|
|
Shinya Kitaoka |
120a6e |
TFrameHandle *m_frameHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
FunctionSelection *m_selection;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
// in una toolbar ogni widget ha un'action associata
|
|
Shinya Kitaoka |
120a6e |
QAction
|
|
Shinya Kitaoka |
120a6e |
*m_valueFldAction; // brutto: da eliminare. serve solo per fare show/hide
|
|
Shinya Kitaoka |
120a6e |
QAction *m_keyframeNavigatorAction; // brutto: da eliminare. serve solo per
|
|
Shinya Kitaoka |
120a6e |
// fare show/hide
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
FunctionToolbar(QWidget *parent = 0);
|
|
Shinya Kitaoka |
120a6e |
~FunctionToolbar();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setSelection(FunctionSelection *);
|
|
Shinya Kitaoka |
120a6e |
void setFrameHandle(TFrameHandle *frameHandle);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void onChange(const TParamChange &) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool anyWidgetHasFocus();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
signals:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void numericalColumnToggled();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setCurve(TDoubleParam *curve);
|
|
Shinya Kitaoka |
120a6e |
void setFrame(double frame);
|
|
Toshihiro Shimizu |
890ddd |
|
|
manongjohn |
4be4bb |
void onNextKeyframe(QWidget *panel);
|
|
manongjohn |
4be4bb |
void onPrevKeyframe(QWidget *panel);
|
|
manongjohn |
4be4bb |
|
|
Toshihiro Shimizu |
890ddd |
private slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onValueFieldChanged();
|
|
Shinya Kitaoka |
120a6e |
void onFrameSwitched();
|
|
Shinya Kitaoka |
120a6e |
void onNavFrameSwitched();
|
|
Shinya Kitaoka |
120a6e |
void onSelectionChanged();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // FUNCTIONTOOLBAR_INCLUDED
|