aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Menu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbTk/Menu.cc')
-rw-r--r--src/FbTk/Menu.cc22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc
index 4dbb48c..8dddc16 100644
--- a/src/FbTk/Menu.cc
+++ b/src/FbTk/Menu.cc
@@ -91,6 +91,12 @@ Menu* s_focused = 0; // holds currently focused menu
91Menu* Menu::shownMenu() { return s_shown; } 91Menu* Menu::shownMenu() { return s_shown; }
92Menu* Menu::focused() { return s_focused; } 92Menu* Menu::focused() { return s_focused; }
93 93
94void Menu::hideShownMenu() {
95 if (s_shown)
96 s_shown->hide();
97}
98
99
94Menu::Menu(FbTk::ThemeProxy<MenuTheme> &tm, ImageControl &imgctrl): 100Menu::Menu(FbTk::ThemeProxy<MenuTheme> &tm, ImageControl &imgctrl):
95 m_theme(tm), 101 m_theme(tm),
96 m_parent(0), 102 m_parent(0),
@@ -240,6 +246,18 @@ int Menu::insertItem(MenuItem *item, int pos) {
240 return m_items.size(); 246 return m_items.size();
241} 247}
242 248
249
250int Menu::findSubmenuIndex(const FbTk::Menu* submenu) const {
251 size_t i;
252 for (i = 0; i < m_items.size(); i++) {
253 if (m_items[i]->submenu() == submenu) {
254 return i;
255 }
256 }
257 return -1;
258}
259
260
243void Menu::fixMenuItemIndices() { 261void Menu::fixMenuItemIndices() {
244 for (size_t i = 0; i < m_items.size(); i++) 262 for (size_t i = 0; i < m_items.size(); i++)
245 m_items[i]->setIndex(i); 263 m_items[i]->setIndex(i);
@@ -1391,9 +1409,5 @@ void Menu::drawLine(int index, int size){
1391 item->drawLine(m_frame, theme(), size, item_x, item_y, m_item_w); 1409 item->drawLine(m_frame, theme(), size, item_x, item_y, m_item_w);
1392} 1410}
1393 1411
1394void Menu::hideShownMenu() {
1395 if (s_shown)
1396 s_shown->hide();
1397}
1398 1412
1399} // end namespace FbTk 1413} // end namespace FbTk