![]() |
Freeciv21
Develop your civilization from humble roots to a global empire
|
#include <view_map.h>
Inheritance diagram for map_view:
Collaboration diagram for map_view:Public Slots | |
| void | center_on_tile (tile *tile, bool animate=true) |
| Centers the view on a tile. More... | |
| void | zoom_in () |
| Zooms in by 20%. More... | |
| void | zoom_reset () |
| Resets the zoom level. More... | |
| void | zoom_out () |
| Zooms out by 20%. More... | |
| void | set_scale (double scale, bool animate=true) |
| Sets the map scale. More... | |
| void | show_debugger () |
| Opens the tileset debugger. More... | |
| void | hide_debugger () |
| Closes the tileset debugger if it is open. More... | |
| void | shortcut_pressed (shortcut_id key) |
| Pressed mouse or keyboard. More... | |
Signals | |
| void | scale_changed (double scale) const |
Public Member Functions | |
| map_view () | |
| Constructor for map. More... | |
| QPoint | find_place (const QSize &size) const |
| Finds a suitable location for a widget of the given size, avoiding overlap with other widgets. More... | |
| void | update_cursor (enum cursor_type) |
| Updates cursor. More... | |
| void | hide_all_fcwidgets () |
| Hides all fcwidgets (reports etc). More... | |
| void | show_all_fcwidgets () |
| Shows all fcwidgets (reports etc). More... | |
| double | scale () const |
| Retrieves the current scale (zoom level) of the map. More... | |
| freeciv::tileset_debugger * | debugger () const |
Protected Member Functions | |
| void | paintEvent (QPaintEvent *event) override |
| Slot inherited from QPixamp. More... | |
| void | keyPressEvent (QKeyEvent *event) override |
| Keyboard handler for map_view. More... | |
| void | mousePressEvent (QMouseEvent *event) override |
| Mouse buttons handler for map_view. More... | |
| void | mouseReleaseEvent (QMouseEvent *event) override |
| Mouse release event for map_view. More... | |
| void | mouseMoveEvent (QMouseEvent *event) override |
| Mouse movement handler for map_view. More... | |
| void | focusOutEvent (QFocusEvent *event) override |
| Focus lost event. More... | |
| void | leaveEvent (QEvent *event) override |
| Leave event. More... | |
| void | resizeEvent (QResizeEvent *event) override |
| The widget has been resized. More... | |
| void | wheelEvent (QWheelEvent *event) override |
| The user wants to scroll. More... | |
Properties | |
| double | scale |
Private Slots | |
| void | set_scale_now (double scale) |
| Sets the map scale immediately without doing any animation. More... | |
| void | timer_event () |
| Timer for cursor. More... | |
Private Member Functions | |
| void | shortcut_released (Qt::MouseButton mb) |
| Released mouse buttons. More... | |
Private Attributes | |
| int | cursor_frame {0} |
| int | cursor |
| freeciv::renderer * | m_renderer |
| double | m_scale = 1 |
| std::unique_ptr< QPropertyAnimation > | m_origin_animation |
| std::unique_ptr< QPropertyAnimation > | m_scale_animation |
| QPointer< freeciv::tileset_debugger > | m_debugger = nullptr |
| std::vector< QPointer< fcwidget > > | m_hidden_fcwidgets |
Friends | |
| void | debug_tile (tile *tile) |
| Callback to set the tile being debugged. More... | |
Definition at line 45 of file view_map.h.
| map_view::map_view | ( | ) |
Constructor for map.
Definition at line 130 of file view_map.cpp.
|
slot |
Centers the view on a tile.
Definition at line 197 of file view_map.cpp.
Referenced by chat_widget::anchor_clicked(), auto_center_on_focus_unit(), city_widget::center(), center_next_enemy_city(), center_next_player_capital(), center_next_player_city(), center_on_something(), city_widget::city_view(), goto_dialog::close_dlg(), cycle_enemy_units(), do_move_unit(), units_view::find_nearest(), city_dialog::get_city(), notify_goto::goto_tile(), handle_unit_bombard_info(), handle_unit_combat_info(), goto_dialog::item_selected(), key_center_capital(), meswin_goto(), meswin_popup_city(), hud_unit_combat::mousePressEvent(), minimap_view::mousePressEvent(), real_city_dialog_popup(), recenter_button_pressed(), request_center_focus_unit(), tilespec_reread(), and unit_focus_advance().
|
inline |
Definition at line 67 of file view_map.h.
| QPoint map_view::find_place | ( | const QSize & | size | ) | const |
Finds a suitable location for a widget of the given size, avoiding overlap with other widgets.
Definition at line 398 of file view_map.cpp.
|
overrideprotected |
Focus lost event.
Definition at line 332 of file view_map.cpp.
| void map_view::hide_all_fcwidgets | ( | ) |
Hides all fcwidgets (reports etc).
Used to make room for the city dialog.
Definition at line 170 of file view_map.cpp.
Referenced by real_city_dialog_popup().
|
slot |
Closes the tileset debugger if it is open.
Definition at line 301 of file view_map.cpp.
Referenced by fc_client::current_page().
|
overrideprotected |
Keyboard handler for map_view.
Definition at line 95 of file mapctrl.cpp.
|
overrideprotected |
Leave event.
Definition at line 341 of file view_map.cpp.
|
overrideprotected |
Mouse movement handler for map_view.
Definition at line 416 of file mapctrl.cpp.
|
overrideprotected |
Mouse buttons handler for map_view.
Definition at line 400 of file mapctrl.cpp.
|
overrideprotected |
Mouse release event for map_view.
Definition at line 408 of file mapctrl.cpp.
|
overrideprotected |
Slot inherited from QPixamp.
Definition at line 350 of file view_map.cpp.
|
overrideprotected |
The widget has been resized.
Definition at line 364 of file view_map.cpp.
| double map_view::scale | ( | ) | const |
Retrieves the current scale (zoom level) of the map.
Definition at line 248 of file view_map.cpp.
|
signal |
Referenced by pageGame::pageGame(), and set_scale_now().
|
slot |
Sets the map scale.
Definition at line 253 of file view_map.cpp.
Referenced by mr_menu::load_new_tileset(), tileset_changed(), zoom_in(), zoom_out(), and zoom_reset().
|
privateslot |
Sets the map scale immediately without doing any animation.
Definition at line 269 of file view_map.cpp.
Referenced by set_scale().
|
slot |
Pressed mouse or keyboard.
Definition at line 182 of file mapctrl.cpp.
Referenced by fc_shortcuts::create_no_action_shortcuts().
|
private |
Released mouse buttons.
Definition at line 372 of file mapctrl.cpp.
Referenced by mouseReleaseEvent().
| void map_view::show_all_fcwidgets | ( | ) |
Shows all fcwidgets (reports etc).
Used when closing the city dialog.
Definition at line 184 of file view_map.cpp.
Referenced by city_dialog::hideEvent().
|
slot |
Opens the tileset debugger.
Definition at line 278 of file view_map.cpp.
Referenced by mr_menu::setup_menus(), and tileset_changed().
|
privateslot |
| void map_view::update_cursor | ( | enum cursor_type | ct | ) |
Updates cursor.
Definition at line 152 of file view_map.cpp.
Referenced by focusOutEvent(), leaveEvent(), timer_event(), and update_mouse_cursor().
|
overrideprotected |
The user wants to scroll.
Definition at line 373 of file view_map.cpp.
|
slot |
Zooms in by 20%.
Definition at line 233 of file view_map.cpp.
Referenced by minimap_panel::minimap_panel(), mr_menu::setup_menus(), and wheelEvent().
|
slot |
Zooms out by 20%.
Definition at line 243 of file view_map.cpp.
Referenced by minimap_panel::minimap_panel(), mr_menu::setup_menus(), and wheelEvent().
|
slot |
Resets the zoom level.
Definition at line 238 of file view_map.cpp.
Referenced by minimap_panel::minimap_panel(), and mr_menu::setup_menus().
|
friend |
Callback to set the tile being debugged.
Definition at line 757 of file view_map.cpp.
|
private |
Definition at line 102 of file view_map.h.
Referenced by map_view(), timer_event(), and update_cursor().
|
private |
Definition at line 101 of file view_map.h.
Referenced by timer_event(), and update_cursor().
|
private |
Definition at line 108 of file view_map.h.
Referenced by debugger(), hide_debugger(), and show_debugger().
|
private |
Definition at line 109 of file view_map.h.
Referenced by hide_all_fcwidgets(), and show_all_fcwidgets().
|
private |
Definition at line 105 of file view_map.h.
Referenced by center_on_tile().
|
private |
Definition at line 103 of file view_map.h.
Referenced by center_on_tile(), map_view(), paintEvent(), resizeEvent(), scale(), set_scale_now(), and wheelEvent().
|
private |
Definition at line 104 of file view_map.h.
|
private |
Definition at line 106 of file view_map.h.
Referenced by set_scale().
|
readwrite |
Definition at line 136 of file view_map.h.
Referenced by info_tile::calc_size(), create_line_at_mouse_pos(), dirty_rect(), keyPressEvent(), mouseMoveEvent(), paintEvent(), city_dialog::refresh(), set_scale(), set_scale_now(), shortcut_pressed(), shortcut_released(), zoom_in(), and zoom_out().