Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/CCheckBox.cpp
Show All 14 Lines | |||||
* along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | ||||
*/ | */ | ||||
#include "precompiled.h" | #include "precompiled.h" | ||||
#include "CCheckBox.h" | #include "CCheckBox.h" | ||||
CCheckBox::CCheckBox(CGUI& pGUI) | CCheckBox::CCheckBox(CGUI& pGUI) | ||||
: IGUIObject(pGUI), IGUIButtonBehavior(pGUI) | : IGUIObject(pGUI), | ||||
{ | IGUIButtonBehavior(pGUI), | ||||
AddSetting<i32>("cell_id"); | m_CellID(), | ||||
AddSetting<bool>("checked"); | m_Checked(), | ||||
AddSetting<CGUISpriteInstance>("sprite"); | m_SpriteUnchecked(), | ||||
AddSetting<CGUISpriteInstance>("sprite_over"); | m_SpriteUncheckedOver(), | ||||
AddSetting<CGUISpriteInstance>("sprite_pressed"); | m_SpriteUncheckedPressed(), | ||||
AddSetting<CGUISpriteInstance>("sprite_disabled"); | m_SpriteUncheckedDisabled(), | ||||
AddSetting<CGUISpriteInstance>("sprite2"); | m_SpriteChecked(), | ||||
AddSetting<CGUISpriteInstance>("sprite2_over"); | m_SpriteCheckedOver(), | ||||
AddSetting<CGUISpriteInstance>("sprite2_pressed"); | m_SpriteCheckedPressed(), | ||||
AddSetting<CGUISpriteInstance>("sprite2_disabled"); | m_SpriteCheckedDisabled() | ||||
{ | |||||
RegisterSetting("cell_id", m_CellID); | |||||
RegisterSetting("checked", m_Checked), | |||||
RegisterSetting("sprite", m_SpriteUnchecked); | |||||
RegisterSetting("sprite_over", m_SpriteUncheckedOver); | |||||
RegisterSetting("sprite_pressed", m_SpriteUncheckedPressed); | |||||
RegisterSetting("sprite_disabled", m_SpriteUncheckedDisabled); | |||||
RegisterSetting("sprite2", m_SpriteChecked); | |||||
RegisterSetting("sprite2_over", m_SpriteCheckedOver); | |||||
RegisterSetting("sprite2_pressed", m_SpriteCheckedPressed); | |||||
RegisterSetting("sprite2_disabled", m_SpriteCheckedDisabled); | |||||
} | } | ||||
CCheckBox::~CCheckBox() | CCheckBox::~CCheckBox() | ||||
{ | { | ||||
} | } | ||||
void CCheckBox::HandleMessage(SGUIMessage& Message) | void CCheckBox::HandleMessage(SGUIMessage& Message) | ||||
{ | { | ||||
// Important | // Important | ||||
IGUIButtonBehavior::HandleMessage(Message); | IGUIButtonBehavior::HandleMessage(Message); | ||||
switch (Message.type) | switch (Message.type) | ||||
{ | { | ||||
case GUIM_PRESSED: | case GUIM_PRESSED: | ||||
{ | { | ||||
// Switch to opposite. | // Switch to opposite. | ||||
SetSetting<bool>("checked", !GetSetting<bool>("checked"), true); | SetSetting<bool>("checked", !m_Checked, true); | ||||
break; | break; | ||||
} | } | ||||
default: | default: | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
void CCheckBox::Draw() | void CCheckBox::Draw() | ||||
{ | { | ||||
if (GetSetting<bool>("checked")) | if (m_Checked) | ||||
DrawButton( | DrawButton( | ||||
m_CachedActualSize, | m_CachedActualSize, | ||||
GetBufferedZ(), | GetBufferedZ(), | ||||
GetSetting<CGUISpriteInstance>("sprite2"), | m_SpriteChecked, | ||||
GetSetting<CGUISpriteInstance>("sprite2_over"), | m_SpriteCheckedOver, | ||||
GetSetting<CGUISpriteInstance>("sprite2_pressed"), | m_SpriteCheckedPressed, | ||||
GetSetting<CGUISpriteInstance>("sprite2_disabled"), | m_SpriteCheckedDisabled, | ||||
GetSetting<i32>("cell_id")); | m_CellID); | ||||
else | else | ||||
DrawButton( | DrawButton(m_CachedActualSize, | ||||
m_CachedActualSize, | |||||
GetBufferedZ(), | GetBufferedZ(), | ||||
GetSetting<CGUISpriteInstance>("sprite"), | m_SpriteUnchecked, | ||||
GetSetting<CGUISpriteInstance>("sprite_over"), | m_SpriteUncheckedOver, | ||||
GetSetting<CGUISpriteInstance>("sprite_pressed"), | m_SpriteUncheckedPressed, | ||||
GetSetting<CGUISpriteInstance>("sprite_disabled"), | m_SpriteUncheckedDisabled, | ||||
GetSetting<i32>("cell_id")); | m_CellID); | ||||
} | } |
Wildfire Games · Phabricator