#include <kanzi/ui/node/concept/list_box/list_box_trajectory_presenter.hpp>
Classes | |
struct | KzuTrajectoryLayoutSnapInfo |
Public Types | |
using | BaseClass = ListBoxScrollPresenterConceptImpl< ListBoxTrajectoryPresenterType, TFinalClass, TScrollView > |
using | ItemSharedPtr = shared_ptr< TItemClass > |
using | LayoutSharedPtr = shared_ptr< TLayout > |
using | ListBoxTrajectoryPresenterType = ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView > |
using | ScrollViewSharedPtr = shared_ptr< TScrollView > |
Public Member Functions | |
void | addToLayout (ItemSharedPtr listBoxItem) |
void | bringItemCenter (size_t selection, bool smooth) |
Brings given item to the selector position. More... | |
KzuVirtualItemIterator | findMiddleIterator () |
LayoutSharedPtr | getLayout () const |
void | initialize (TFinalClass *listBox, LayoutSharedPtr layout) |
ListBoxTrajectoryPresenter () | |
void | notifyItemAdded (size_t index) |
Implements notifyItemAdded for a trajectory list box. More... | |
void | notifyItemContainerChanged () |
Invalidates layout if the item container is changed. More... | |
void | notifyItemRemoved (size_t index) |
Implements notifyItemRemoved for a trajectory list box. More... | |
void | notifyItemReplaced (size_t) |
Implements kzuPresenterItemReplaced for trajectory list box. More... | |
void | removeFromLayout (ItemSharedPtr listBoxItem) |
void | setScroll (Vector2 scroll) |
void | snap (Vector2 position, Vector2 direction, bool changeTarget, Vector2 *out_position, int *out_itemIndex) |
Snaps from a given position towards a given direction. More... | |
void | update () |
Updates presenter's state and visible items. More... | |
~ListBoxTrajectoryPresenter () | |
Public Member Functions inherited from kanzi::ListBoxScrollPresenterConceptImpl< ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >, TFinalClass, TScrollView > | |
ScrollViewSharedPtr | getScrollView () const |
Returns the Scroll View that the presenter uses. More... | |
void | initialize (TFinalClass *listBox) |
ListBoxScrollPresenterConceptImpl specific initialization. More... | |
ListBoxScrollPresenterConceptImpl ()=default | |
Constructor. More... | |
Protected Member Functions | |
bool | calculateVisibleRange () |
Sets indices and offsets of first and last visible items and the number of visible elements. Sets the values of viewInternal member. More... | |
void | extendVisibleItemRangeToItem (unsigned int index) |
Extends visible range of presenter to it includes specified item. More... | |
ItemSharedPtr | getItem (size_t presenterIndex) const |
unsigned int | getItemCount () |
Gets number of items in presenters list box. More... | |
Vector3 | getItemSize (unsigned int itemIndex) |
Returns size of an item specified by its index. More... | |
void | iterateLeft (KzuVirtualItemIterator *it) |
Iterates left in virtual item list. More... | |
void | iterateRight (KzuVirtualItemIterator *it) |
Iterates right in virtual item list. More... | |
void | iterateToIndex (KzuVirtualItemIterator *iterator, size_t index) |
Iterates the iterator to the given index. More... | |
void | snapImprove (KzuTrajectoryLayoutSnapInfo *snap, unsigned int objectIndex, float offset, float selectorOffset, kzBool snapLeft, kzBool snapRight) |
void | updateVisibleRange () |
Asks the list box to update the items in the layout according to the currently set firstIndex and rangeSize, taking also the keep alive into account. More... | |
Protected Member Functions inherited from kanzi::ListBoxScrollPresenterConceptImpl< ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >, TFinalClass, TScrollView > | |
void | onClickBegin (ClickManipulator::ClickBeginMessageArguments &messageArguments) |
Handles ClickManipulator::onClickBeginMessage. More... | |
void | onItemSelected (ListBoxConcept::ItemSelectedMessageArguments &messageArguments) |
Handles ListBoxConcept::ItemSelectedMessage. More... | |
void | onScrolled (ScrollViewConcept::ScrolledMessageArguments &messageArguments) |
Handles ScrollViewClass::ScrolledMessage. More... | |
void | onScrollFinished (ScrollViewConcept::ScrollFinishedMessageArguments &messageArguments) |
Handles ScrollViewClass::ScrollFinishedMessage. More... | |
void | onScrollStarted (ScrollViewConcept::ScrollStartedMessageArguments &messageArguments) |
Handles ScrollViewClass::ScrollStartedMessage. More... | |
void | onSnapRequested (ScrollViewConcept::SnapRequestMessageArguments &messageArguments) |
Handles ScrollViewClass::SnapRequestMessage. More... | |
void | onUserScrollFinished (ScrollViewConcept::UserScrollFinishedMessageArguments &messageArguments) |
Handles ScrollViewClass::UserScrollFinishedMessage. More... | |
void | onUserScrollStarted (ScrollViewConcept::UserScrollStartedMessageArguments &messageArguments) |
Handles ScrollViewClass::UserScrollStartedMessage. More... | |
void | scrollToTargetItem (size_t itemIndex, Vector2 scrollPosition, bool smooth) const |
Requests Scroll View to scroll to target item position. More... | |
void | sendListBoxTargetChangedMessage (size_t targetItem) const |
Sends ListBoxScrollPresenterConcept::TargetChangedMessage message to List Box. More... | |
void | sendScrollViewSetScrollMessage (const Vector2 &scrollPosition) const |
Sends ScrollViewConcept::SetScrollMessage message to Scroll View. More... | |
void | sendScrollViewSetScrollTargetMessage (const Vector2 &scrollTarget) const |
Sends ScrollViewConcept::SetScrollTargetMessage message to Scroll View. More... | |
Static Protected Member Functions | |
static unsigned int | kzuTrajectoryLayoutPresenterItemCountFunction_internal (void *userData) |
Gets list box's total item count. More... | |
static kzsError | kzuTrajectoryLayoutPresenterItemListSizeFunction_internal (unsigned int index, void *userData, Vector3 &size) |
Gets object's size by index. More... | |
static float | kzuTrajectoryLayoutPresenterItemWidthFunction_internal (const Vector3 size) |
Gets object's width from its size for virtual item list. More... | |
Additional Inherited Members | |
Protected Attributes inherited from kanzi::ListBoxScrollPresenterConceptImpl< ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >, TFinalClass, TScrollView > | |
TFinalClass * | m_listBox |
List Box that owns this presenter. More... | |
using kanzi::ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >::ListBoxTrajectoryPresenterType = ListBoxTrajectoryPresenter<TFinalClass, TLayout, TItemClass, TScrollView> |
using kanzi::ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >::BaseClass = ListBoxScrollPresenterConceptImpl<ListBoxTrajectoryPresenterType, TFinalClass, TScrollView> |
using kanzi::ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >::LayoutSharedPtr = shared_ptr<TLayout> |
using kanzi::ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >::ItemSharedPtr = shared_ptr<TItemClass> |
using kanzi::ListBoxTrajectoryPresenter< TFinalClass, TLayout, TItemClass, TScrollView >::ScrollViewSharedPtr = shared_ptr<TScrollView> |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
Implements notifyItemAdded for a trajectory list box.
Called by the ListBoxConceptImpl after the item has been added.
index | Index of the item that was added. |
|
inline |
Implements notifyItemRemoved for a trajectory list box.
Called by the ListBoxConceptImpl after the item is removed.
index | Index of the item that will be removed. |
|
inline |
Implements kzuPresenterItemReplaced for trajectory list box.
|
inline |
Invalidates layout if the item container is changed.
|
inline |
|
inline |
Updates presenter's state and visible items.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Brings given item to the selector position.
|
inline |
Snaps from a given position towards a given direction.
Returns the snapping target and the index of the item to which the scrolling snapped, unless they are given as nullptr. If the list box target changes to the snapped item, changeTarget is KZ_TRUE. If the snapping did not target any item, the index is -1.
|
inlineprotected |
Sets indices and offsets of first and last visible items and the number of visible elements. Sets the values of viewInternal member.
|
inlineprotected |
Asks the list box to update the items in the layout according to the currently set firstIndex and rangeSize, taking also the keep alive into account.
|
inlineprotected |
|
inlineprotected |
Iterates left in virtual item list.
This operation might extend presenters range of visible items if the size of an item where iterator will be pointing to could not be determined otherwise.
it | Iterator to iterate. |
|
inlineprotected |
Iterates right in virtual item list.
This operation might extend presenters range of visible items if the size of an item where iterator will be pointing to could not be determined otherwise.
it | Iterator to iterate. |
|
inlineprotected |
|
inlinestaticprotected |
Gets object's width from its size for virtual item list.
|
inlineprotected |
Extends visible range of presenter to it includes specified item.
If item is already inside the visible range, then the range will remain unchanged.
index | Index of the item which should be included into the range. |
|
inlineprotected |
Returns size of an item specified by its index.
If the item is outside of presenters range of visible items and its size could not be determined by list box, the visible range will be extended so list box can acquire the item and determine its size.
itemIndex | Index of an item whose size should be returned. |
|
inlineprotected |
Gets number of items in presenters list box.
|
inlinestaticprotected |
Gets object's size by index.
|
inlinestaticprotected |
Gets list box's total item count.
|
inlineprotected |
Iterates the iterator to the given index.