Esempio n. 1
0
void GUILABELLIST::UpdateElements(SCENENODE & scene)
{
	unsigned num_new = m_values.size();
	unsigned num_old = m_elements.size();
	for (unsigned i = num_new; i < num_old; ++i)
	{
		static_cast<GUILABEL*>(m_elements[i])->Remove(scene);
		delete m_elements[i];
	}
	m_elements.resize(num_new);
	for (unsigned i = num_old; i < num_new; ++i)
	{
		float x, y;
		GetElemPos(i, x, y);

		GUILABEL * element = new GUILABEL();
		element->SetupDrawable(
			scene, *m_font, m_align, m_scalex, m_scaley,
			x, y, m_elemw, m_elemh, m_z);

		m_elements[i] = element;
	}
	for (unsigned i = 0; i < num_new; ++i)
	{
		static_cast<GUILABEL*>(m_elements[i])->SetText(m_values[i]);
	}
}
Esempio n. 2
0
bool GUI::SetLabelText(const std::string & pagename, const std::string & labelname, const std::string & text)
{
	if (pages.find(pagename) == pages.end())
		return false;

	GUILABEL * label = GetPage(pagename).GetLabel(labelname);
	if (!label)
		return false;

	label->SetText(text);

	return true;
}
Esempio n. 3
0
bool GUI::GetLabelText(const std::string & pagename, const std::string & labelname, std::string & text_output)
{

	PAGEMAP::iterator p = pages.find(pagename);
	if (p == pages.end())
		return false;

	GUILABEL * label = p->second.GetLabel(labelname);
	if (!label)
		return false;

	text_output = label->GetText();

	return true;
}
Esempio n. 4
0
void GUILABELLIST::SetupDrawable(
	SCENENODE & scene, const FONT & font, int align,
	float scalex, float scaley, float z)
{
	m_elements.resize(m_rows * m_cols);
	for (size_t i = 0; i < m_rows * m_cols; ++i)
	{
		float x, y;
		GetElemPos(i, x, y);

		GUILABEL * element = new GUILABEL();
		element->SetupDrawable(
			scene, font, align, scalex, scaley,
			x + m_elemw * 0.5f, y + m_elemh * 0.5f, m_elemw, m_elemh, z);

		m_elements[i] = element;
	}
}