|
void | render (ARenderContext context) override |
| Draws this AView. Noone should call this function except rendering routine.
|
|
void | onMouseEnter () override |
|
void | onPointerMove (glm::vec2 pos, const APointerMoveEvent &event) override |
| Handles pointer hover events.
|
|
void | onMouseLeave () override |
|
void | onDpiChanged () override |
|
void | onClickPrevented () override |
| Called on AWindowBase::preventClickOnPointerRelease.
|
|
int | getContentMinimumWidth () override |
|
int | getContentMinimumHeight () override |
|
void | onPointerPressed (const APointerPressedEvent &event) override |
| Called on pointer (mouse) released event.
|
|
void | onPointerDoubleClicked (const APointerPressedEvent &event) override |
|
void | onPointerReleased (const APointerReleasedEvent &event) override |
| Called on pointer (mouse) released event.
|
|
void | onScroll (const AScrollEvent &event) override |
|
bool | onGesture (const glm::ivec2 &origin, const AGestureEvent &event) override |
|
bool | consumesClick (const glm::ivec2 &pos) override |
| Determines whether this AView processes this click or passes it thru.
|
|
void | setSize (glm::ivec2 size) override |
|
void | setEnabled (bool enabled=true) override |
|
auto | begin () const |
|
auto | end () const |
|
const AVector< _< AView > > & | getViews () const |
| Get all views of the container.
|
|
const _unique< ALayout > & | getLayout () const noexcept |
| Get layout manager of the container.
|
|
virtual _< AView > | getViewAt (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) const noexcept |
| Finds first direct child view under position.
|
|
_< AView > | getViewAtRecursive (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) const noexcept |
| Acts as AViewContainerBase::getViewAt but recursively (may include non-direct child).
|
|
template<aui::predicate< _< AView > > Callback> |
bool | getViewAtRecursive (glm::ivec2 pos, const Callback &callback, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
| Acts as AViewContainerBase::getViewAtRecursive but calls a callback instead of returning value.
|
|
template<aui::predicate< _< AView > > Callback> |
bool | visitsViewRecursive (Callback &&callback, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
| Performs recursive view traversal.
|
|
template<typename T> |
_< T > | getViewAtRecursiveOfType (glm::ivec2 pos, ABitField< AViewLookupFlags > flags=AViewLookupFlags::NONE) |
| Acts as AViewContainerBase::getViewAtRecursive but finds a view castable to specified template type.
|
|
void | setFocusChainTarget (_weak< AView > target) |
| Set focus chain target.
|
|
_< AView > | focusChainTarget () |
|
void | applyGeometryToChildrenIfNecessary () |
|
void | onKeyDown (AInput::Key key) override |
|
void | onKeyRepeat (AInput::Key key) override |
|
void | onKeyUp (AInput::Key key) override |
|
void | onCharEntered (char16_t c) override |
|
bool | capturesFocus () override |
|
const ASmallVector< PointerEventsMapping, 1 > & | pointerEventsMapping () const noexcept |
|
void | forceUpdateLayoutRecursively () override |
|
void | markMinContentSizeInvalid () override |
|
void | markPixelDataInvalid (ARect< int > invalidArea) override |
| A view requests to redraw it and passes it's coords relative to this.
|
|
auto | enabled () const |
| Whether view is enabled (i.e., reacts to user).
|
|
auto | position () const |
| Top left corner's position relative to top left corner's position of the parent AView.
|
|
auto | size () const |
| Size, including content area, border and padding.
|
|
auto | expanding () const |
| Expansion coefficient. Hints layout manager how much this AView should be extended relative to other AViews in the same container.
|
|
auto | visibility () const |
| Visibility value.
|
|
void | redraw () |
| Request window manager to redraw this AView.
|
|
AWindowBase * | getWindow () const |
| Determines window which this AView belongs to.
|
|
virtual void | drawStencilMask (ARenderContext ctx) |
|
virtual void | postRender (ARenderContext ctx) |
| Performs post-draw routines of this AView. Noone should call this function except rendering routine.
|
|
void | popStencilIfNeeded (ARenderContext ctx) |
|
const AVector< AString > & | getAssNames () const noexcept |
|
glm::ivec2 | getPosition () const noexcept |
| Top left corner's position relative to top left corner's position of the parent AView.
|
|
glm::ivec2 | getCenterPointInWindow () const noexcept |
| The center point position of the view relatively to top left corner of the window.
|
|
glm::ivec2 | getSize () const noexcept |
| Size, including content area, border and padding.
|
|
glm::ivec2 | getMinSize () const noexcept |
|
void | setMinSize (glm::ivec2 minSize) noexcept |
|
void | setExtraStylesheet (_< AStylesheet > extraStylesheet) |
|
void | setExtraStylesheet (AStylesheet &&extraStylesheet) |
|
const _< AStylesheet > & | extraStylesheet () const noexcept |
|
AOverflow | getOverflow () const |
| Determines whether display graphics that go out of the bounds of this AView or not.
|
|
void | setOverflow (AOverflow overflow) |
|
AOverflowMask | getOverflowMask () const |
| Controls how does the overflow (stencil) mask is produced.
|
|
void | setOverflowMask (AOverflowMask overflow) |
|
float | getBorderRadius () const |
| border-radius, specified in ASS.
|
|
void | setBorderRadius (float radius) |
|
int | getWidth () const |
|
int | getHeight () const |
|
int | getTotalOccupiedWidth () const |
|
int | getTotalOccupiedHeight () const |
|
glm::ivec2 | getMinimumSizePlusMargin () |
|
const ABoxFields & | getMargin () |
| Returns the margin.
|
|
void | setMargin (const ABoxFields &margin) |
| Sets the margin.
|
|
const ABoxFields & | getPadding () |
| Returns the padding.
|
|
void | setPadding (const ABoxFields &padding) |
| Sets the padding.
|
|
virtual AString | debugString () const |
| String which helps to identify this object in debug string output (i.e., for logging)
|
|
int | getTotalFieldHorizontal () const |
|
int | getTotalFieldVertical () const |
|
glm::ivec2 | getTotalFieldSize () const |
|
AViewContainerBase * | getParent () const |
| Parent AView.
|
|
const AOptional< ACursor > & | getCursor () const |
| Determines shape which should pointer take when it's above this AView.
|
|
void | setCursor (AOptional< ACursor > cursor) |
|
glm::ivec2 | getContentMinimumSize () noexcept |
|
bool | isContentMinimumSizeInvalidated () noexcept |
|
bool | hasFocus () const |
|
virtual int | getMinimumWidth () |
|
virtual int | getMinimumHeight () |
|
glm::ivec2 | getMinimumSize () |
|
void | setMaxSize (const glm::ivec2 &maxSize) |
|
const glm::ivec2 & | getMaxSize () const |
|
int | getContentWidth () const |
|
int | getContentHeight () const |
|
const glm::ivec2 & | getExpanding () const |
|
void | setExpanding (glm::ivec2 expanding) |
| Changes the expanding of view.
|
|
void | setExpanding (int expanding) |
| Changes the expanding of view.
|
|
void | setExpanding () |
|
const _< AAnimator > & | getAnimator () const |
|
void | setAnimator (const _< AAnimator > &animator) |
|
void | getTransform (glm::mat4 &transform) const |
|
int | getExpandingHorizontal () const |
|
int | getExpandingVertical () const |
|
aui::float_within_0_1 | getOpacity () const |
|
void | setOpacity (aui::float_within_0_1 opacity) |
|
virtual void | setPosition (glm::ivec2 position) |
|
void | setSizeForced (glm::ivec2 size) |
|
virtual void | setGeometry (int x, int y, int width, int height) |
|
void | setGeometry (const glm::ivec2 &position, const glm::ivec2 &size) |
|
bool | isBlockClicksWhenPressed () const noexcept |
|
void | setBlockClicksWhenPressed (bool value) noexcept |
|
const glm::ivec2 & | getFixedSize () |
| Fixed size.
|
|
void | setFixedSize (glm::ivec2 size) |
|
bool | isMouseHover () const noexcept |
|
bool | isPressed () const noexcept |
|
bool | isPressed (APointerIndex index) const noexcept |
|
bool | isFocused () const |
|
bool | isMouseEntered () const |
|
Visibility | getVisibility () const |
|
Visibility | getVisibilityRecursive () const |
|
void | setVisibility (Visibility visibility) noexcept |
|
void | setVisible (bool visible) noexcept |
|
MouseCollisionPolicy | getMouseCollisionPolicy () const |
|
void | setMouseCollisionPolicy (MouseCollisionPolicy mouseCollisionPolicy) |
|
void | click () |
|
void | pack () |
| Sets minimal size.
|
|
void | focus (bool needFocusChainUpdate=true) |
| Requests focus for this AView.
|
|
bool | hasIndirectParent (const _< AView > &v) |
| Checks if the specified view is an indirect parent of this view.
|
|
glm::ivec2 | getPositionInWindow () const |
|
void | addAssName (const AString &assName) |
| Adds an ASS class to this AView.
|
|
void | removeAssName (const AString &assName) |
| Removes an ASS class to this AView.
|
|
AView & | operator<< (const AString &assName) |
|
const _< AAssHelper > & | getAssHelper () const |
|
const ass::PropertyListRecursive & | getCustomAss () const |
|
void | setCustomStyle (ass::PropertyListRecursive rule) |
|
void | ensureAssUpdated () |
|
_< AView > | sharedPtr () |
|
_weak< AView > | weakPtr () |
|
virtual void | onFocusAcquired () |
|
virtual void | onFocusLost () |
|
virtual bool | handlesNonMouseNavigation () |
|
void | setDisabled (bool disabled=true) |
|
void | updateEnableState () |
|
void | enable () |
|
void | disable () |
|
void | operator+ (ass::PropertyListRecursive rule) |
| Helper function for kAUI.h:with_style.
|
|
void | invalidateStateStyles () |
| Updates state selectors for ASS.
|
|
virtual bool | wantsTouchscreenKeyboard () |
| Returns true if view is textfield-like view which requires touchscreen keyboard when clicked.
|
|
void | setSkipUntilLayoutUpdate (bool skipUntilLayoutUpdate) |
|
void | setFloating (AFloat f) noexcept |
| Set floating value for AText.
|
|
AFloat | getFloating () const noexcept |
| Floating value for AText.
|
|
_< AObject > | sharedPtr () |
|
_weak< AObject > | weakPtr () |
|
template<typename Connectable, ACompatibleSlotFor< Connectable > Function> |
void | connect (const Connectable &connectable, Function &&function) |
| Connects signal or property to slot of "this" object.
|
|
void | setSignalsEnabled (bool enabled) |
|
bool | isSignalsEnabled () const noexcept |
|
template<ASignalInvokable T> |
void | operator^ (T &&t) |
|
_< AAbstractThread > | getThread () const |
|
bool | isSlotsCallsOnlyOnMyThread () const noexcept |
|
void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) |
|
| AObjectBase (AObjectBase &&rhs) noexcept |
|
void | clearSignals () noexcept |
|
| noncopyable (const noncopyable &)=delete |
|
noncopyable & | operator= (const noncopyable &)=delete |
|
|
void | drawView (const _< AView > &view, ARenderContext contextOfTheContainer) |
|
template<typename Iterator> |
void | drawViews (Iterator begin, Iterator end, ARenderContext contextPassedToContainer) |
|
void | invalidateAllStyles () override |
| Invalidates all styles, causing to iterate over all rules in global and parent stylesheets.
|
|
void | onViewGraphSubtreeChanged () override |
| Called when direct or indirect parent has changed.
|
|
void | invalidateAssHelper () override |
| Resets mAssHelper.
|
|
void | setViews (AVector< _< AView > > views) |
| Replace views.
|
|
void | addViewCustomLayout (const _< AView > &view) |
| Adds view to container without exposing it to the layout manager.
|
|
void | addViews (AVector< _< AView > > views) |
| Add all views from vector.
|
|
void | addView (const _< AView > &view) |
| Add view to the container.
|
|
void | addView (size_t index, const _< AView > &view) |
| Add view at specific index to the container.
|
|
void | removeView (const _< AView > &view) |
| Remove view from the container.
|
|
void | removeView (AView *view) |
| Remove view from the container.
|
|
void | removeView (size_t index) |
| Remove view from the container at specified index.
|
|
void | removeAllViews () |
| Remove all views from container.
|
|
void | setContents (const _< AViewContainer > &container) |
| Moves (like via std::move) all children and layout of the specified container to this container.
|
|
void | setLayout (_unique< ALayout > layout) |
| Set new layout manager for this AViewContainerBase. DESTROYS OLD LAYOUT MANAGER WITH ITS VIEWS!!!
|
|
void | renderChildren (ARenderContext contextPassedToContainer) |
|
virtual void | applyGeometryToChildren () |
|
bool | transformGestureEventsToDesktop (const glm::ivec2 &origin, const AGestureEvent &event) |
| Converts touch screen events to desktop.
|
|
void | applyAssRule (const ass::PropertyList &propertyList) |
|
void | applyAssRule (const ass::PropertyListRecursive &propertyList) |
|
virtual AMenuModel | composeContextMenu () |
| Produce context (right click) menu.
|
|
virtual void | commitStyle () |
|
void | setThread (_< AAbstractThread > thread) |
| Set thread of the object.
|
|
|
static void | disconnect () |
|
template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> |
static void | connect (const Signal &signal, Object *object, Function &&function) |
| Connects signal to the slot of the specified object.
|
|
template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function> |
static void | connect (const Property &property, Object *object, Function &&function) |
| Connects property to the slot of the specified object.
|
|
template<APropertyReadable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; } |
static void | connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
| Connects source property to the destination property.
|
|
template<APropertyWritable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; } |
static void | biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
| Connects source property to the destination property and opposite (bidirectionally).
|
|
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> |
static void | connect (const Connectable &connectable, Object &object, Function &&function) |
| Connects signal or property to the slot of the specified object.
|
|
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> |
static void | connect (const Connectable &connectable, _< Object > object, Function &&function) |
| Connects signal or property to the slot of the specified object.
|
|
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function> |
static void | connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef) |
| Connects signal to the slot of the specified object. Slot is packed to single argument.
|
|
template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function>
requires (!aui::derived_from<Object, AObject>) |
static void | connect (const Property &property, _< Object > object, Function &&function) |
| Connects signal or property to the slot of the specified non-AObject type.
|
|
static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) |
|
A view that represents a set of views.
AViewContainerBase can store, render, resize, provide events to and handle the child views.
AViewContainerBase does not control the position and size of the child views by itself; instead, it delegates that responsibility to it's layout manager.
Since AViewContainerBase is an instance of AView, AViewContainerBase can handle AViewContainerBases recursively, thus, making possible complex UI by nested AViewContainerBases with different layout managers.
This class is abstract. The methods for modifying it's views are protected. You can use AViewContainer which exposes these methods to public or extend AViewContainerBase to make your own container-like view.
- Examples
- /home/runner/work/aui/aui/aui.views/src/AUI/View/AView.h.