TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::TableState::Internal Struct Reference

Written by the table each frame; not part of the API. More...

#include <gui_controls/gui_table_types.h>

Public Attributes

tachyon::ID bodyID = tachyon::ID::Invalid()
 canonical scroll-Y
tachyon::ID horzScrollbarID = tachyon::ID::Invalid()
tachyon::ID vertScrollbarID = tachyon::ID::Invalid()
int32_t lastViewportH = 0
 sampled by render-time draw
int32_t lastViewportW = 0
tachyon::ID rowsRangeID = tachyon::ID::Invalid()
 Written by VirtualTable each frame, so keyboard navigation can address and scroll to rows outside the virtualized window.
int totalRowCount = 0
int32_t actualRowHeight = 0
bool anyHorzOverflow = false
 Set at render time when any section overflows; next frame emits a scrollbar only for an overflowing axis (a hidden bar would still eat clicks).
bool anyVertOverflow = false
bool hasHeaders = true
 VirtualTable's showHeaders, for keyboard scroll-into-view.
bool followInit = false
bool followPinned = true
int prevFollowRowCount = 0
std::unique_ptr< TreeRowMap > treeRowInfo
 populated by TreeCell()
std::vector< int > treeVisibleIdx
 VirtualTreeView: last frame's visible -> flat rows.
std::unique_ptr< CellLookupMap > cellLookup
 populated in cell mode
DoubleClickTracker rowClickTracker
DoubleClickTracker treeCellClickTracker
PendingRowClick pendingRowClick
std::unique_ptr< std::vector< int > > rowOrder
 Visual -> dataset row permutation while sorted, else null.
int sortedColumn = -2
 -2 = unbuilt; -1 = built-as-identity
bool sortedDescending = false
int sortedRowCount = -1
bool rowOrderDirty = false
 Set via InvalidateRowOrder().
tachyon::ID firstSectionBodyID = tachyon::ID::Invalid()
 Section 0's body ID; sections 1 and up live in extraSectionBodyIDs.
std::unique_ptr< std::array< tachyon::ID, kMaxTableSections - 1 > > extraSectionBodyIDs
int8_t sectionCount = 0
std::vector< tachyon::ElementRef > headerRefs
 Header cell refs of the current frame, by column.

Detailed Description

Written by the table each frame; not part of the API.

Member Data Documentation

◆ bodyID

tachyon::ID tachyon::TableState::Internal::bodyID = tachyon::ID::Invalid()

canonical scroll-Y

◆ horzScrollbarID

tachyon::ID tachyon::TableState::Internal::horzScrollbarID = tachyon::ID::Invalid()

◆ vertScrollbarID

tachyon::ID tachyon::TableState::Internal::vertScrollbarID = tachyon::ID::Invalid()

◆ lastViewportH

int32_t tachyon::TableState::Internal::lastViewportH = 0

sampled by render-time draw

◆ lastViewportW

int32_t tachyon::TableState::Internal::lastViewportW = 0

◆ rowsRangeID

tachyon::ID tachyon::TableState::Internal::rowsRangeID = tachyon::ID::Invalid()

Written by VirtualTable each frame, so keyboard navigation can address and scroll to rows outside the virtualized window.

◆ totalRowCount

int tachyon::TableState::Internal::totalRowCount = 0

◆ actualRowHeight

int32_t tachyon::TableState::Internal::actualRowHeight = 0

◆ anyHorzOverflow

bool tachyon::TableState::Internal::anyHorzOverflow = false

Set at render time when any section overflows; next frame emits a scrollbar only for an overflowing axis (a hidden bar would still eat clicks).

anyHorzOverflow also adds a bottom pad so the H bar doesn't cover the last row.

◆ anyVertOverflow

bool tachyon::TableState::Internal::anyVertOverflow = false

◆ hasHeaders

bool tachyon::TableState::Internal::hasHeaders = true

VirtualTable's showHeaders, for keyboard scroll-into-view.

◆ followInit

bool tachyon::TableState::Internal::followInit = false

◆ followPinned

bool tachyon::TableState::Internal::followPinned = true

◆ prevFollowRowCount

int tachyon::TableState::Internal::prevFollowRowCount = 0

◆ treeRowInfo

std::unique_ptr<TreeRowMap> tachyon::TableState::Internal::treeRowInfo

populated by TreeCell()

◆ treeVisibleIdx

std::vector<int> tachyon::TableState::Internal::treeVisibleIdx

VirtualTreeView: last frame's visible -> flat rows.

◆ cellLookup

std::unique_ptr<CellLookupMap> tachyon::TableState::Internal::cellLookup

populated in cell mode

◆ rowClickTracker

DoubleClickTracker tachyon::TableState::Internal::rowClickTracker

◆ treeCellClickTracker

DoubleClickTracker tachyon::TableState::Internal::treeCellClickTracker

◆ pendingRowClick

PendingRowClick tachyon::TableState::Internal::pendingRowClick

◆ rowOrder

std::unique_ptr<std::vector<int> > tachyon::TableState::Internal::rowOrder

Visual -> dataset row permutation while sorted, else null.

Rebuilt only when the sort state or row count changes (or rowOrderDirty).

◆ sortedColumn

int tachyon::TableState::Internal::sortedColumn = -2

-2 = unbuilt; -1 = built-as-identity

◆ sortedDescending

bool tachyon::TableState::Internal::sortedDescending = false

◆ sortedRowCount

int tachyon::TableState::Internal::sortedRowCount = -1

◆ rowOrderDirty

bool tachyon::TableState::Internal::rowOrderDirty = false

◆ firstSectionBodyID

tachyon::ID tachyon::TableState::Internal::firstSectionBodyID = tachyon::ID::Invalid()

Section 0's body ID; sections 1 and up live in extraSectionBodyIDs.

◆ extraSectionBodyIDs

std::unique_ptr<std::array<tachyon::ID, kMaxTableSections - 1> > tachyon::TableState::Internal::extraSectionBodyIDs

◆ sectionCount

int8_t tachyon::TableState::Internal::sectionCount = 0

◆ headerRefs

std::vector<tachyon::ElementRef> tachyon::TableState::Internal::headerRefs

Header cell refs of the current frame, by column.

Column-reorder handlers read these when they run, after the caller's column array may be gone.


The documentation for this struct was generated from the following file: