Palette where the terrain to be drawn can be selected. More...
#include <terrain_palettes.hpp>
Public Member Functions | |
terrain_palette (editor_display &gui, const config &cfg, mouse_action **active_mouse_action) | |
const gamemap & | map () const |
virtual void | setup (const config &cfg) |
Setup the internal data structure. More... | |
void | select_bg_item (const t_translation::t_terrain &terrain) |
void | select_fg_item (const t_translation::t_terrain &terrain) |
const t_translation::t_terrain & | selected_fg_item () const |
const t_translation::t_terrain & | selected_bg_item () const |
virtual std::string | get_help_string () |
Public Member Functions inherited from editor::editor_palette< t_translation::t_terrain > | |
editor_palette (editor_display &gui, const config &, size_t item_size, size_t item_width, mouse_action **active_mouse_action) | |
virtual sdl_handler_vector | handler_members () |
void | set_start_item (size_t index) |
size_t | start_num (void) |
void | expand_palette_groups_menu (std::vector< std::pair< std::string, std::string > > &items) |
Menu expanding for palette group list. More... | |
void | expand_palette_groups_menu (std::vector< std::string > &items) |
Menu expanding for palette group list. More... | |
void | set_group (size_t index) |
const std::vector< item_group > & | get_groups () const |
virtual void | draw () |
virtual void | draw_contents () |
void | next_group () |
void | prev_group () |
void | adjust_size (const SDL_Rect &target) |
Update the size of this widget. More... | |
virtual bool | scroll_up () |
Scroll the editor-palette up one step if possible. More... | |
virtual bool | can_scroll_up () |
virtual bool | scroll_down () |
Scroll the editor-palette down one step if possible. More... | |
virtual bool | can_scroll_down () |
void | swap () |
const t_translation::t_terrain & | selected_fg_item () const |
Return the currently selected foreground/background item. More... | |
const t_translation::t_terrain & | selected_bg_item () const |
Public Member Functions inherited from editor::tristate_palette | |
tristate_palette (display &gui) | |
Public Member Functions inherited from editor::common_palette | |
common_palette (display &gui) | |
virtual | ~common_palette () |
virtual bool | supports_swap () |
virtual std::vector< std::string > | action_pressed () const |
Public Member Functions inherited from gui::widget | |
SDL_Rect const & | location () const |
virtual void | set_location (SDL_Rect const &rect) |
void | set_location (int x, int y) |
void | set_width (int w) |
void | set_height (int h) |
void | set_measurements (int w, int h) |
int | width () const |
int | height () const |
bool | focus (const SDL_Event *event) |
void | set_focus (bool focus) |
bool | hidden () const |
virtual void | enable (bool new_val=true) |
bool | enabled () const |
void | set_clip_rect (const SDL_Rect &rect) |
void | set_volatile (bool val=true) |
void | set_dirty (bool dirty=true) |
bool | dirty () const |
const std::string & | id () const |
void | set_id (const std::string &id) |
void | set_help_string (const std::string &str) |
void | set_tooltip_string (const std::string &str) |
virtual void | process_help_string (int mousex, int mousey) |
virtual void | process_tooltip_string (int mousex, int mousey) |
Public Member Functions inherited from events::sdl_handler | |
virtual void | process_event () |
virtual bool | requires_event_focus (const SDL_Event *=nullptr) const |
virtual void | join () |
virtual void | join (context &c) |
virtual void | join_same (sdl_handler *parent) |
virtual void | leave () |
virtual void | join_global () |
virtual void | leave_global () |
Private Member Functions | |
virtual void | select_bg_item (const std::string &item_id) |
virtual void | select_fg_item (const std::string &item_id) |
Select a foreground item. More... | |
virtual const std::string & | get_id (const t_translation::t_terrain &terrain) |
virtual void | draw_item (const t_translation::t_terrain &terrain, surface &item_image, std::stringstream &tooltip_text) |
Additional Inherited Members | |
Protected Types inherited from editor::editor_palette< t_translation::t_terrain > | |
typedef std::map< std::string, t_translation::t_terrain > | item_map |
Protected Member Functions inherited from editor::editor_palette< t_translation::t_terrain > | |
virtual void | set_group (const std::string &id) |
Sets a group active id. More... | |
const std::vector< std::string > & | active_group () |
Protected Member Functions inherited from gui::widget | |
widget (widget const &o) | |
widget (CVideo &video, const bool auto_join=true) | |
virtual | ~widget () |
void | bg_register (SDL_Rect const &rect) |
void | bg_restore () const |
void | bg_restore (SDL_Rect const &rect) const |
void | bg_update () |
void | bg_cancel () |
CVideo & | video () const |
virtual void | update_location (SDL_Rect const &rect) |
const SDL_Rect * | clip_rect () const |
virtual sdl_handler_vector | member_handlers () |
virtual void | handle_event (SDL_Event const &) |
virtual void | handle_window_event (SDL_Event const &event) |
bool | mouse_locked () const |
void | aquire_mouse_lock () |
void | free_mouse_lock () |
Protected Member Functions inherited from events::sdl_handler | |
sdl_handler (const bool auto_join=true) | |
virtual | ~sdl_handler () |
Protected Attributes inherited from editor::editor_palette< t_translation::t_terrain > | |
std::vector< item_group > | groups_ |
The editor_groups as defined in editor-groups.cfg. More... | |
editor_display & | gui_ |
int | item_size_ |
int | item_width_ |
int | item_space_ |
std::map< std::string, std::vector< std::string > > | group_map_ |
item_map | item_map_ |
int | nitems_ |
int | nmax_items_ |
int | items_start_ |
std::set< std::string > | non_core_items_ |
Protected Attributes inherited from gui::widget | |
bool | focus_ |
Palette where the terrain to be drawn can be selected.
Definition at line 31 of file terrain_palettes.hpp.
editor::terrain_palette::terrain_palette | ( | editor_display & | gui, |
const config & | cfg, | ||
mouse_action ** | active_mouse_action | ||
) |
Definition at line 206 of file terrain_palettes.cpp.
|
privatevirtual |
Implements editor::editor_palette< t_translation::t_terrain >.
Definition at line 156 of file terrain_palettes.cpp.
References surface::assign(), terrain_type::default_base(), terrain_type::editor_image(), ERR_ED, display::get_draw_terrain_codes(), image::get_image(), gamemap::get_terrain_editor_string(), gamemap::get_terrain_info(), editor::editor_palette< t_translation::t_terrain >::gui_, editor::editor_palette< t_translation::t_terrain >::item_size_, map(), game_config::images::missing, t_translation::NONE_TERRAIN, scale_surface(), gui2::terrain, and utils::unicode_em_dash.
|
virtual |
Implements editor::editor_palette< t_translation::t_terrain >.
Definition at line 219 of file terrain_palettes.cpp.
References _(), gamemap::get_terrain_editor_string(), map(), game_logic::msg(), selected_bg_item(), and selected_fg_item().
|
privatevirtual |
Implements editor::editor_palette< t_translation::t_terrain >.
Definition at line 213 of file terrain_palettes.cpp.
References gamemap::get_terrain_info(), terrain_type::id(), and map().
Referenced by select_bg_item(), select_fg_item(), and setup().
|
inline |
Definition at line 38 of file terrain_palettes.hpp.
References display::get_map(), and editor::editor_palette< t_translation::t_terrain >::gui_.
Referenced by draw_item(), get_help_string(), get_id(), and setup().
void editor::terrain_palette::select_bg_item | ( | const t_translation::t_terrain & | terrain | ) |
Definition at line 59 of file terrain_palettes.cpp.
References get_id(), editor::editor_palette< Item >::select_bg_item(), and gui2::terrain.
Referenced by editor::mouse_action_paint::click_right(), editor::mouse_action_fill::click_right(), and setup().
|
privatevirtual |
Reimplemented from editor::editor_palette< t_translation::t_terrain >.
Definition at line 49 of file terrain_palettes.cpp.
References editor::editor_palette< t_translation::t_terrain >::item_map_, and editor::editor_palette< Item >::select_bg_item().
void editor::terrain_palette::select_fg_item | ( | const t_translation::t_terrain & | terrain | ) |
Definition at line 64 of file terrain_palettes.cpp.
References get_id(), editor::editor_palette< Item >::select_fg_item(), and gui2::terrain.
Referenced by editor::mouse_action_paint::click_left(), editor::mouse_action_fill::click_left(), and setup().
|
privatevirtual |
Select a foreground item.
Reimplemented from editor::editor_palette< t_translation::t_terrain >.
Definition at line 54 of file terrain_palettes.cpp.
References editor::editor_palette< t_translation::t_terrain >::item_map_, and editor::editor_palette< Item >::select_fg_item().
const t_translation::t_terrain & editor::terrain_palette::selected_bg_item | ( | ) | const |
Definition at line 42 of file terrain_palettes.cpp.
Referenced by editor::mouse_action_paint::click_perform_right(), editor::mouse_action_fill::click_right(), get_help_string(), editor::mouse_action_paint::set_mouse_overlay(), and editor::mouse_action_fill::set_mouse_overlay().
const t_translation::t_terrain & editor::terrain_palette::selected_fg_item | ( | ) | const |
Definition at line 41 of file terrain_palettes.cpp.
Referenced by editor::mouse_action_fill::click_left(), editor::mouse_action_paint::click_perform_left(), get_help_string(), editor::mouse_action_paint::set_mouse_overlay(), and editor::mouse_action_fill::set_mouse_overlay().
Setup the internal data structure.
Implements editor::editor_palette< t_translation::t_terrain >.
Definition at line 70 of file terrain_palettes.cpp.
References editor::editor_palette< t_translation::t_terrain >::active_group(), config::child_range(), DBG_ED, terrain_type::editor_group(), terrain_type::editor_name(), ERR_ED, get_id(), gamemap::get_terrain_info(), gamemap::get_terrain_list(), editor::editor_palette< t_translation::t_terrain >::group_map_, editor::editor_palette< t_translation::t_terrain >::groups_, terrain_type::hide_in_editor(), i, terrain_type::is_combined(), editor::is_valid_terrain(), editor::editor_palette< t_translation::t_terrain >::item_map_, mp_ui_alerts::items, map(), terrain_type::name(), editor::editor_palette< t_translation::t_terrain >::nmax_items_, editor::editor_palette< t_translation::t_terrain >::non_core_items_, terrain_type::number(), select_bg_item(), select_fg_item(), editor::editor_palette< t_translation::t_terrain >::set_group(), and utils::split().