51 #ifndef STAGE_MODEL_ELEMENT_ACCESS_H 52 #define STAGE_MODEL_ELEMENT_ACCESS_H 74 using interact::UICoord;
99 UICoord locate_or_create (
UICoord const& destination,
size_t limitCreation = LUMIERA_MAX_ORDINAL_NUMBER);
139 using canUpcast = std::is_convertible<TAR*, X>;
144 handle (Base& pb)
override 148 TAR* downcasted =
dynamic_cast<TAR*
> (pb);
150 result = *downcasted;
172 ElementAccess::access (
UICoord const& destination)
176 RawResult targetElm = performAccessTo (targetLocation, 0);
177 targetElm.accept (converter);
178 return converter.result;
190 ElementAccess::locate_or_create (
UICoord const& destination,
size_t limitCreation)
193 performAccessTo (targetLocation, limitCreation);
194 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...