From 4df4ea1ac5eb37bcf92a01aa938522e20664e46d Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Mon, 19 Jul 2021 05:50:08 +0200 Subject: [PATCH] menue.h/cpp: add member to get item id by name --- src/gui/widget/menue.cpp | 12 ++++++++++++ src/gui/widget/menue.h | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index 593660276..ab72aee6d 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -817,6 +817,18 @@ int CMenuWidget::getItemId(CMenuItem* menuItem) return -1; } +int CMenuWidget::getItemId(const char *name) +{ + for (uint i= 0; i< items.size(); i++) + { + std::string s_item_name(items[i]->getName()); + std::string s_name(name); + if (s_name == s_item_name) + return i; + } + return -1; +} + CMenuItem* CMenuWidget::getItem(const uint& item_id) { for (uint i= 0; i< items.size(); i++) diff --git a/src/gui/widget/menue.h b/src/gui/widget/menue.h index 5f050cc7e..ab0a90771 100644 --- a/src/gui/widget/menue.h +++ b/src/gui/widget/menue.h @@ -639,7 +639,8 @@ class CMenuWidget : public CMenuTarget, public CComponentsSignals void resetWidget(bool delete_items = false); void insertItem(const uint& item_id, CMenuItem* menuItem); void removeItem(const uint& item_id); - int getItemId(CMenuItem* menuItem); + int getItemId(CMenuItem *menuItem); + int getItemId(const char *name); int getItemsCount()const{return items.size();}; CMenuItem* getItem(const uint& item_id); virtual void paint();