The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
mouse_action_map_label.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008 - 2017 by Fabian Mueller <fabianmueller5@gmx.de>
3  Part of the Battle for Wesnoth Project http://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 #pragma once
16 
17 #include "mouse_action.hpp"
19 
20 class CKey;
21 
22 namespace editor {
23 
24 /**
25  * Set map label action.
26  */
28 {
29 public:
31  : mouse_action(palette, key), click_(false), clicked_on_(), last_draged_()
32  {
33  }
34 
35  editor_action* click_left(editor_display& disp, int x, int y);
36 
37  /**
38  * Drag operation. A click should have occurred earlier. Defaults to no action.
39  */
40  editor_action* drag_left(editor_display& disp, int x, int y, bool& partial, editor_action* last_undo);
41 
42  /**
43  * Left click displays a dialog that is used for entering the label string.
44  */
45  editor_action* up_left(editor_display& disp, int x, int y);
46 
47  editor_action* click_right(editor_display& disp, int x, int y);
48 
49  /**
50  * Right click erases the label under the mouse.
51  */
52  editor_action* up_right(editor_display& disp, int x, int y);
53 
54  virtual void set_mouse_overlay(editor_display& disp);
55 
56 private:
57  bool click_;
60 };
61 
62 } //end namespace editor
std::vector< color_t > palette(const color_range &cr)
Creates a reference color palette from a color range.
Definition: color_range.cpp:85
editor_action * up_left(editor_display &disp, int x, int y)
Left click displays a dialog that is used for entering the label string.
mouse_action_map_label(const CKey &key, empty_palette &palette)
editor_action * click_right(editor_display &disp, int x, int y)
A click, possibly the beginning of a drag.
editor_action * drag_left(editor_display &disp, int x, int y, bool &partial, editor_action *last_undo)
Drag operation.
Manage the empty-palette in the editor.
Definition: action.cpp:29
Encapsulates the map of the game.
Definition: location.hpp:40
editor_action * up_right(editor_display &disp, int x, int y)
Right click erases the label under the mouse.
virtual void set_mouse_overlay(editor_display &disp)
Set the mouse overlay for this action.
Base class for all editor actions.
Definition: action_base.hpp:40
editor_action * click_left(editor_display &disp, int x, int y)
A click, possibly the beginning of a drag.
A mouse action receives events from the controller, and responds to them by creating an appropriate e...
Class that keeps track of all the keys on the keyboard.
Definition: key.hpp:27