#include <editor_palettes.hpp>
Public Member Functions | |
editor_palette (editor_display &gui, const game_config_view &, std::size_t item_size, std::size_t item_width, 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 |
virtual std::string | get_help_string ()=0 |
const Item & | selected_fg_item () const |
Return the currently selected foreground/background item. More... | |
const Item & | selected_bg_item () const |
![]() | |
tristate_palette (CVideo &video) | |
![]() | |
common_palette (CVideo &video) | |
virtual | ~common_palette () |
virtual bool | supports_swap () |
virtual std::vector< std::string > | action_pressed () const |
![]() | |
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) |
![]() | |
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_handler & | operator= (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 | |
Protected Types | |
typedef std::map< std::string, Item > | item_map |
Protected Member Functions | |
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... | |
virtual void | select_bg_item (const std::string &item_id) override |
![]() | |
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 () |
CVideo & | video () 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 () |
![]() | |
sdl_handler (const bool auto_join=true) | |
sdl_handler (const sdl_handler &) | |
sdl_handler & | operator= (const sdl_handler &) |
virtual | ~sdl_handler () |
Protected Attributes | |
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_ |
![]() | |
bool | focus_ |
Private Member Functions | |
std::size_t | active_group_index () |
virtual void | draw_item (const Item &item, surface &item_image, std::stringstream &tooltip)=0 |
virtual const std::string & | get_id (const Item &item)=0 |
virtual void | setup (const game_config_view &cfg)=0 |
Setup the internal data structure. More... | |
virtual const std::string & | active_group_id () |
virtual bool | is_selected_fg_item (const std::string &id) |
virtual bool | is_selected_bg_item (const std::string &id) |
int | num_items () override |
Return the number of items in the palette. More... | |
int | num_visible_items () |
Return the number of items in the palette. More... | |
void | hide (bool hidden) override |
Private Attributes | |
unsigned int | palette_y_ |
unsigned int | palette_x_ |
std::string | active_group_ |
std::string | selected_fg_item_ |
std::string | selected_bg_item_ |
editor_toolkit & | toolkit_ |
std::vector< gui::tristate_button > | buttons_ |
int | help_handle_ |
Definition at line 26 of file editor_palettes.hpp.
|
protected |
Definition at line 171 of file editor_palettes.hpp.
|
inline |
Definition at line 30 of file editor_palettes.hpp.
|
inlineprotected |
Definition at line 144 of file editor_palettes.hpp.
|
inlineprivatevirtual |
Definition at line 115 of file editor_palettes.hpp.
|
private |
Definition at line 155 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::next_group(), editor::editor_palette< overlay >::prev_group(), and editor::editor_palette< overlay >::selected_bg_item().
|
overridevirtual |
Update the size of this widget.
Use if the size_specs have changed.
Implements editor::common_palette.
Definition at line 168 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
overridevirtual |
Implements editor::common_palette.
Definition at line 96 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
overridevirtual |
Implements editor::common_palette.
Definition at line 90 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 72 of file editor_palettes.hpp.
|
overridevirtual |
Reimplemented from gui::widget.
Definition at line 234 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::draw().
|
privatepure virtual |
Implemented in editor::terrain_palette, and editor::item_palette.
Referenced by editor::editor_palette< overlay >::selected_bg_item().
|
overridevirtual |
Menu expanding for palette group list.
Implements editor::common_palette.
Definition at line 41 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::start_num().
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 70 of file editor_palettes.hpp.
|
pure virtual |
Implemented in editor::terrain_palette, editor::item_palette, and editor::unit_palette.
Referenced by editor::editor_palette< overlay >::hide(), and editor::editor_palette< overlay >::prev_group().
|
privatepure virtual |
Implemented in editor::terrain_palette, and editor::item_palette.
Referenced by editor::editor_palette< overlay >::selected_bg_item().
|
overridevirtual |
Reimplemented from editor::common_palette.
Definition at line 31 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::editor_palette().
|
inlineoverrideprivatevirtual |
Reimplemented from gui::widget.
Definition at line 126 of file editor_palettes.hpp.
|
privatevirtual |
Reimplemented in editor::unit_palette.
Definition at line 228 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::active_group_id().
|
privatevirtual |
Definition at line 222 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::active_group_id().
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 77 of file editor_palettes.hpp.
|
overrideprivatevirtual |
Return the number of items in the palette.
Implements editor::common_palette.
Definition at line 216 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::active_group_id().
|
inlineprivate |
Return the number of items in the palette.
Definition at line 124 of file editor_palettes.hpp.
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 80 of file editor_palettes.hpp.
|
overridevirtual |
Scroll the editor-palette down one step if possible.
Implements editor::common_palette.
Definition at line 102 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
overridevirtual |
Scroll the editor-palette up one step if possible.
Implements editor::common_palette.
Definition at line 75 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
overrideprotectedvirtual |
Implements editor::tristate_palette.
Reimplemented in editor::unit_palette, and editor::terrain_palette.
Definition at line 196 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::active_group(), and editor::terrain_palette::select_bg_item().
|
overrideprotectedvirtual |
Select a foreground item.
Implements editor::tristate_palette.
Reimplemented in editor::terrain_palette.
Definition at line 185 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::active_group(), and editor::terrain_palette::select_fg_item().
|
inline |
Definition at line 102 of file editor_palettes.hpp.
|
inline |
Return the currently selected foreground/background item.
Definition at line 101 of file editor_palettes.hpp.
Referenced by editor::mouse_action_item::click_left(), editor::mouse_action_unit::set_mouse_overlay(), editor::mouse_action_item::set_mouse_overlay(), and editor::mouse_action_unit::up_left().
|
overridevirtual |
Implements editor::common_palette.
Definition at line 148 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::hide(), editor::editor_palette< overlay >::next_group(), editor::editor_palette< overlay >::prev_group(), and editor::editor_palette< overlay >::start_num().
|
protectedvirtual |
Sets a group active id.
This can result in no visible selected items.
Definition at line 122 of file editor_palettes.cpp.
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 60 of file editor_palettes.hpp.
|
privatepure virtual |
Setup the internal data structure.
Implemented in editor::terrain_palette, editor::item_palette, and editor::unit_palette.
Referenced by editor::editor_palette< overlay >::selected_bg_item().
|
inlineoverridevirtual |
Implements editor::common_palette.
Definition at line 62 of file editor_palettes.hpp.
|
overridevirtual |
Implements editor::common_palette.
Definition at line 207 of file editor_palettes.cpp.
Referenced by editor::editor_palette< overlay >::prev_group().
|
private |
Definition at line 177 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::active_group(), and editor::editor_palette< overlay >::active_group_id().
|
private |
Definition at line 182 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::hide(), and editor::editor_palette< overlay >::num_visible_items().
|
protected |
Definition at line 169 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::active_group().
|
protected |
The editor_groups as defined in editor-groups.cfg.
Note the user must make sure the id's here are the same as the editor_group in terrain.cfg.
Definition at line 156 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::get_groups(), editor::editor_palette< overlay >::next_group(), and editor::editor_palette< overlay >::prev_group().
|
protected |
Definition at line 158 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::hide().
|
private |
Definition at line 184 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::hide().
|
protected |
Definition at line 172 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::selected_bg_item(), and editor::editor_palette< overlay >::selected_fg_item().
|
protected |
Definition at line 160 of file editor_palettes.hpp.
|
protected |
Definition at line 162 of file editor_palettes.hpp.
|
protected |
Definition at line 161 of file editor_palettes.hpp.
|
protected |
Definition at line 173 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::set_start_item(), and editor::editor_palette< overlay >::start_num().
|
protected |
Definition at line 173 of file editor_palettes.hpp.
|
protected |
Definition at line 173 of file editor_palettes.hpp.
|
protected |
Definition at line 174 of file editor_palettes.hpp.
|
private |
Definition at line 166 of file editor_palettes.hpp.
|
private |
Definition at line 165 of file editor_palettes.hpp.
|
private |
Definition at line 179 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::selected_bg_item().
|
private |
Definition at line 178 of file editor_palettes.hpp.
Referenced by editor::editor_palette< overlay >::selected_fg_item().
|
private |
Definition at line 181 of file editor_palettes.hpp.