|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef PALETTEVIEWER_H
|
|
Toshihiro Shimizu |
890ddd |
#define PALETTEVIEWER_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Kite |
5cb633 |
#include "saveloadqsettings.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "paletteviewergui.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/tpalettehandle.h"
|
|
Kite |
5cb633 |
#include "toonz/preferences.h"
|
|
Kite |
5cb633 |
#include <qvboxlayout></qvboxlayout>
|
|
Kite |
5cb633 |
#include <qhboxlayout></qhboxlayout>
|
|
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 |
// forward declaration
|
|
Toshihiro Shimizu |
890ddd |
class QScrollArea;
|
|
Kite |
5cb633 |
class DvScrollWidget;
|
|
Toshihiro Shimizu |
890ddd |
class QToolBar;
|
|
Toshihiro Shimizu |
890ddd |
class PaletteKeyframeNavigator;
|
|
Toshihiro Shimizu |
890ddd |
class TFrameHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
using namespace PaletteViewerGUI;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class DVAPI ChangeStyleCommand {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
ChangeStyleCommand() {}
|
|
Shinya Kitaoka |
120a6e |
virtual ~ChangeStyleCommand() {}
|
|
Shinya Kitaoka |
120a6e |
virtual bool onStyleChanged() = 0;
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
// DAFARE: non mi piace, forse e' meglio un comando esterno!!
|
|
Toshihiro Shimizu |
890ddd |
class TXsheetHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// PaletteViewer
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Kite |
5cb633 |
class DVAPI PaletteViewer final : public QFrame, public SaveLoadQSettings {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
PaletteViewer(QWidget *parent = 0, PaletteViewType viewType = LEVEL_PALETTE,
|
|
Shinya Kitaoka |
120a6e |
bool hasSaveToolBar = true, bool hasPageCommand = true,
|
|
Shinya Kitaoka |
120a6e |
bool hasPasteColors = true);
|
|
Shinya Kitaoka |
120a6e |
~PaletteViewer();
|
|
Toshihiro Shimizu |
890ddd |
|
|
justburner |
ebb16a |
enum ToolbarButtons : int //! Toolbar buttons to display
|
|
justburner |
ebb16a |
{
|
|
justburner |
ebb16a |
TBVisKeyframe,
|
|
justburner |
ebb16a |
TBVisNewStylePage,
|
|
justburner |
ebb16a |
TBVisPaletteGizmo,
|
|
justburner |
ebb16a |
TBVisNameEditor,
|
|
justburner |
ebb16a |
TBVisTotal
|
|
justburner |
ebb16a |
};
|
|
justburner |
ebb16a |
|
|
justburner |
ebb16a |
TPaletteHandle *getPaletteHandle() const { return m_paletteHandle; }
|
|
Shinya Kitaoka |
120a6e |
void setPaletteHandle(TPaletteHandle *paletteHandle);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
const TFrameHandle *getFrameHandle() const { return m_frameHandle; }
|
|
Shinya Kitaoka |
120a6e |
void setFrameHandle(TFrameHandle *frameHandle);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
const TXsheetHandle *getXsheetHandle() const { return m_xsheetHandle; }
|
|
Shinya Kitaoka |
120a6e |
void setXsheetHandle(TXsheetHandle *xsheetHandle);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
// for clearing level cache after "paste style" command called from style
|
|
Shinya Kitaoka |
120a6e |
// selection
|
|
Shinya Kitaoka |
120a6e |
void setLevelHandle(TXshLevelHandle *levelHandle);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TPalette *getPalette();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setChangeStyleCommand(ChangeStyleCommand *); // gets ownership
|
|
Shinya Kitaoka |
120a6e |
ChangeStyleCommand *getChangeStyleCommand() const {
|
|
Shinya Kitaoka |
120a6e |
return m_changeStyleCommand;
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
int getViewMode() const { return m_pageViewer->getViewMode(); }
|
|
Shinya Kitaoka |
120a6e |
void setViewMode(int mode) {
|
|
Shinya Kitaoka |
120a6e |
m_pageViewer->setViewMode((PaletteViewerGUI::PageViewer::ViewMode)mode);
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void updateView();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void enableSaveAction(bool enable);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Kite |
5cb633 |
// SaveLoadQSettings
|
|
Kite |
5cb633 |
virtual void save(QSettings &settings) const override;
|
|
Kite |
5cb633 |
virtual void load(QSettings &settings) override;
|
|
Kite |
5cb633 |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
TPaletteHandle *m_paletteHandle;
|
|
Shinya Kitaoka |
120a6e |
TFrameHandle *m_frameHandle;
|
|
Shinya Kitaoka |
120a6e |
TXsheetHandle *m_xsheetHandle;
|
|
shun-iwasawa |
b37337 |
TXshLevelHandle *m_levelHandle;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QScrollArea *m_pageViewerScrollArea;
|
|
Shinya Kitaoka |
120a6e |
PaletteViewerGUI::PageViewer *m_pageViewer;
|
|
Shinya Kitaoka |
120a6e |
TabBarContainter *m_tabBarContainer;
|
|
Shinya Kitaoka |
120a6e |
PaletteTabBar *m_pagesBar;
|
|
Shinya Kitaoka |
120a6e |
QToolBar *m_paletteToolBar;
|
|
Shinya Kitaoka |
120a6e |
QToolBar *m_savePaletteToolBar;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
int m_indexPageToDelete;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
PaletteViewType m_viewType;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
PaletteKeyframeNavigator *m_keyFrameButton;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
ChangeStyleCommand *m_changeStyleCommand;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool m_hasSavePaletteToolbar;
|
|
Shinya Kitaoka |
120a6e |
bool m_hasPageCommand;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool m_isSaveActionEnabled;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QAction *m_lockPaletteAction;
|
|
Shinya Kitaoka |
120a6e |
QToolButton *m_lockPaletteToolButton;
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun-iwasawa |
baaa2c |
bool m_toolbarOnTop;
|
|
shun-iwasawa |
baaa2c |
QAction *m_showToolbarOnTopAct;
|
|
shun-iwasawa |
baaa2c |
DvScrollWidget *m_toolbarContainer;
|
|
shun-iwasawa |
baaa2c |
QHBoxLayout *m_hLayout;
|
|
shun-iwasawa |
baaa2c |
|
|
justburner |
ebb16a |
StyleNameEditor *m_styleNameEditor;
|
|
justburner |
ebb16a |
QAction *m_sharedGizmoAction;
|
|
justburner |
ebb16a |
|
|
justburner |
ebb16a |
int m_toolbarVisibleOtherParts;
|
|
justburner |
ebb16a |
QMultiMap<int, *="" qaction=""> m_toolbarParts;</int,>
|
|
justburner |
ebb16a |
QAction *m_visibleKeysAction;
|
|
justburner |
ebb16a |
QAction *m_visibleNewAction;
|
|
justburner |
ebb16a |
QAction *m_visibleGizmoAction;
|
|
justburner |
ebb16a |
QAction *m_visibleNameAction;
|
|
justburner |
ebb16a |
|
|
justburner |
38e30b |
bool m_variableWidth;
|
|
justburner |
38e30b |
QAction *m_variableWidthAct;
|
|
justburner |
38e30b |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
void createTabBar();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void createToolBar() {
|
|
Shinya Kitaoka |
120a6e |
createPaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
createSavePaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
void createPaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
void createSavePaletteToolBar();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void updateTabBar();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void updateToolBar() {
|
|
Shinya Kitaoka |
120a6e |
updatePaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
updateSavePaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
void updatePaletteToolBar();
|
|
Shinya Kitaoka |
120a6e |
void updateSavePaletteToolBar();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void resizeEvent(QResizeEvent *event) override;
|
|
Shinya Kitaoka |
473e70 |
void contextMenuEvent(QContextMenuEvent *event) override;
|
|
shun-iwasawa |
b37337 |
void mousePressEvent(QMouseEvent *event) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void showEvent(QShowEvent *) override;
|
|
Shinya Kitaoka |
473e70 |
void hideEvent(QHideEvent *) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void dragEnterEvent(QDragEnterEvent *event) override;
|
|
Shinya Kitaoka |
473e70 |
void dropEvent(QDropEvent *event) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void clearStyleSelection();
|
|
Toshihiro Shimizu |
890ddd |
|
|
justburner |
ebb16a |
void applyToolbarPartVisibility(int part, bool visible);
|
|
justburner |
ebb16a |
|
|
Toshihiro Shimizu |
890ddd |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setPageView(int currentIndexPage);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void addNewPage();
|
|
Shinya Kitaoka |
120a6e |
void addNewColor();
|
|
Shinya Kitaoka |
120a6e |
void deletePage();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void saveStudioPalette();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onColorStyleSwitched();
|
|
Shinya Kitaoka |
120a6e |
void onPaletteChanged();
|
|
Shinya Kitaoka |
120a6e |
void onPaletteSwitched();
|
|
Shinya Kitaoka |
120a6e |
void onFrameSwitched();
|
|
Shinya Kitaoka |
120a6e |
void onTabTextChanged(int tabIndex);
|
|
Shinya Kitaoka |
120a6e |
void onViewMode(QAction *);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void changeWindowTitle();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void movePage(int srcIndex, int dstIndex);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void startDragDrop();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onNameDisplayMode(QAction *);
|
|
Shinya Kitaoka |
120a6e |
void setIsLocked(bool lock);
|
|
manongjohn |
649b9a |
|
|
manongjohn |
649b9a |
void onSwitchToPage(int pageIndex);
|
|
shun-iwasawa |
726b1d |
void onShowNewStyleButtonToggled();
|
|
shun-iwasawa |
baaa2c |
|
|
shun-iwasawa |
baaa2c |
void toggleToolbarOnTop();
|
|
justburner |
ebb16a |
|
|
justburner |
ebb16a |
void toggleKeyframeVisibility(bool);
|
|
justburner |
ebb16a |
void toggleNewStylePageVisibility(bool);
|
|
justburner |
ebb16a |
void togglePaletteGizmoVisibility(bool);
|
|
justburner |
ebb16a |
void toggleNameEditorVisibility(bool);
|
|
justburner |
38e30b |
|
|
justburner |
38e30b |
void toggleVariableWidth(bool);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // PALETTEVIEWER_H
|