166 lines
3.8 KiB
C
166 lines
3.8 KiB
C
|
|
||
|
|
||
|
#ifndef PALETTEVIEWER_H
|
||
|
#define PALETTEVIEWER_H
|
||
|
|
||
|
#include "paletteviewergui.h"
|
||
|
#include "toonz/tpalettehandle.h"
|
||
|
|
||
|
#undef DVAPI
|
||
|
#undef DVVAR
|
||
|
#ifdef TOONZQT_EXPORTS
|
||
|
#define DVAPI DV_EXPORT_API
|
||
|
#define DVVAR DV_EXPORT_VAR
|
||
|
#else
|
||
|
#define DVAPI DV_IMPORT_API
|
||
|
#define DVVAR DV_IMPORT_VAR
|
||
|
#endif
|
||
|
|
||
|
// forward declaration
|
||
|
class QScrollArea;
|
||
|
class QToolBar;
|
||
|
class PaletteKeyframeNavigator;
|
||
|
class TFrameHandle;
|
||
|
|
||
|
using namespace PaletteViewerGUI;
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
class DVAPI ChangeStyleCommand
|
||
|
{
|
||
|
public:
|
||
|
ChangeStyleCommand() {}
|
||
|
virtual ~ChangeStyleCommand() {}
|
||
|
virtual bool onStyleChanged() = 0;
|
||
|
};
|
||
|
|
||
|
//DAFARE: non mi piace, forse e' meglio un comando esterno!!
|
||
|
class TXsheetHandle;
|
||
|
|
||
|
//=============================================================================
|
||
|
// PaletteViewer
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
class DVAPI PaletteViewer : public QFrame
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
PaletteViewer(QWidget *parent = 0, PaletteViewType viewType = LEVEL_PALETTE,
|
||
|
bool hasSaveToolBar = true, bool hasPageCommand = true, bool hasPasteColors = true);
|
||
|
~PaletteViewer();
|
||
|
|
||
|
const TPaletteHandle *getPaletteHandle() const { return m_paletteHandle; }
|
||
|
void setPaletteHandle(TPaletteHandle *paletteHandle);
|
||
|
|
||
|
const TFrameHandle *getFrameHandle() const { return m_frameHandle; }
|
||
|
void setFrameHandle(TFrameHandle *frameHandle);
|
||
|
|
||
|
const TXsheetHandle *getXsheetHandle() const { return m_xsheetHandle; }
|
||
|
void setXsheetHandle(TXsheetHandle *xsheetHandle);
|
||
|
|
||
|
// for clearing level cache after "paste style" command called from style selection
|
||
|
void setLevelHandle(TXshLevelHandle *levelHandle);
|
||
|
|
||
|
TPalette *getPalette();
|
||
|
|
||
|
void setChangeStyleCommand(ChangeStyleCommand *); // gets ownership
|
||
|
ChangeStyleCommand *getChangeStyleCommand() const { return m_changeStyleCommand; }
|
||
|
|
||
|
int getViewMode() const { return m_pageViewer->getViewMode(); }
|
||
|
void setViewMode(int mode) { m_pageViewer->setViewMode((PaletteViewerGUI::PageViewer::ViewMode)mode); }
|
||
|
|
||
|
void updateView();
|
||
|
|
||
|
void enableSaveAction(bool enable);
|
||
|
|
||
|
protected:
|
||
|
TPaletteHandle *m_paletteHandle;
|
||
|
TFrameHandle *m_frameHandle;
|
||
|
TXsheetHandle *m_xsheetHandle;
|
||
|
|
||
|
QScrollArea *m_pageViewerScrollArea;
|
||
|
PaletteViewerGUI::PageViewer *m_pageViewer;
|
||
|
TabBarContainter *m_tabBarContainer;
|
||
|
PaletteTabBar *m_pagesBar;
|
||
|
|
||
|
QToolBar *m_paletteToolBar;
|
||
|
QToolBar *m_savePaletteToolBar;
|
||
|
|
||
|
int m_indexPageToDelete;
|
||
|
|
||
|
PaletteViewType m_viewType;
|
||
|
|
||
|
PaletteKeyframeNavigator *m_keyFrameButton;
|
||
|
|
||
|
ChangeStyleCommand *m_changeStyleCommand;
|
||
|
|
||
|
bool m_hasSavePaletteToolbar;
|
||
|
bool m_hasPageCommand;
|
||
|
|
||
|
bool m_isSaveActionEnabled;
|
||
|
|
||
|
QAction *m_lockPaletteAction;
|
||
|
QToolButton *m_lockPaletteToolButton;
|
||
|
|
||
|
protected:
|
||
|
void createTabBar();
|
||
|
|
||
|
void createToolBar()
|
||
|
{
|
||
|
createPaletteToolBar();
|
||
|
createSavePaletteToolBar();
|
||
|
}
|
||
|
void createPaletteToolBar();
|
||
|
void createSavePaletteToolBar();
|
||
|
|
||
|
void updateTabBar();
|
||
|
|
||
|
void updateToolBar()
|
||
|
{
|
||
|
updatePaletteToolBar();
|
||
|
updateSavePaletteToolBar();
|
||
|
}
|
||
|
void updatePaletteToolBar();
|
||
|
void updateSavePaletteToolBar();
|
||
|
|
||
|
void resizeEvent(QResizeEvent *event);
|
||
|
void contextMenuEvent(QContextMenuEvent *event);
|
||
|
|
||
|
void showEvent(QShowEvent *);
|
||
|
void hideEvent(QHideEvent *);
|
||
|
|
||
|
void dragEnterEvent(QDragEnterEvent *event);
|
||
|
void dropEvent(QDropEvent *event);
|
||
|
|
||
|
void clearStyleSelection();
|
||
|
|
||
|
protected slots:
|
||
|
|
||
|
void setPageView(int currentIndexPage);
|
||
|
|
||
|
void addNewPage();
|
||
|
void addNewColor();
|
||
|
void deletePage();
|
||
|
|
||
|
void saveStudioPalette();
|
||
|
|
||
|
void onColorStyleSwitched();
|
||
|
void onPaletteChanged();
|
||
|
void onPaletteSwitched();
|
||
|
void onFrameSwitched();
|
||
|
void onTabTextChanged(int tabIndex);
|
||
|
void onViewMode(QAction *);
|
||
|
|
||
|
void changeWindowTitle();
|
||
|
|
||
|
void movePage(int srcIndex, int dstIndex);
|
||
|
|
||
|
void startDragDrop();
|
||
|
|
||
|
void onNameDisplayMode(QAction *);
|
||
|
void setIsLocked(bool lock);
|
||
|
};
|
||
|
|
||
|
#endif // PALETTEVIEWER_H
|