Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "styledata.h"
Toshihiro Shimizu 890ddd
#include "tcolorstyles.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//=============================================================================
Toshihiro Shimizu 890ddd
// StyleData
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
StyleData::StyleData()
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
StyleData::~StyleData()
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	int i;
Toshihiro Shimizu 890ddd
	for (i = 0; i < (int)m_styles.size(); i++)
Toshihiro Shimizu 890ddd
		delete m_styles[i].second;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void StyleData::addStyle(int styleIndex, TColorStyle *style)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_styles.push_back(std::make_pair(styleIndex, style));
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TColorStyle *StyleData::getStyle(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	assert(0 <= index && index < (int)m_styles.size());
Toshihiro Shimizu 890ddd
	return m_styles[index].second;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int StyleData::getStyleIndex(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	assert(0 <= index && index < (int)m_styles.size());
Toshihiro Shimizu 890ddd
	return m_styles[index].first;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
StyleData *StyleData::clone() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	StyleData *data = new StyleData();
Toshihiro Shimizu 890ddd
	for (int i = 0; i < getStyleCount(); i++)
Toshihiro Shimizu 890ddd
		data->addStyle(getStyleIndex(i), getStyle(i)->clone());
Toshihiro Shimizu 890ddd
	return data;
Toshihiro Shimizu 890ddd
}