support for adding items like in ncmpc (disabled by default)
This commit is contained in:
18
src/menu.h
18
src/menu.h
@@ -88,7 +88,8 @@ class Menu : public Window
|
||||
virtual int Size() const { return itsOptions.size(); }
|
||||
|
||||
bool Empty() const { return itsOptions.empty(); }
|
||||
virtual bool IsStatic(int) const;
|
||||
bool IsBold(int = -1) const;
|
||||
virtual bool IsStatic(int = -1) const;
|
||||
virtual Window * Clone() const { return new Menu(*this); }
|
||||
virtual Window * EmptyClone() const;
|
||||
|
||||
@@ -668,12 +669,25 @@ int Menu<T>::GetRealChoice() const
|
||||
return real_choice;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
bool Menu<T>::IsBold(int option) const
|
||||
{
|
||||
try
|
||||
{
|
||||
return itsOptions.at(option == -1 ? itsHighlight : option)->is_bold;
|
||||
}
|
||||
catch (std::out_of_range)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
bool Menu<T>::IsStatic(int option) const
|
||||
{
|
||||
try
|
||||
{
|
||||
return itsOptions.at(option)->is_static;
|
||||
return itsOptions.at(option == -1 ? itsHighlight : option)->is_static;
|
||||
}
|
||||
catch (std::out_of_range)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user