Lumiera  0.pre.03
»edit your freedom«
UICoord::Builder Class Reference

Description

Definition at line 503 of file ui-coord.hpp.

Public Member Functions

 Builder (Builder &&)=default
 
Builder && append (Literal elm)
 augment UI coordinates by appending a further component at the end. More...
 
LocationClause create ()
 interprets the current (inline) builder contents as create clause, which has the meaning "create a new element XYZ when possible"
 
bool empty () const
 
Builder && noTab ()
 augment UI coordinates to indicate that no tab specification is necessary More...
 
 operator LocationClause ()
 support for use in the ViewSpec-DSL More...
 
Builder && panel (Literal panelID)
 augment UI coordinates to indicate a specific view to be used
 
Builder && path (Literal pathDef)
 augment UI coordinates to define a complete local path More...
 
Builder && persp (Literal perspectiveID)
 augment UI coordinates to mandate a specific perspective to be active within the window
 
Builder && prepend (Literal elmID)
 augment partially defined UI coordinates by extending them towards the root
 
size_t size () const
 
Builder && tab (Literal tabID)
 augment UI coordinates to indicate a specific tab within the view"
 
Builder && tab (uint tabIdx)
 augment UI coordinates to indicate a tab specified by index number
 
Builder && truncateTo (size_t depth)
 possibly shorten this path specification to a limited depth
 
UICoord const & uiCoord ()
 
Builder && view (Literal viewID)
 augment UI coordinates to indicate a specific view to be used
 
Builder && window (Literal windowID)
 change UI coordinate spec to define it to be rooted within the given window More...
 

Friends

class UICoord
 builder instances created by UICoord
 

Protected Member Functions

template<typename... ARGS>
 Builder (ARGS &&...args)
 
 Builder (UICoord &&anonRef)
 
 Builder (UICoord const &base)
 
Builder && normalise ()
 
Builder && overwrite (size_t depth, Literal newSpec)
 

Protected Attributes

UICoord uic_
 

Additional Inherited Members

- Private Member Functions inherited from MoveOnly
 MoveOnly (MoveOnly &&)=default
 
 MoveOnly (MoveOnly const &)=delete
 
MoveOnlyoperator= (MoveOnly &&)=delete
 
MoveOnlyoperator= (MoveOnly const &)=delete
 

Constructor & Destructor Documentation

◆ Builder()

Builder ( Builder &&  )
default
Remarks
moving a builder instance is acceptable

Member Function Documentation

◆ uiCoord()

UICoord const& uiCoord ( )
inline
Warning
exposes transient state, not normalised.

Definition at line 528 of file ui-coord.hpp.

Referenced by TestElementAccess::performAccessTo().

+ Here is the caller graph for this function:

◆ window()

Builder&& window ( Literal  windowID)
inline

change UI coordinate spec to define it to be rooted within the given window

Note
this function allows to undefine the window, thus creating an incomplete spec

Definition at line 539 of file ui-coord.hpp.

◆ noTab()

Builder&& noTab ( )
inline

augment UI coordinates to indicate that no tab specification is necessary

Remarks
typically this happens when a panel just holds a simple view

Definition at line 588 of file ui-coord.hpp.

◆ append()

Builder&& append ( Literal  elm)
inline

augment UI coordinates by appending a further component at the end.

Note
the element might define a sequence of components separated by `'/'`, in which case several elements will be appended.

Definition at line 600 of file ui-coord.hpp.

◆ path()

Builder&& path ( Literal  pathDef)
inline

augment UI coordinates to define a complete local path

Parameters
pathDefa path, possibly with multiple components separated by `'/'`
Note
any existing path definition is completely replaced by the new path

Definition at line 625 of file ui-coord.hpp.

References UICoord::setTailSequence().

+ Here is the call graph for this function:

◆ operator LocationClause()

operator LocationClause ( )
inline

support for use in the ViewSpec-DSL

interprets the current (inline) contents of an UICoord builder expression as a standard LocationClause, which has the meaning of "when an element exists at the location XYZ in the real UI"

Warning
like all the UICoord::Builder functions, the contents are moved. Thus, after using this conversion path once, the Builder is defunct

Definition at line 176 of file ui-location-solver.hpp.

+ Inheritance diagram for UICoord::Builder:
+ Collaboration diagram for UICoord::Builder:

The documentation for this class was generated from the following files: