| #pragma once |
| |
| #ifndef STYLESELECTION_INCLUDED |
| #define STYLESELECTION_INCLUDED |
| |
| #include "toonzqt/selection.h" |
| #include "toonz/tpalettehandle.h" |
| #include "tpalette.h" |
| #include <set> |
| #include <QString> |
| |
| class QByteArray; |
| |
| #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 |
| |
| class TXsheetHandle; |
| class TXshLevelHandle; |
| |
| |
| |
| |
| |
| class DVAPI TStyleSelection final : public TSelection { |
| TPaletteHandle *m_paletteHandle; |
| |
| |
| |
| TXsheetHandle *m_xsheetHandle; |
| |
| TXshLevelHandle *m_levelHandle; |
| |
| int m_pageIndex; |
| std::set<int> m_styleIndicesInPage; |
| |
| public: |
| TStyleSelection(); |
| TStyleSelection(TStyleSelection *styleSelection) |
| : m_paletteHandle(styleSelection->getPaletteHandle()) |
| , m_pageIndex(styleSelection->getPageIndex()) |
| , m_styleIndicesInPage(styleSelection->getIndicesInPage()) {} |
| ~TStyleSelection(); |
| |
| void select(int pageIndex); |
| void select(int pageIndex, int styleIndexInPage, bool on); |
| bool isSelected(int pageIndex, int styleIndexInPage) const; |
| bool isPageSelected(int pageIndex) const; |
| bool canHandleStyles(); |
| void selectNone() override; |
| bool isEmpty() const override; |
| int getStyleCount() const; |
| TPaletteHandle *getPaletteHandle() const { return m_paletteHandle; } |
| void setPaletteHandle(TPaletteHandle *paletteHandle) { |
| m_paletteHandle = paletteHandle; |
| } |
| TPalette *getPalette() const { return m_paletteHandle->getPalette(); } |
| int getPageIndex() const { return m_pageIndex; } |
| const std::set<int> &getIndicesInPage() const { return m_styleIndicesInPage; } |
| |
| void getIndices(std::set<int> &indices) const; |
| |
| |
| |
| void setXsheetHandle(TXsheetHandle *xsheetHandle) { |
| m_xsheetHandle = xsheetHandle; |
| } |
| TXsheetHandle *getXsheetHandle() const { return m_xsheetHandle; } |
| void setLevelHandle(TXshLevelHandle *levelHandle) { |
| m_levelHandle = levelHandle; |
| } |
| |
| |
| void cutStyles(); |
| void copyStyles(); |
| void pasteStyles(); |
| void pasteStylesValues(bool pasteName, bool pasteColor = true); |
| void pasteStylesValue(); |
| void pasteStylesColor(); |
| void pasteStylesName(); |
| void deleteStyles(); |
| void eraseUnsedStyle(); |
| void blendStyles(); |
| void toggleLink(); |
| void eraseToggleLink(); |
| |
| void enableCommands() override; |
| |
| void toggleKeyframe(int frame); |
| |
| |
| void removeLink(); |
| |
| void getBackOriginalStyle(); |
| |
| bool hasLinkedStyle(); |
| }; |
| |
| #endif |