unleashed-firmware/lib/app-scened-template/view_modules/submenu_vm.h
あく 389ff92cc1
Naming and coding style convention, new linter tool. (#945)
* Makefile, Scripts: new linter
* About: remove ID from IC
* Firmware: remove double define for DIVC/DIVR
* Scripts: check folder names too. Docker: replace syntax check with make lint.
* Reformat Sources and Migrate to new file naming convention
* Docker: symlink clang-format-12 to clang-format
* Add coding style guide
2022-01-05 19:10:18 +03:00

42 lines
No EOL
1,002 B
C++

#pragma once
#include "generic_view_module.h"
#include <gui/modules/submenu.h>
class SubmenuVM : public GenericViewModule {
public:
SubmenuVM();
~SubmenuVM() final;
View* get_view() final;
void clean() final;
/**
* @brief Add item to submenu
*
* @param label - menu item label
* @param index - menu item index, used for callback, may be the same with other items
* @param callback - menu item callback
* @param callback_context - menu item callback context
*/
void add_item(
const char* label,
uint32_t index,
SubmenuItemCallback callback,
void* callback_context);
/**
* @brief Set submenu item selector
*
* @param index index of the item to be selected
*/
void set_selected_item(uint32_t index);
/**
* @brief Set optional header for submenu
*
* @param header header to set
*/
void set_header(const char* header);
private:
Submenu* submenu;
};