1 #ifndef ACE_UTILS_MODE_GROUP_MODE_NAVIGATOR_H
2 #define ACE_UTILS_MODE_GROUP_MODE_NAVIGATOR_H
23 mCurrentModeGroup(rootModeGroup) {
27 uint8_t
mode()
const {
return mMode; }
34 mMode = getCurrentMode(mCurrentModeIndex);
39 ace_common::incrementMod(mCurrentModeIndex, mCurrentModeGroup->
numModes);
40 mMode = getCurrentMode(mCurrentModeIndex);
51 mCurrentModeGroup = parentGroup;
52 mCurrentModeIndex = mTopLevelIndexSave;
56 ? childGroups[mCurrentModeIndex]
59 mCurrentModeGroup = childGroup;
61 mTopLevelIndexSave = mCurrentModeIndex;
62 mCurrentModeIndex = 0;
66 mMode = getCurrentMode(mCurrentModeIndex);
70 uint8_t getCurrentMode(uint8_t index)
const {
71 return mCurrentModeGroup->
modes[index];
74 ModeGroup
const* mCurrentModeGroup;
75 uint8_t mTopLevelIndexSave = 0;
76 uint8_t mCurrentModeIndex = 0;
77 uint8_t mMode = kModeUnknown;