Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/gui/COList.cpp
Show All 35 Lines | COList::COList(CGUI* pGUI) | ||||
AddSetting<int>("selected_column_order"); | AddSetting<int>("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() | ||||
{ | { | ||||
if (!GetGUI()) | |||||
return; | |||||
CGUIList* pList; | CGUIList* pList; | ||||
GUI<CGUIList>::GetSettingPointer(this, "list", pList); | GUI<CGUIList>::GetSettingPointer(this, "list", pList); | ||||
m_ItemsYPositions.resize(pList->m_Items.size() + 1); | m_ItemsYPositions.resize(pList->m_Items.size() + 1); | ||||
// Delete all generated texts. Some could probably be saved, | // Delete all generated texts. Some could probably be saved, | ||||
// but this is easier, and this function will never be called | // but this is easier, and this function will never be called | ||||
// continuously, or even often, so it'll probably be okay. | // continuously, or even often, so it'll probably be okay. | ||||
▲ Show 20 Lines • Show All 94 Lines • ▼ Show 20 Lines | void COList::HandleMessage(SGUIMessage& Message) | ||||
// If somebody clicks on the column heading | // If somebody clicks on the column heading | ||||
case GUIM_MOUSE_PRESS_LEFT: | case GUIM_MOUSE_PRESS_LEFT: | ||||
{ | { | ||||
bool sortable; | bool sortable; | ||||
GUI<bool>::GetSetting(this, "sortable", sortable); | GUI<bool>::GetSetting(this, "sortable", sortable); | ||||
if (!sortable) | if (!sortable) | ||||
return; | return; | ||||
CPos mouse = GetMousePos(); | const CPos& mouse = m_pGUI->GetMousePos(); | ||||
if (!m_CachedActualSize.PointInside(mouse)) | if (!m_CachedActualSize.PointInside(mouse)) | ||||
return; | return; | ||||
CStr selectedColumn; | CStr selectedColumn; | ||||
GUI<CStr>::GetSetting(this, "selected_column", selectedColumn); | GUI<CStr>::GetSetting(this, "selected_column", selectedColumn); | ||||
int selectedColumnOrder; | int selectedColumnOrder; | ||||
GUI<int>::GetSetting(this, "selected_column_order", selectedColumnOrder); | GUI<int>::GetSetting(this, "selected_column_order", selectedColumnOrder); | ||||
▲ Show 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | void COList::DrawList(const int& selected, const CStr& _sprite, const CStr& _sprite_selected, const CStr& _textcolor) | ||||
float bz = GetBufferedZ(); | float bz = GetBufferedZ(); | ||||
bool scrollbar; | bool scrollbar; | ||||
GUI<bool>::GetSetting(this, "scrollbar", scrollbar); | GUI<bool>::GetSetting(this, "scrollbar", scrollbar); | ||||
if (scrollbar) | if (scrollbar) | ||||
IGUIScrollBarOwner::Draw(); | IGUIScrollBarOwner::Draw(); | ||||
if (!GetGUI()) | |||||
return; | |||||
CRect rect = GetListRect(); | CRect rect = GetListRect(); | ||||
CGUISpriteInstance* sprite = NULL; | CGUISpriteInstance* sprite = NULL; | ||||
CGUISpriteInstance* sprite_selectarea = NULL; | CGUISpriteInstance* sprite_selectarea = NULL; | ||||
int cell_id; | int cell_id; | ||||
GUI<CGUISpriteInstance>::GetSettingPointer(this, _sprite, sprite); | GUI<CGUISpriteInstance>::GetSettingPointer(this, _sprite, sprite); | ||||
GUI<CGUISpriteInstance>::GetSettingPointer(this, _sprite_selected, sprite_selectarea); | GUI<CGUISpriteInstance>::GetSettingPointer(this, _sprite_selected, sprite_selectarea); | ||||
GUI<int>::GetSetting(this, "cell_id", cell_id); | GUI<int>::GetSetting(this, "cell_id", cell_id); | ||||
▲ Show 20 Lines • Show All 156 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator