The Battle for Wesnoth  1.17.5+dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
editor::unit_palette Class Reference

Palette where the terrain to be drawn can be selected. More...

#include <unit_palette.hpp>

Inheritance diagram for editor::unit_palette:

Public Member Functions

 unit_palette (editor_display &gui, const game_config_view &cfg, editor_toolkit &toolkit)
virtual void setup (const game_config_view &cfg)
 Setup the internal data structure. More...
virtual std::string get_help_string ()
bool supports_swap ()
const std::set< std::string > & get_selected_bg_items ()
- Public Member Functions inherited from editor::editor_palette< const unit_type &>
 editor_palette (editor_display &gui, const game_config_view &, std::size_t item_size, std::size_t columns, editor_toolkit &toolkit)
virtual sdl_handler_vector handler_members () override
void set_start_item (std::size_t index) override
std::size_t start_num (void) override
void expand_palette_groups_menu (std::vector< config > &items, int i) override
 Menu expanding for palette group list. More...
void set_group (std::size_t index) override
const std::vector< item_group > & get_groups () const override
virtual void draw () override
virtual void draw_contents () override
void next_group () override
void prev_group () override
void adjust_size (const SDL_Rect &target) override
 Update the size of this widget. More...
virtual bool scroll_up () override
 Scroll the editor-palette up one step if possible. More...
virtual bool can_scroll_up () override
virtual bool scroll_down () override
 Scroll the editor-palette down one step if possible. More...
virtual bool can_scroll_down () override
void swap () override
const const unit_type & & selected_fg_item () const
 Return the currently selected foreground/background item. More...
const const unit_type & & selected_bg_item () const
- Public Member Functions inherited from editor::tristate_palette
 tristate_palette (CVideo &video)
- Public Member Functions inherited from editor::common_palette
 common_palette (CVideo &video)
virtual ~common_palette ()
virtual std::vector< std::string > action_pressed () const
- Public Member Functions inherited from gui::widget
const SDL_Rect & location () const
virtual void set_location (const SDL_Rect &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 ()
virtual bool has_joined ()
virtual bool has_joined_global ()
sdl_handleroperator= (sdl_handler &&)=delete
 Moving would require two instances' context membership to be handled, it's simpler to delete these and require the two instances to be separately constructed / destructed. More...
 sdl_handler (sdl_handler &&)=delete

Private Member Functions

virtual const std::string & get_id (const unit_type &terrain)
virtual void setup_item (const unit_type &item, texture &item_base_image, texture &item_overlay_image, std::stringstream &tooltip)
virtual bool is_selected_bg_item (const std::string &id)
virtual void select_bg_item (const std::string &item_id)

Private Attributes

std::set< std::string > selected_bg_items_

Additional Inherited Members

- Protected Types inherited from editor::editor_palette< const unit_type &>
typedef std::map< std::string, const unit_type & > item_map
- Protected Member Functions inherited from editor::editor_palette< const unit_type &>
virtual void set_group (const std::string &id)
 Sets a group active id. More...
const std::vector< std::string > & active_group ()
virtual void select_fg_item (const std::string &item_id) override
 Select a foreground item. More...
- Protected Member Functions inherited from gui::widget
 widget (CVideo &video, const bool auto_join=true)
virtual ~widget ()
void bg_register (const SDL_Rect &rect)
void bg_restore () const
void bg_restore (const SDL_Rect &rect) const
void bg_update ()
void bg_cancel ()
CVideovideo () const
virtual void update_location (const SDL_Rect &rect)
const SDL_Rect * clip_rect () const
virtual sdl_handler_vector member_handlers ()
virtual void handle_event (const SDL_Event &)
virtual void handle_window_event (const SDL_Event &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)
 sdl_handler (const sdl_handler &)
sdl_handleroperator= (const sdl_handler &)
virtual ~sdl_handler ()
- Protected Attributes inherited from editor::editor_palette< const unit_type &>
std::vector< item_groupgroups_
 The editor_groups as defined in editor-groups.cfg. More...
int item_size_
 Both the width and the height of the square buttons. More...
int item_space_
 item_space_ plus some padding. More...
std::size_t columns_
 Number of items per row. More...
std::map< std::string, std::vector< std::string > > group_map_
item_map item_map_
std::size_t items_start_
 Index of the item at the top-left of the visible area, used for scrolling up and down. More...
std::set< std::string > non_core_items_
- Protected Attributes inherited from gui::widget
bool focus_

Detailed Description

Palette where the terrain to be drawn can be selected.

Definition at line 33 of file unit_palette.hpp.

Constructor & Destructor Documentation

◆ unit_palette()

editor::unit_palette::unit_palette ( editor_display gui,
const game_config_view cfg,
editor_toolkit toolkit 

Definition at line 96 of file unit_palette.cpp.

Member Function Documentation

◆ get_help_string()

std::string editor::unit_palette::get_help_string ( )

◆ get_id()

const std::string & editor::unit_palette::get_id ( const unit_type terrain)

Definition at line 104 of file unit_palette.cpp.

References unit_type::id().

Referenced by get_selected_bg_items().

◆ get_selected_bg_items()

const std::set<std::string>& editor::unit_palette::get_selected_bg_items ( )

◆ is_selected_bg_item()

bool editor::unit_palette::is_selected_bg_item ( const std::string &  id)

Reimplemented from editor::editor_palette< const unit_type &>.

Definition at line 109 of file unit_palette.cpp.

References selected_bg_items_.

Referenced by get_selected_bg_items().

◆ select_bg_item()

void editor::unit_palette::select_bg_item ( const std::string &  item_id)

Reimplemented from editor::editor_palette< const unit_type &>.

Definition at line 114 of file unit_palette.cpp.

References selected_bg_items_, and gui::widget::set_dirty().

Referenced by get_selected_bg_items(), and setup().

◆ setup()

void editor::unit_palette::setup ( const game_config_view cfg)

◆ setup_item()

void editor::unit_palette::setup_item ( const unit_type item,
texture item_base_image,
texture item_overlay_image,
std::stringstream &  tooltip 

◆ supports_swap()

bool editor::unit_palette::supports_swap ( )

Reimplemented from editor::common_palette.

Definition at line 44 of file unit_palette.hpp.

Member Data Documentation

◆ selected_bg_items_

std::set<std::string> editor::unit_palette::selected_bg_items_

Definition at line 63 of file unit_palette.hpp.

Referenced by get_selected_bg_items(), is_selected_bg_item(), and select_bg_item().

The documentation for this class was generated from the following files: