tahoma2d/toonz/sources/toonzqt/palettedata.h

47 lines
1.1 KiB
C
Raw Normal View History

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-15 18:43:10 +12:00
class PaletteData : public DvMimeData {
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-15 18:43:10 +12:00
PaletteData *clone() const;
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