42 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT)    43   #error "Only <final/final.h> can be included directly."    48 #include "final/fwidget.h"    49 #include "final/menu/fmenuitem.h"    62     using FMenuItemList = std::vector<FMenuItem*>;
    83     virtual auto getClassName() 
const -> 
FString;
    84     auto getCount() 
const -> std::size_t;
    86     auto getSelectedItem() 
const -> 
FMenuItem*;
    87     auto getItemList() 
const -> 
const FMenuItemList&;
    90     void enableItem (
int);
    91     void disableItem (
int);
    93     void unsetSelectedItem();
    96     auto isSelected (
int) 
const -> bool;
    97     auto hasSelectedItem() 
const -> bool;
   104     auto findFirstSelectedItem() 
const -> FMenuItemList::const_iterator;
   105     auto findLastSelectedItem () 
const -> FMenuItemList::const_reverse_iterator;
   106     void selectFirstItem();
   110     auto selectNextItem() -> bool;
   111     auto selectPrevItem() -> bool;
   112     virtual void selectItem_PostProcessing (
FMenuItem*) = 0;
   117     FMenuItemList  item_list{};
   123 inline auto FMenuList::getClassName() 
const -> 
FString   124 { 
return "FMenuList"; }
   127 inline auto FMenuList::getCount() 
const -> std::size_t
   128 { 
return item_list.size(); }
   131 inline auto FMenuList::getItem (
int index) 
const -> 
FMenuItem*
   132 { 
return ( index > 0 ) ? item_list[uInt(index - 1)] : 
nullptr; }
   135 inline auto FMenuList::getSelectedItem() 
const -> 
FMenuItem*
   136 { 
return selected_item; }
   139 inline auto FMenuList::getItemList() 
const -> 
const FMenuItemList&
   140 { 
return item_list; }
   143 inline void FMenuList::enableItem (
int index)
   144 { item_list[uInt(index - 1)]->setEnable(); }
   147 inline void FMenuList::disableItem (
int index)
   148 { item_list[uInt(index - 1)]->unsetEnable(); }
   151 inline void FMenuList::setSelectedItem (
FMenuItem* menuitem)
   152 { selected_item = menuitem; }
   155 inline void FMenuList::unsetSelectedItem()
   156 { selected_item = 
nullptr; }
   159 inline auto FMenuList::isSelected(
int index) 
const -> 
bool   160 { 
return ( index > 0 ) ? item_list[uInt(index - 1)]->isSelected() : 
false; }
   163 inline auto FMenuList::hasSelectedItem() 
const -> 
bool   164 { 
return selected_item; }
   168 #endif  // FMENULIST_H 
Definition: class_template.cpp:25