46 size_t getIndex()
const {
return this->index; }
49 void setIndex(
size_t value) { this->index = value; }
123 void onEndReached(std::function<
void()> callback) { this->endReachedCallback = callback; }
191 bool layouted =
false;
192 bool layoutPending =
false;
197 bool deleteDataSource =
false;
198 size_t defaultCellFocus = 0;
199 size_t knownCount = 0;
201 std::function<void()> endReachedCallback;
202 bool endRequested =
false;
204 std::map<std::string, std::vector<RecyclingGridItem*>> queueMap;
207 void computeGeometry();
208 float pitch()
const {
return this->itemSize + this->
itemSpace; }
209 float lineStart(
size_t line)
const;
210 float scrollTarget(
size_t index);
214 bool holdsFocus(
View* view);
253 void setPadding(
float top,
float right,
float bottom,
float left)
override;
293 void setPadding(
float top,
float right,
float bottom,
float left)
override;
308 float oldHeight = -1;
Generic FlexBox layout.
Definition box.hpp:74
Definition frame_context.hpp:30
Definition recycling_grid.hpp:278
void setItemWidth(float width)
void setPaddingTop(float top) override
void setPadding(float top, float right, float bottom, float left) override
void setPaddingRight(float right) override
void onThemeChanged() override
void setPreFetchLine(int lines)
float getScrollOffset() override
Definition recycling_grid.hpp:304
void draw(NVGcontext *vg, float x, float y, float width, float height, Style style, FrameContext *ctx) override
void setPaddingBottom(float bottom) override
Box * getFrameBox() override
Definition recycling_grid.hpp:301
void setPadding(float padding) override
void setPaddingLeft(float left) override
View * getDefaultFocus() override
void setSpanCount(int count)
void setItemSpace(float space)
void setScrollOffset(float offset, bool animated) override
Definition recycling_grid.hpp:305
Definition recycling_grid.hpp:219
RecyclingView * getRecycler() const
Definition recycling_grid.hpp:223
View * getNextFocus(FocusDirection direction, View *currentView) override
RecyclingGridContentBox(RecyclingView *recycler)
Definition recycling_grid.hpp:67
virtual ~RecyclingGridDataSource()=default
virtual void onItemSelected(View *recycler, size_t index)
Definition recycling_grid.hpp:78
virtual size_t getItemCount()
Definition recycling_grid.hpp:72
virtual RecyclingGridItem * cellForRow(RecyclingView *recycler, size_t index)
Definition recycling_grid.hpp:75
virtual void clearData()
Definition recycling_grid.hpp:81
Definition recycling_grid.hpp:41
virtual void prepareForReuse()
Definition recycling_grid.hpp:56
std::string reuseIdentifier
Definition recycling_grid.hpp:52
virtual void cacheForReuse()
Definition recycling_grid.hpp:60
size_t getIndex() const
Definition recycling_grid.hpp:46
void setIndex(size_t value)
Definition recycling_grid.hpp:49
Definition recycling_grid.hpp:237
void setPaddingTop(float top) override
void setPadding(float top, float right, float bottom, float left) override
Box * getFrameBox() override
Definition recycling_grid.hpp:261
void setColumnWidth(float width)
void setPreFetchLine(int lines)
void setSpanCount(int count)
View * getDefaultFocus() override
void draw(NVGcontext *vg, float x, float y, float width, float height, Style style, FrameContext *ctx) override
void setPaddingBottom(float bottom) override
void onThemeChanged() override
void setItemSpace(float space)
void setScrollOffset(float offset, bool animated) override
Definition recycling_grid.hpp:265
void setPadding(float padding) override
float getScrollOffset() override
Definition recycling_grid.hpp:264
void setPaddingRight(float right) override
void setPaddingLeft(float left) override
void setItemHeight(float height)
Definition recycling_grid.hpp:90
void forceRequestNextPage()
Definition recycling_grid.hpp:125
float paddingRight
Definition recycling_grid.hpp:176
float itemSpace
Definition recycling_grid.hpp:186
virtual void setScrollOffset(float offset, bool animated)=0
int preFetchLine
Definition recycling_grid.hpp:187
void registerCell(std::string identifier, std::function< RecyclingGridItem *()> allocation)
void onEndReached(std::function< void()> callback)
Definition recycling_grid.hpp:123
float minimumLineSize
Definition recycling_grid.hpp:181
void setDefaultCellFocus(size_t index)
Definition recycling_grid.hpp:135
float paddingLeft
Definition recycling_grid.hpp:176
virtual float getScrollOffset()=0
void selectRowAt(size_t index, bool animated)
View * getNextCellFocus(FocusDirection direction, View *currentView)
int getSpanCount() const
Definition recycling_grid.hpp:141
float itemSize
Definition recycling_grid.hpp:185
void onNextPage(std::function< void()> callback)
Definition recycling_grid.hpp:124
void queuedCellsThemeChanged()
RecyclingGridItem * dequeueReusableCell(std::string identifier)
int spanCount
Definition recycling_grid.hpp:180
float paddingBottom
Definition recycling_grid.hpp:176
RecyclingView(Axis scrollAxis)
void setDataSource(RecyclingGridDataSource *source, bool deleteDataSource=true)
Box * contentBox
Definition recycling_grid.hpp:152
virtual Box * getFrameBox()=0
RecyclingGridDataSource * getDataSource() const
Definition recycling_grid.hpp:104
float paddingTop
Definition recycling_grid.hpp:176
size_t getDefaultCellFocus() const
Definition recycling_grid.hpp:136
RecyclingGridItem * getGridItemByIndex(size_t index)
Simple wrapper around StyleValues for the array operator.
Definition style.hpp:115
Definition actions.hpp:25
FocusDirection
Focus direction when navigating.
Definition view.hpp:96
Axis
The direction a box lays its children out in (axis in XML).
Definition box.hpp:51