![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "steam/mobject/session/query-focus-stack.hpp"
A custom stack holding ScopePath »frames«.
It is utilised by the ScopeLocator to establish the current query focus location. Client code should access this mechanism through QueryFocus instances used as frontend. These QueryFocus objects incorporate a boost::intrusive_ptr, which stores the ref-count within the mentioned ScopePath frames located in the stack.
Definition at line 60 of file query-focus-stack.hpp.
Public Member Functions | |
| QueryFocusStack () | |
| bool | empty () const |
| size_t | size () const |
| ScopePath & | push (Scope const &) |
| Open a new path frame, pushing down the current frame. | |
| ScopePath & | top () |
| void | pop_unused () |
| investigate the stack top and discard any path frames which aren't referred anymore (as indicated by their ScopePath::use_count(). | |
| void | clear () |
Private Member Functions | |
| void | openDefaultFrame () |
Private Member Functions inherited from NonCopyable | |
| ~NonCopyable ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
Private Attributes | |
| std::list< ScopePath > | paths_ |
|
inline |
Definition at line 67 of file query-focus-stack.hpp.
References QueryFocusStack::openDefaultFrame().
Here is the call graph for this function:| bool empty | ( | ) | const |
Definition at line 96 of file query-focus-stack.hpp.
References QueryFocusStack::paths_.
Referenced by QueryFocusStack::pop_unused(), and QueryFocusStack::top().
Here is the caller graph for this function:| size_t size | ( | ) | const |
Definition at line 103 of file query-focus-stack.hpp.
References QueryFocusStack::paths_.
Referenced by QueryFocusStack_test::automaticFrameHandling(), QueryFocusStack_test::clear(), QueryFocusStack::openDefaultFrame(), QueryFocusStack::pop_unused(), QueryFocusStack::push(), QueryFocusStack::top(), QueryFocusStack_test::usePushedFrame(), and QueryFocusStack_test::verify_errorHandling().
Here is the caller graph for this function:Open a new path frame, pushing down the current frame.
The new frame tries to locate the given start scope and navigates to this position.
| error::Invalid | if newStartPoint isn't locatable |
Definition at line 125 of file query-focus-stack.hpp.
References Scope::isRoot(), ScopePath::isValid(), QueryFocusStack::paths_, and QueryFocusStack::size().
Referenced by QueryFocusStack_test::automaticFrameHandling(), QueryFocusStack_test::clear(), QueryFocusStack_test::usePushedFrame(), and QueryFocusStack_test::verify_errorHandling().
Here is the call graph for this function:
Here is the caller graph for this function:| ScopePath & top | ( | ) |
Definition at line 141 of file query-focus-stack.hpp.
References QueryFocusStack::empty(), QueryFocusStack::paths_, QueryFocusStack::pop_unused(), and QueryFocusStack::size().
Referenced by QueryFocusStack_test::automaticFrameHandling(), QueryFocusStack_test::clear(), QueryFocusStack_test::createStack(), QueryFocusStack_test::usePushedFrame(), and QueryFocusStack_test::verify_errorHandling().
Here is the call graph for this function:
Here is the caller graph for this function:| void pop_unused | ( | ) |
investigate the stack top and discard any path frames which aren't referred anymore (as indicated by their ScopePath::use_count().
After executing this function the topmost frame is either in use, or a new default frame has been created at the bottom of an empty stack.
Definition at line 161 of file query-focus-stack.hpp.
References QueryFocusStack::empty(), QueryFocusStack::openDefaultFrame(), QueryFocusStack::paths_, and QueryFocusStack::size().
Referenced by QueryFocusStack_test::automaticFrameHandling(), QueryFocusStack_test::clear(), QueryFocusStack::top(), and QueryFocusStack_test::usePushedFrame().
Here is the call graph for this function:
Here is the caller graph for this function:| void clear | ( | ) |
Definition at line 110 of file query-focus-stack.hpp.
References QueryFocusStack::openDefaultFrame(), and QueryFocusStack::paths_.
Referenced by QueryFocusStack_test::clear().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
open a default path frame at the bottom of an empty stack, locating to current model root
Definition at line 180 of file query-focus-stack.hpp.
References QueryFocusStack::paths_, and QueryFocusStack::size().
Referenced by QueryFocusStack::QueryFocusStack(), QueryFocusStack::clear(), and QueryFocusStack::pop_unused().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 64 of file query-focus-stack.hpp.
Referenced by QueryFocusStack::clear(), QueryFocusStack::empty(), QueryFocusStack::openDefaultFrame(), QueryFocusStack::pop_unused(), QueryFocusStack::push(), QueryFocusStack::size(), and QueryFocusStack::top().
Inheritance diagram for QueryFocusStack:
Collaboration diagram for QueryFocusStack: