supertux
|
Public Types | |
enum | { MNID_UPDATE, MNID_PATCH_NOTES, MNID_REMOVE, MNID_REMOVEFUNCTION, MNID_TEST_FROM_HERE, MNID_OPEN_PARTICLE_EDITOR } |
Public Member Functions | |
ObjectMenu (GameObject *go, const std::function< bool(GameObject *)> &remove_function={}) | |
void | refresh () override |
Perform actions to bring the menu up to date with configuration changes. | |
virtual void | menu_action (MenuItem &item) override |
virtual bool | on_back_action () override |
Executed before the menu is exited. More... | |
![]() | |
virtual void | on_window_resize () |
void | draw (DrawingContext &context) |
virtual void | event (const SDL_Event &event) |
virtual void | process_action (const MenuAction &action) |
ItemHorizontalLine & | add_hl () |
ItemLabel & | add_label (const std::string &text) |
ItemAction & | add_entry (int id, const std::string &text) |
ItemAction & | add_entry (const std::string &text, const std::function< void()> &callback) |
ItemToggle & | add_toggle (int id, const std::string &text, bool *toggled, bool center_text=false) |
ItemToggle & | add_toggle (int id, const std::string &text, const std::function< bool()> &get_func, const std::function< void(bool)> &set_func, bool center_text=false) |
ItemInactive & | add_inactive (const std::string &text, bool default_color=false) |
ItemBack & | add_back (const std::string &text, int id=-1) |
ItemGoTo & | add_submenu (const std::string &text, int submenu, int id=-1) |
ItemControlField & | add_controlfield (int id, const std::string &text, const std::string &mapping="") |
ItemStringSelect & | add_string_select (int id, const std::string &text, int *selected, const std::vector< std::string > &strings) |
ItemStringSelect & | add_string_select (int id, const std::string &text, int default_item, const std::vector< std::string > &strings) |
ItemTextField & | add_textfield (const std::string &text, std::string *input, int id=-1) |
ItemScript & | add_script (const std::string &text, std::string *script, int id=-1) |
ItemScriptLine & | add_script_line (std::string *input, int id=-1) |
ItemIntField & | add_intfield (const std::string &text, int *input, int id=-1, bool positive=false) |
ItemFloatField & | add_floatfield (const std::string &text, float *input, int id=-1, bool positive=false) |
ItemAction & | add_file (const std::string &text, std::string *input, const std::vector< std::string > &extensions, const std::string &basedir, bool path_relative_to_basedir, const std::function< void(MenuItem &)> &item_processor={}, int id=-1) |
ItemColor & | add_color (const std::string &text, Color *color, int id=-1) |
ItemColorDisplay & | add_color_display (Color *color, int id=-1) |
ItemColorChannelRGBA & | add_color_channel_rgba (float *input, Color channel, int id=-1, bool is_linear=false) |
ItemColorChannelOKLab & | add_color_channel_oklab (Color *color, int channel) |
ItemPaths & | add_path_settings (const std::string &text, PathObject &target, const std::string &path_ref) |
ItemStringArray & | add_string_array (const std::string &text, std::vector< std::string > &items, int id=-1) |
ItemImages & | add_images (const std::string &image_path, int max_image_width=0, int max_image_height=0, int id=-1) |
ItemImages & | add_images (const std::vector< std::string > &image_paths, int max_image_width=0, int max_image_height=0, int id=-1) |
ItemList & | add_list (const std::string &text, const std::vector< std::string > &items, std::string *value_ptr, int id=-1) |
ItemHorizontalMenu & | add_horizontalmenu (int id, float height, float min_item_width=-1.f) |
void | clear () |
Remove all entries from the menu. | |
MenuItem & | get_item (int index) |
MenuItem & | get_item_by_id (int id) |
const MenuItem & | get_item_by_id (int id) const |
int | get_active_item_id () const |
void | set_active_item (int id) |
Vector | get_center_pos () const |
void | set_center_pos (float x, float y) |
float | get_width () const |
float | get_height () const |
virtual bool | is_sensitive () const |
returns true when the text is more important than action | |
Additional Inherited Members | |
![]() | |
std::vector< std::unique_ptr< MenuItem > > | m_items |
![]() | |
MenuItem & | add_item (std::unique_ptr< MenuItem > menu_item) |
MenuItem & | add_item (std::unique_ptr< MenuItem > menu_item, int pos_) |
template<typename T , typename... Args> | |
T & | add_item (Args &&... args) |
void | delete_item (int pos_) |
void | calculate_width () |
Recalculates the width for this menu. | |
void | calculate_height () |
Recalculates the height for this menu. | |
![]() | |
int | m_active_item |
|
overridevirtual |
Executed before the menu is exited.
Reimplemented from Menu.