Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/COList.cpp
Show All 26 Lines | |||||
const CPos COLUMN_SHIFT = CPos(0, 4); | const CPos COLUMN_SHIFT = CPos(0, 4); | ||||
COList::COList(CGUI& pGUI) | COList::COList(CGUI& pGUI) | ||||
: CList(pGUI), IGUIObject(pGUI) | : CList(pGUI), IGUIObject(pGUI) | ||||
{ | { | ||||
AddSetting<CGUISpriteInstance>("sprite_heading"); | AddSetting<CGUISpriteInstance>("sprite_heading"); | ||||
AddSetting<bool>("sortable"); // The actual sorting is done in JS for more versatility | AddSetting<bool>("sortable"); // The actual sorting is done in JS for more versatility | ||||
AddSetting<CStr>("selected_column"); | AddSetting<CStr>("selected_column"); | ||||
AddSetting<int>("selected_column_order"); | AddSetting<i32>("selected_column_order"); | ||||
AddSetting<CGUISpriteInstance>("sprite_asc"); // Show the order of sorting | AddSetting<CGUISpriteInstance>("sprite_asc"); // Show the order of sorting | ||||
AddSetting<CGUISpriteInstance>("sprite_desc"); | AddSetting<CGUISpriteInstance>("sprite_desc"); | ||||
AddSetting<CGUISpriteInstance>("sprite_not_sorted"); | AddSetting<CGUISpriteInstance>("sprite_not_sorted"); | ||||
} | } | ||||
void COList::SetupText() | void COList::SetupText() | ||||
{ | { | ||||
const CGUIList& pList = GetSetting<CGUIList>("list"); | const CGUIList& pList = GetSetting<CGUIList>("list"); | ||||
▲ Show 20 Lines • Show All 116 Lines • ▼ Show 20 Lines | for (const COListColumn& column : m_Columns) | ||||
if (column.m_Id != selectedColumn) | if (column.m_Id != selectedColumn) | ||||
{ | { | ||||
selectedColumnOrder = 1; | selectedColumnOrder = 1; | ||||
selectedColumn = column.m_Id; | selectedColumn = column.m_Id; | ||||
} | } | ||||
else | else | ||||
selectedColumnOrder = -selectedColumnOrder; | selectedColumnOrder = -selectedColumnOrder; | ||||
GUI<CStr>::SetSetting(this, "selected_column", selectedColumn); | SetSetting<CStr>("selected_column", selectedColumn, true); | ||||
GUI<int>::SetSetting(this, "selected_column_order", selectedColumnOrder); | SetSetting<i32>("selected_column_order", selectedColumnOrder, true); | ||||
ScriptEvent("selectioncolumnchange"); | ScriptEvent("selectioncolumnchange"); | ||||
PlaySound("sound_selected"); | PlaySound("sound_selected"); | ||||
return; | return; | ||||
} | } | ||||
xpos += width; | xpos += width; | ||||
} | } | ||||
return; | return; | ||||
▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | for (XMBElement grandchild : child.GetChildNodes()) | ||||
{ | { | ||||
CStr translatedValue(g_L10n.Translate(value)); | CStr translatedValue(g_L10n.Translate(value)); | ||||
column.m_Heading = translatedValue.FromUTF8(); | column.m_Heading = translatedValue.FromUTF8(); | ||||
} | } | ||||
} | } | ||||
AddSetting<CGUIList>("list_" + column.m_Id); | AddSetting<CGUIList>("list_" + column.m_Id); | ||||
AddSetting<bool>("hidden_" + column.m_Id); | AddSetting<bool>("hidden_" + column.m_Id); | ||||
GUI<bool>::SetSetting(this, "hidden_" + column.m_Id, hidden); | SetSetting<bool>("hidden_" + column.m_Id, hidden, true); | ||||
m_Columns.emplace_back(std::move(column)); | m_Columns.emplace_back(std::move(column)); | ||||
SetupText(); | SetupText(); | ||||
return true; | return true; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 160 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator