18#include "AAssSelector.h"
21 template <
typename L,
typename R>
28 DirectParentSubSelector(L l, R r) : l(std::move(l)), r(std::move(r)) {}
30 bool isPossiblyApplicable(
AView* view)
override {
31 if (r.isPossiblyApplicable(view)) {
32 if (
auto parent = view->getParent()) {
33 return l.isPossiblyApplicable(parent);
39 bool isStateApplicable(
AView* view)
override {
40 if (r.isStateApplicable(view)) {
41 if (
auto parent = view->getParent()) {
42 return l.isStateApplicable(parent);
49 auto parent = view->getParent();
52 r.setupConnections(view, helper);
53 l.setupConnections(parent, helper);
71 template <
typename L,
typename R, std::enable_if_t<std::is_base_of_v<IAssSubSelector, L> && std::is_base_of_v<IAssSubSelector, R>,
bool> = true>
77#include <AUI/View/AViewContainer.h>
Base class of all UI objects.
Definition AView.h:78
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:178
Definition AAssSelector.h:28
DirectParentSubSelector< L, R > operator>(L l, R r)
Makes direct parent subselector.
Definition DirectParentSelector.h:72
#define AUI_ASSERT(condition)
Asserts that the passed condition evaluates to true.
Definition Assert.h:55
Definition DirectParentSelector.h:22