42 #ifndef STAGE_MODEL_ELEMENT_ACCESS_H 43 #define STAGE_MODEL_ELEMENT_ACCESS_H 65 using interact::UICoord;
90 UICoord locate_or_create (
UICoord const& destination,
size_t limitCreation = LUMIERA_MAX_ORDINAL_NUMBER);
130 using canUpcast = std::is_convertible<TAR*, X>;
135 handle (Base& pb)
override 139 TAR* downcasted =
dynamic_cast<TAR*
> (pb);
141 result = *downcasted;
163 ElementAccess::access (
UICoord const& destination)
167 RawResult targetElm = performAccessTo (targetLocation, 0);
168 targetElm.accept (converter);
169 return converter.result;
181 ElementAccess::locate_or_create (
UICoord const& destination,
size_t limitCreation)
184 performAccessTo (targetLocation, limitCreation);
185 return targetLocation;
Describe a location within the UI through structural/topological coordinates.
Representation of the result of some operation, EITHER a value or a failure.
Any copy and copy construction prohibited.
Intermediary value object to represent »either« an operation result or a failure. ...
hard wired safety limits.
Helper to pick the first type from a type sequence, which fulfils the predicate (meta function) given...
Interface: access UI elements by navigating the UI topology.
Derived specific exceptions within Lumiera's exception hierarchy.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
A typesafe union record to carry embedded values of unrelated type.
virtual ~ElementAccess()
this is an interface
Lumiera GTK UI implementation root.
A topological addressing scheme to designate structural locations within the UI.
Lumiera error handling (C++ interface).
to be implemented by the client for visitation
Metaprogramming: Helpers for manipulating lists-of-types.
Helper for accessing a value, employing either a conversion or downcast, depending on the relation of...