2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef PALETTE_DATA_INCLUDED
|
|
|
|
#define PALETTE_DATA_INCLUDED
|
|
|
|
|
|
|
|
#include "toonzqt/dvmimedata.h"
|
|
|
|
#include "tpalette.h"
|
|
|
|
#include <set>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
class TPalette;
|
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
// PaletteData
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
/*! Useful to set data in drag and drop event styles or palette.
|
|
|
|
*/
|
2016-06-29 18:17:12 +12:00
|
|
|
class PaletteData final : public DvMimeData {
|
2016-06-15 18:43:10 +12:00
|
|
|
TPalette *m_palette;
|
|
|
|
std::set<int> m_styleIndicesInPage;
|
|
|
|
int m_pageIndex;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
PaletteData() : m_palette(0), m_pageIndex(-1) {}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
~PaletteData() {}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-19 20:06:29 +12:00
|
|
|
PaletteData *clone() const override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
void setPaletteData(TPalette *palette, int pageIndex,
|
|
|
|
std::set<int> styleIndicesInPage);
|
|
|
|
void setPalette(TPalette *palette);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
bool hasStyleIndeces() const {
|
|
|
|
return m_pageIndex != -1 && m_styleIndicesInPage.size() > 0;
|
|
|
|
}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
bool hasOnlyPalette() const { return !hasStyleIndeces(); }
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
TPalette *getPalette() const { return m_palette; }
|
|
|
|
int getPageIndex() const { return m_pageIndex; }
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
const std::set<int> &getIndicesInPage() const { return m_styleIndicesInPage; }
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|