Displays a list model of strings.
|
|
| AListView (_< IListModel< AString > > model) |
| |
|
void | setModel (_< IListModel< AString > > model) |
| |
|
void | updateSelectionOnItem (size_t i, AListView::SelectAction action) |
| |
|
void | selectItem (size_t i) |
| | Acts on the item at index i as if the user were left-clicked without keyboard modifiers on it.
|
| |
|
int | getContentFullHeight () |
| |
|
void | setAllowMultipleSelection (bool allowMultipleSelection) |
| |
|
AListModelSelection< AString > | getSelectionModel () const |
| |
|
void | insertItem (size_t at, const AString &value) override |
| |
|
void | updateItem (size_t at, const AString &value) override |
| |
| void | removeItem (size_t at) override |
| |
| void | onDataCountChanged () override |
| |
| void | onDataChanged () override |
| |
|
void | clearSelection () |
| |
| void | setSize (glm::ivec2 size) override |
| |
|
void | setContents (_< AView > content) |
| |
| int | getContentMinimumWidth () override |
| |
| int | getContentMinimumHeight () override |
| |
| void | onPointerPressed (const APointerPressedEvent &event) override |
| | Called on pointer (mouse) released event.
|
| |
| void | onPointerReleased (const APointerReleasedEvent &event) override |
| | Called on pointer (mouse) released event.
|
| |
|
void | setScroll (glm::uvec2 scroll) |
| |
|
void | setScrollX (unsigned scroll) |
| |
|
void | setScrollY (unsigned scroll) |
| |
| void | setStickToEnd (bool stickToEnd) |
| | Set stick to end.
|
| |
|
void | scroll (glm::ivec2 by) noexcept |
| |
|
void | scroll (int deltaByX, int deltaByY) noexcept |
| |
| bool | onGesture (const glm::ivec2 &origin, const AGestureEvent &event) override |
| |
| void | onScroll (const AScrollEvent &event) override |
| |
|
void | setScrollbarAppearance (ass::ScrollbarAppearance scrollbarAppearance) |
| |
| void | scrollTo (const _< AView > &target, bool nearestBorder=true) |
| | Scrolls to the specified target view.
|
| |
| void | scrollTo (ARect< int > target, bool nearestBorder=true) |
| | Scrolls to the specified rectangle area.
|
| |
| void | setWheelScrollable (bool value) |
| |
|
const _< AView > & | contents () const noexcept |
| |
|
const _< AScrollbar > & | verticalScrollbar () const noexcept |
| |
|
const _< AScrollbar > & | horizontalScrollbar () const noexcept |
| |
|
glm::uvec2 | scroll () const noexcept |
| |
| 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 |
| |
| glm::ivec2 | getContentSize () 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.
|
| |
| void | setAssName (const AString &assName, bool value) |
| | Depending on value, either adds or removes ass name.
|
| |
|
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> |
| decltype(auto) | 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) noexcept |
| |
|
_< AAbstractThread > | getThread () const |
| |
|
bool | isSlotsCallsOnlyOnMyThread () const noexcept |
| |
|
void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) |
| |
|
| AObjectBase (AObjectBase &&rhs) noexcept |
| |
|
| AObjectBase (const AObjectBase &rhs) noexcept |
| |
|
AObjectBase & | operator= (const AObjectBase &rhs) noexcept |
| |
|
AObjectBase & | operator= (AObjectBase &&rhs) noexcept |
| |
|
| noncopyable (const noncopyable &)=delete |
| |
|
noncopyable & | operator= (const noncopyable &)=delete |
| |
|
virtual void | insertItem (size_t at, const T &value)=0 |
| |
|
virtual void | updateItem (size_t at, const T &value)=0 |
| |
|
|
static void | disconnect () |
| |
| template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> |
| static decltype(auto) | 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 decltype(auto) | 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 decltype(auto) | 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 decltype(auto) | 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 decltype(auto) | 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) |
| |
| static constexpr AObjectBase * | GENERIC_OBSERVER = nullptr |
| | Indicates that a connection should not be explicitly linked to receiver's lifetime.
|
| |
|
static ASpinlockMutex | SIGNAL_SLOT_GLOBAL_SYNC |
| |
|
| AScrollArea (const Builder &builder) |
| |
|
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 | removeViews (aui::range< AVector< _< AView > >::iterator > views) |
| | Remove views from 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.
|
| |
|
void | clearAllIngoingConnections () noexcept |
| |
|
virtual void | handleSlotException (std::exception_ptr exception) |
| | Called then an exception has thrown during slot processing of the signal emitted by this object.
|
| |
|
AVector< _< AView > > | mViews |
| |
|
bool | mWantsLayoutUpdate = true |
| |
|
glm::ivec2 | mLastLayoutUpdateSize {0, 0} |
| |
|
AViewContainerBase * | mParent = nullptr |
| | Parent AView.
|
| |
|
std::array< ass::prop::IPropertyBase *, int(ass::prop::PropertySlot::COUNT)> | mAss |
| | Drawing list, or baking drawing commands so that you don't have to parse the ASS every time.
|
| |
|
ass::PropertyListRecursive | mCustomStyleRule |
| | Custom ASS Rules.
|
| |
|
AOptional< ACursor > | mCursor = ACursor::DEFAULT |
| | Determines shape which should pointer take when it's above this AView.
|
| |
|
glm::ivec2 | mPosition = { 0, 0 } |
| | Top left corner's position relative to top left corner's position of the parent AView.
|
| |
|
emits< glm::ivec2 > | mPositionChanged |
| | Position changed.
|
| |
|
glm::ivec2 | mSize = { 20, 20 } |
| | Size, including content area, border and padding.
|
| |
|
emits< glm::ivec2 > | mSizeChanged |
| | Size changed.
|
| |
|
AOptional< glm::ivec2 > | mCachedMinContentSize |
| |
|
bool | mMarkedMinContentSizeInvalid = false |
| |
| bool | mRedrawRequested = false |
| | Redraw requested flag for this particular view/.
|
| |
|
glm::ivec2 | mMinSize = {0, 0} |
| | Minimal size.
|
| |
|
glm::ivec2 | mMaxSize = {0x7fffffff, 0x7fffffff} |
| | Maximal size.
|
| |
|
glm::ivec2 | mFixedSize = {0, 0} |
| | Fixed size.
|
| |
| ABoxFields | mMargin |
| | Margin, which defines the spacing around this AView. Processed by the layout manager.
|
| |
| ABoxFields | mPadding |
| | Padding, which defines the spacing around content area inside the view. Processed by AView implementation.
|
| |
| AVector< AString > | mAssNames |
| | ASS class names.
|
| |
| bool | mSkipUntilLayoutUpdate = true |
| | If set to true, AViewContainer is obligated ignore this view. This value is set to false by AView::setGeometry.
|
| |