Set starting position action. More...
#include <mouse_action.hpp>
Public Member Functions | |
mouse_action_starting_position (const CKey &key, location_palette &palette) | |
std::unique_ptr< editor_action > | up_left (editor_display &disp, int x, int y) override |
Left click displays a player-number-selector dialog and then creates an action or returns nullptr if cancel was pressed or there would be no change. More... | |
std::unique_ptr< editor_action > | click_left (editor_display &disp, int x, int y) override |
A click, possibly the beginning of a drag. More... | |
std::unique_ptr< editor_action > | up_right (editor_display &disp, int x, int y) override |
Right click only erases the starting position if there is one. More... | |
std::unique_ptr< editor_action > | click_right (editor_display &disp, int x, int y) override |
A click, possibly the beginning of a drag. More... | |
virtual void | set_mouse_overlay (editor_display &disp) override |
Set the mouse overlay for this action. More... | |
Public Member Functions inherited from editor::mouse_action | |
mouse_action (common_palette &palette, const CKey &key) | |
virtual | ~mouse_action () |
virtual bool | has_context_menu () const |
virtual void | move (editor_display &disp, const map_location &hex) |
Mouse move (not a drag). More... | |
void | update_brush_highlights (editor_display &disp, const map_location &hex) |
Unconditionally update the brush highlights for the current tool when hex is the center location. More... | |
virtual std::set< map_location > | affected_hexes (editor_display &disp, const map_location &hex) |
Locations that would be affected by a click, used by move to update highlights. More... | |
virtual std::unique_ptr< editor_action > | drag_left (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Drag operation. More... | |
virtual std::unique_ptr< editor_action > | drag_right (editor_display &disp, int x, int y, bool &partial, editor_action *last_undo) |
Drag operation. More... | |
virtual std::unique_ptr< editor_action > | drag_end_left (editor_display &disp, int x, int y) |
The end of dragging. More... | |
virtual std::unique_ptr< editor_action > | drag_end_right (editor_display &disp, int x, int y) |
virtual std::unique_ptr< editor_action > | key_event (editor_display &disp, const SDL_Event &e) |
Function called by the controller on a key event for the current mouse action. More... | |
void | set_toolbar_button (const theme::menu *value) |
Helper variable setter - pointer to a toolbar menu/button used for highlighting the current action. More... | |
const theme::menu * | toolbar_button () const |
Getter for the (possibly nullptr) associated menu/button. More... | |
common_palette & | get_palette () |
Getter for the associated palette. More... | |
virtual bool | supports_brushes () const |
Whether we need the brush bar, is used to grey it out. More... | |
Private Attributes | |
bool | click_ |
location_palette & | location_palette_ |
Additional Inherited Members | |
Protected Member Functions inherited from editor::mouse_action | |
bool | has_alt_modifier () const |
bool | has_shift_modifier () const |
bool | has_ctrl_modifier () const |
void | set_terrain_mouse_overlay (editor_display &disp, const t_translation::terrain_code &fg, const t_translation::terrain_code &bg) |
Helper function for derived classes that need a active-terrain mouse overlay. More... | |
Protected Attributes inherited from editor::mouse_action | |
map_location | previous_move_hex_ |
The hex previously used in move operations. More... | |
const CKey & | key_ |
Key presses, used for modifiers (alt, shift) in some operations. More... | |
Set starting position action.
Definition at line 365 of file mouse_action.hpp.
|
inline |
Definition at line 368 of file mouse_action.hpp.
|
overridevirtual |
A click, possibly the beginning of a drag.
Must be overridden.
Implements editor::mouse_action.
Definition at line 414 of file mouse_action.cpp.
References click_.
|
overridevirtual |
A click, possibly the beginning of a drag.
Must be overridden.
Implements editor::mouse_action.
Definition at line 431 of file mouse_action.cpp.
|
overridevirtual |
Set the mouse overlay for this action.
Defaults to an empty overlay.
Reimplemented from editor::mouse_action.
Definition at line 436 of file mouse_action.cpp.
References image::get_texture(), and editor::editor_display::set_mouseover_hex_overlay().
|
overridevirtual |
Left click displays a player-number-selector dialog and then creates an action or returns nullptr if cancel was pressed or there would be no change.
Do this on mouse up to avoid drag issue.
Reimplemented from editor::mouse_action.
Definition at line 380 of file mouse_action.cpp.
References editor::location_palette::add_item(), click_, editor::mouse_action::has_ctrl_modifier(), display::hex_clicked_on(), gamemap_base::is_special_location(), location_palette_, editor::editor_display::map(), gamemap_base::on_board(), editor::location_palette::selected_item(), and editor::mouse_action::update_brush_highlights().
|
overridevirtual |
Right click only erases the starting position if there is one.
Do this on mouse up to avoid drag issue,
Reimplemented from editor::mouse_action.
Definition at line 420 of file mouse_action.cpp.
References display::hex_clicked_on(), gamemap_base::is_special_location(), and editor::editor_display::map().
|
private |
Definition at line 392 of file mouse_action.hpp.
Referenced by click_left(), and up_left().
|
private |
Definition at line 393 of file mouse_action.hpp.
Referenced by up_left().