Wt
4.12.0
|
An abstract map item. More...
#include <WLeafletMap.h>
Public Member Functions | |
void | move (const Coordinate &pos) |
Move the map item. More... | |
Coordinate | position () const |
Get the current position. More... | |
Signal & | clicked () |
Signal emitted when the user clicks on the map item. More... | |
Signal & | doubleClicked () |
Signal emitted when the user double-clicks on the map item. More... | |
Signal & | mouseWentDown () |
Signal emitted when the user holds the mouse click on the map item. More... | |
Signal & | mouseWentUp () |
Signal emitted when the user releases the mouse click on the map item. More... | |
Signal & | mouseWentOver () |
Signal emitted when the user's mouse enters the map item. More... | |
Signal & | mouseWentOut () |
Signal emitted when the user's mouse leaves the map item. More... | |
![]() | |
void | addChild (std::unique_ptr< WObject > child) |
Add a child WObject whose lifetime is determined by this WObject. | |
template<typename Child > | |
Child * | addChild (std::unique_ptr< Child > child) |
Add a child WObject, returning a raw pointer. More... | |
std::unique_ptr< WObject > | removeChild (WObject *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. | |
template<typename Child > | |
std::unique_ptr< Child > | removeChild (Child *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. More... | |
virtual const std::string | id () const |
Returns the (unique) identifier for this object. More... | |
virtual void | setObjectName (const std::string &name) |
Sets an object name. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
void | isNotStateless () |
Marks the current function as not stateless. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
![]() | |
observable () noexcept | |
Default constructor. | |
virtual | ~observable () |
Destructor. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...)) noexcept |
Protects a method call against object destruction. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...) const) const noexcept |
Protects a const method call against object destruction. More... | |
template<typename Function > | |
auto | bindSafe (const Function &function) noexcept |
Protects a function against object destruction. More... | |
Protected Member Functions | |
AbstractMapItem (const Coordinate &pos) | |
Constructor. More... | |
virtual void | createItemJS (WStringStream &ss, WStringStream &postJS, long long id)=0 |
Writes the JS code to create this item to the stream. More... | |
virtual void | unrender () |
Unrender the item. More... | |
virtual bool | needsUpdate () const |
Return whether this item needs to be updated. More... | |
WLeafletMap * | map () |
Returns the map this item belongs to. | |
const WLeafletMap * | map () const |
Returns the map this item belongs to. | |
virtual void | update (WStringStream &js) |
Writes the JS to update this item to the stream. More... | |
virtual void | setMap (WLeafletMap *map) |
Set the map this item belongs to. More... | |
![]() | |
virtual WStatelessSlot * | getStateless (Method method) |
On-demand stateless slot implementation. More... | |
Private Member Functions | |
virtual void | applyChangeJS (WStringStream &ss, long long id) |
virtual std::string | addFunctionJs () const |
The name of the JS function that adds the item to the map. | |
Additional Inherited Members | |
![]() | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
An abstract map item.
This is the base class for all items that can be added to a WLeafletMap. As this is an abstract class, it should not be added directly to a map as is. Instead, you should use one of the subclasses.
|
explicitprotected |
Constructor.
Since this is an abstract class, it should not be used directly.
|
privatevirtual |
This method should write the JS code needed to update the item. The JS code written can use o.wtObj to refer to the WLeafletMap JS object.
Reimplemented in Wt::WLeafletMap::AbstractOverlayItem.
Signal& Wt::WLeafletMap::AbstractMapItem::clicked | ( | ) |
Signal emitted when the user clicks on the map item.
|
protectedpure virtual |
Writes the JS code to create this item to the stream.
This method should write in ss
the JS code that creates the item. The postJS
stream can be used to write JS code that should be executed after the item has been created.
Implemented in Wt::WLeafletMap::LeafletMarker, Wt::WLeafletMap::WidgetMarker, Wt::WLeafletMap::Tooltip, and Wt::WLeafletMap::Popup.
Signal& Wt::WLeafletMap::AbstractMapItem::doubleClicked | ( | ) |
Signal emitted when the user double-clicks on the map item.
Signal& Wt::WLeafletMap::AbstractMapItem::mouseWentDown | ( | ) |
Signal emitted when the user holds the mouse click on the map item.
Signal& Wt::WLeafletMap::AbstractMapItem::mouseWentOut | ( | ) |
Signal emitted when the user's mouse leaves the map item.
Signal& Wt::WLeafletMap::AbstractMapItem::mouseWentOver | ( | ) |
Signal emitted when the user's mouse enters the map item.
Signal& Wt::WLeafletMap::AbstractMapItem::mouseWentUp | ( | ) |
Signal emitted when the user releases the mouse click on the map item.
void Wt::WLeafletMap::AbstractMapItem::move | ( | const Coordinate & | pos | ) |
Move the map item.
If this map item belongs to a map, this will trigger an update of the WLeafletMap to move the map item. If it doesn't belong to a map, the position is merely updated.
|
protectedvirtual |
Return whether this item needs to be updated.
This is called when the map is rendered. If this returns true, update() will be used to update the item.
Reimplemented in Wt::WLeafletMap::WidgetMarker.
Coordinate Wt::WLeafletMap::AbstractMapItem::position | ( | ) | const |
Get the current position.
|
protectedvirtual |
Set the map this item belongs to.
This is called to set the map the item belongs to. You can override this function if you need to do something when the item is added to a map.
You should not call this function directly.
Reimplemented in Wt::WLeafletMap::WidgetMarker, Wt::WLeafletMap::Marker, and Wt::WLeafletMap::AbstractOverlayItem.
|
protectedvirtual |
Unrender the item.
This is called when the map needs to be recreated. You can override this function in case you need to do some cleanup before the map is recreated.
By default, this does nothing.
Reimplemented in Wt::WLeafletMap::WidgetMarker.
|
protectedvirtual |
Writes the JS to update this item to the stream.
This is called when the map is rendered if needsUpdate() returns true.
Reimplemented in Wt::WLeafletMap::WidgetMarker.