CoreComponents 3.0.0
A Modern C++ Toolkit
|
List view A ListView shows a vertically scrollable list of items of various dimensions. More...
#include <cc/ListView>
Public Member Functions | |
ListView () | |
Create a primordial list view. | |
ListView (Out< ListView > self) | |
Create a new list view. | |
ListView (double width, double height) | |
Create a new list view of size (width, height) | |
ListView & | associate (Out< ListView > self) |
Get a weak reference in self. | |
ListView & | populate (Function< void(ListView)> &&f) |
Invoke custom initialization function f. | |
View | header () const |
Get the header. | |
ListView & | header (const View &newValue) |
Set the header | |
View | footer () const |
Get the footer. | |
ListView & | footer (const View &newValue) |
Set the footer | |
double | leadSpace () const |
Leading spacing if no header is present. | |
ListView & | leadSpace (double newValue) |
Set leading spacing. | |
double | tailSpace () const |
Trailing spacing if no footer is present. | |
ListView & | tailSpace (double newValue) |
set trailing spacing | |
void | deplete () |
Remove all children (list items) | |
Public Member Functions inherited from Flickable | |
Flickable () | |
Create a primordial flickable. | |
Flickable (double width, double height, const View &carrier=Pane{}) | |
Create a new flickable of given size (width, height) and optionally with a custom carrier. | |
Flickable (const View &carrier) | |
Create a new flickable with a custom carrier. | |
Flickable & | associate (Out< Flickable > self) |
Get a weak reference in self. | |
View & | carrier () |
Get the access to the carrier. | |
const View & | carrier () const |
Get the access to the carrier. | |
Public Member Functions inherited from Control | |
Control () | |
Create a primordial control. | |
Control (double width, double height) | |
Create a new top-level control of size (width, height) | |
Control & | associate (Out< Control > self) |
Get a weak reference in self. | |
Control | delegate () const |
Specific child control to cascade all input events to. | |
bool | cascade () const |
Allow input events to cascade to any child control. | |
bool | hover () const |
Pointer is currently hovering over this control | |
bool | pressed () const |
Control is currently pressed by the user | |
bool | focus () const |
Control has text input focus | |
Control & | focus (bool newValue) |
Grab or release input focus | |
Cursor | cursor () const |
Get cursor. | |
Control & | cursor (Cursor newValue) |
Set cursor | |
Control & | cursor (Definition< Cursor > &&f) |
Define cursor | |
Point | pointerPos () const |
Pointer position when hovered, pressed or clicked | |
Control & | onClicked (Function< void()> &&f) |
Handle clicked event | |
Control & | onPointerClicked (Filter< PointerEvent > &&f) |
Handle pointer clicked event | |
Control & | onMouseClicked (Filter< MouseEvent > &&f) |
Handle mouse clicked event | |
Control & | onFingerClicked (Filter< FingerEvent > &&f) |
Handle finger clicked event | |
bool | operator== (const Control &other) const |
Public Member Functions inherited from View | |
View ()=default | |
Create a primordial view. | |
View (double width, double height) | |
Create a new view of initial size (width, height) | |
View & | associate (Out< View > self) |
Get a weak reference in self. | |
View & | populate (const Function< void(View)> &&f) |
Invoke custom initialization function f. | |
void | touch () |
Materialize if this view is still primordial. | |
void | show () |
Convenience method to show this view. | |
int | run () |
Convenience method to show this view and run the application loop. | |
View & | paint (Definition< void > &&f) |
Define foreground. | |
Color | paper () const |
Get background color. | |
View & | paper (Color newValue) |
Set background color | |
View & | paper (Definition< Color > &&f) |
Define background color. | |
bool | visible () const |
Get visible. | |
View & | visible (bool newValue) |
Set visible | |
View & | visible (Definition< bool > &&f) |
Define visible. | |
double | opacity () const |
Get opacity. | |
View & | opacity (double newValue) |
Set opacity | |
View & | opacity (Definition< double > &&f) |
Define opacity. | |
View & | opacityEasing (const EasingCurve &easing, double duration) |
Set easing on opacity | |
bool | clip () const |
Get clip. | |
View & | clip (bool newValue) |
Set clip | |
View & | clip (Definition< bool > &&f) |
Define clip. | |
bool | moving () const |
Get moving. | |
View & | moving (bool newValue) |
Set moving | |
View & | moving (Definition< bool > &&f) |
Define moving. | |
Point | pos () const |
Get position. | |
View & | pos (Point newValue) |
Set position | |
View & | pos (double x, double y) |
Set position | |
View & | pos (Definition< Point > &&f) |
Define position. | |
View & | posEasing (const EasingCurve &easing, double duration, Function< bool()> &&direct=nullptr) |
Set easing on position | |
Size | size () const |
Get size. | |
double | x () const |
Get pos()[0]. | |
double | y () const |
Get pos()[1]. | |
double | width () const |
Get size()[0]. | |
double | height () const |
Get size()[1]. | |
double | innerWidth () const |
Get inner width. | |
double | innerHeight () const |
Get inner height. | |
View & | size (Size newValue) |
Set size to newValue | |
View & | size (double width, double height) |
Set size to Size{width, height} | |
View & | size (Definition< Size > &&f) |
Define size. | |
View & | sizeEasing (const EasingCurve &easing, double duration) |
Set easing on size | |
Padding | padding () const |
Padding to apply when adding this view to a layout | |
View & | padding (const Padding &newValue) |
Set padding | |
View & | padding (Definition< Padding > &&f) |
Define padding. | |
Point | pivot () const |
Get rotation center. | |
View & | pivot (Point newValue) |
Set rotation center | |
View & | pivot (Definition< Point > &&f) |
Define rotation center. | |
View & | pivotEasing (const EasingCurve &easing, double duration) |
Set easing on rotation center | |
double | angle () const |
Get rotation angle. | |
View & | angle (double newValue) |
Set rotation angle | |
View & | angle (Definition< double > &&f) |
Define rotation angle. | |
View & | angleEasing (const EasingCurve &easing, double duration) |
Set easing on rotation angle | |
double | scale () const |
Get scale factor. | |
View & | scale (double newValue) |
Set scale factor | |
View & | scale (Definition< double > &&f) |
Define scale factor. | |
View & | scaleEasing (const EasingCurve &easing, double duration) |
Set easing on scale | |
View | decoration () const |
Get decoration. | |
View & | decoration (const View &newValue) |
Set decoration | |
View & | decoration (Definition< View > &&f) |
Define decoration. | |
Size | preferredSize () const |
Get preferred size. | |
Size | minSize () const |
Get minimal size. | |
Size | maxSize () const |
Get maximal size. | |
Color | basePaper () const |
Get the background paper. | |
const char * | objectName () const |
Get the object name (for debugging) | |
View & | objectName (const char *name) |
Set the object name | |
bool | hasWindow () const |
Check if this view is already shown in a window. | |
Window | window () const |
Get the window this view is shown in. | |
bool | isHandheld () const |
Get window().display().isHandheld() | |
Id | id () const |
Get view identifier. | |
List< Id > | fullId () const |
Get view identifier heritage list. | |
bool | operator== (const View &other) const |
Equality operator. | |
std::strong_ordering | operator<=> (const View &other) const |
Ordering operator. | |
bool | hasParent () const |
Check if this is a child view. | |
View | parent () const |
Get parent view. | |
View | root () const |
Get the root view of this window. | |
long | childrenCount () const |
Number of children. | |
long | count () const |
Number of children. | |
bool | hasChildren () const |
Check if there are any children. | |
View & | add (const View &child) |
Add new child placed visually above all existing children. | |
View & | addAbove (const View &child) |
Add new child placed visually above all existing children. | |
View & | addBelow (const View &child) |
Add child place visually below all existing children. | |
View & | insertAt (Locator target, const View &child) |
Insert new child at target. | |
View & | insertAt (long index, const View &child) |
Insert new child at index. | |
void | remove (const View &child) |
Remove a child. | |
View & | push (const View &child) |
Add new child placed visually above all existing children. | |
void | pop () |
Remove the top-most visible child. | |
void | deplete () |
Remove all children. | |
void | moveToTop () |
Make this view be visible above any other visible sibling. | |
void | moveToBottom () |
Make this view be visible beneath any other visible sibling. | |
const Set< View > & | children () const |
Get all child views. | |
const Set< View > & | visibleChildren () const |
Get visible child views. | |
Rect | childrenRect () const |
Get bounding box containing all visible child views including their paddings. | |
Point | mapToGlobal (Point l) const |
Map view coordinates l to window coordinates | |
Point | mapToLocal (Point g) const |
Map window coordinates g to view coordinates | |
Point | mapToChild (const View &child, Point l) const |
Map local coordinates l to child coordinates | |
Point | mapToParent (const View &parent, Point l) const |
Map local coordinates l to parent coordinates | |
bool | containsLocal (Point l) const |
Check if local point l lays inside this view. | |
bool | containsGlobal (Point g) const |
Check if global point l lays inside this view. | |
View | findChild (Point l) const |
Find the first child which contains local point l. | |
Control | findControl (Point l) const |
Find the first control which contains local point l. | |
bool | isParentOf (const View &other) const |
Check if this view is parent of other. | |
bool | laysInsideOf (const View &other, double margin) const |
Check if this view is fully visible inside other with given surrounding margin. | |
void | update () |
Manually force repaint. | |
template<class T > | |
void | collectVisible (InOut< List< T > > collection) const |
Get a list of all visible children in this view tree which are of type T. | |
Layout | layout () const |
Get layout. | |
View & | layout (const Layout &newValue) |
Set layout | |
void | renderTo (Image &image) const |
Capture a rendered image of this view (including its children) as rendered on the screen. | |
double | top () const |
Get y-coordinate of this view's top border. | |
double | bottom () const |
Get y-coordinate of this view's bottom border. | |
double | left () const |
Get x-coordinate of this view's left border. | |
double | right () const |
Get x-coordinate of this view's right border. | |
Point | topLeft () const |
Get this view's top-left corner. | |
Point | topCenter () const |
Get this view's top-center point. | |
Point | topRight () const |
Get this view's top-right corner. | |
Point | bottomLeft () const |
Get this view's bottom-left corner. | |
Point | bottomCenter () const |
Get this view's bottom-center point. | |
Point | bottomRight () const |
Get this view's bottom-right corner. | |
Point | centerLeft () const |
Get this view's center-left point. | |
Point | centerRight () const |
Get this view's center-right point. | |
View & | topLeft (Point newValue) |
Make this view's top-left match newValue. | |
View & | topCenter (Point newValue) |
Make this view's top-center match newValue. | |
View & | topRight (Point newValue) |
Make this view's top-right match newValue. | |
View & | bottomLeft (Point newValue) |
Make this view's bottom-left match newValue. | |
View & | bottomCenter (Point newValue) |
Make this view's bottom-center match newValue. | |
View & | bottomRight (Point newValue) |
Make this view's bottom-right match newValue. | |
View & | centerLeft (Point newValue) |
Make this view's center-left match newValue. | |
View & | centerRight (Point newValue) |
Make this view's center-right match newValue. | |
View & | center (Point newValue) |
Make this view's center match newValue. | |
View & | topLeft (Definition< Point > &&a) |
Anchor the top-left corner to a | |
View & | topCenter (Definition< Point > &&a) |
Anchor the top-center corner to a | |
View & | topRight (Definition< Point > &&a) |
Anchor the top-right corner to a | |
View & | bottomLeft (Definition< Point > &&a) |
Anchor the bottom-left corner to a | |
View & | bottomCenter (Definition< Point > &&a) |
Anchor the bottom-center corner to a | |
View & | bottomRight (Definition< Point > &&a) |
Anchor the bottom-right corner to a | |
View & | centerLeft (Definition< Point > &&a) |
Anchor the center-left to a | |
View & | centerRight (Definition< Point > &&a) |
Anchor the center-right to a | |
View & | center (Definition< Point > &&a) |
Anchor the center to a | |
View & | centerInParent () |
Anchor this view's center to its parent's center. | |
View & | onWindowEntered (Function< void()> &&f) |
Handle window enter event | |
View & | onWindowLeft (Function< void()> &&f) |
Handle window leave event | |
View & | onPointerPressed (Filter< PointerEvent > &&f) |
Handle pointer pressed event | |
View & | onPointerReleased (Filter< PointerEvent > &&f) |
Handle pointer release event | |
View & | onPointerMoved (Filter< PointerEvent > &&f) |
Handle pointer moved event | |
View & | onMousePressed (Filter< MouseEvent > &&f) |
Handle move pressed event | |
View & | onMouseReleased (Filter< MouseEvent > &&f) |
Handle mouse release event | |
View & | onMouseMoved (Filter< MouseEvent > &&f) |
Handle move moved event | |
View & | onFingerPressed (Filter< FingerEvent > &&f) |
Handle finger pressed event | |
View & | onFingerReleased (Filter< FingerEvent > &&f) |
Handle finger released event | |
View & | onFingerMoved (Filter< FingerEvent > &&f) |
Handle finger moved event | |
View & | onWheelMoved (Filter< WheelEvent > &&f) |
Handle mouse wheel moved event | |
View & | onKeyPressed (Filter< KeyEvent > &&f) |
Handle key pressed event | |
View & | onKeyReleased (Filter< KeyEvent > &&f) |
Handle key released event | |
View & | onEndOfLife (Function< void()> &&f) |
Get notified when the View's lifetime ends. | |
View & | attach (const Object &other) |
Attach a non-visual object (e.g. | |
View & | attach (Function< void()> &&f) |
Convenience method for attaching a monitor. | |
Public Member Functions inherited from Surface | |
Surface ()=default | |
Create a null surface. | |
void | nextPage (bool clear=true) |
Open next page. | |
cairo_surface_t * | cairoSurface () |
Get a pointer to the underlying Cairo surface. | |
void | polish () |
Prepare surface before start painting. | |
Public Member Functions inherited from Object | |
Object ()=default | |
Create a null object. | |
operator bool () const | |
Check if this is a non-null object. | |
bool | isNull () const |
Check if this is a null object. | |
template<class T > | |
bool | is () const |
Check if this object is of type T. | |
template<class T > | |
T | as () const |
Cast this object to type T. | |
bool | isWeak () const |
Check if the underlying object reference is weak. | |
bool | operator== (const Object &other) const |
Equality operator. | |
std::strong_ordering | operator<=> (const Object &other) const |
Ordering operator. | |
long | useCount () const |
Reference count. | |
Protected Member Functions | |
ListView (State *newState) | |
ListView (CreateState onDemand) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from Flickable | |
Flickable (State *newState) | |
Flickable (CreateState createState) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from Control | |
Control (State *newState) | |
Control (CreateState onDemand) | |
bool | operator== (State *other) const |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from View | |
View (State *newState) | |
Initialize view. | |
View (CreateState onDemand) | |
Initialize view. | |
template<class T > | |
T | grab () |
Get a weak reference version of this object. | |
template<class T > | |
T & | associate (Out< T > self) |
Convenience method to associate a weak reference to this objet. | |
template<class T > | |
T & | get () |
Get access to the object's state (create it if needed) | |
template<class T > | |
const T & | get () const |
Get access to the object's state (create it if needed) | |
State & | me () |
const State & | me () const |
bool | operator== (const State *other) const |
Protected Member Functions inherited from Surface | |
Surface (State *newState) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from Object | |
template<class T > | |
T | weak () const |
template<class T > | |
void | initOnce () |
Create the object state when called the first time. | |
template<class T > | |
void | initOncePerThread () |
Create a distinct object state for each thread when called the first time in that thread. | |
Object (State *newState) | |
Initialize object with newState. | |
Object (State *state, Alias) | |
Object (State *state, Weak) | |
Object & | operator= (std::nullptr_t) |
Additional Inherited Members | |
Public Types inherited from View | |
using | Id = double |
View identifier | |
Protected Types inherited from View | |
using | CreateState = State *() |
Static Protected Member Functions inherited from Control | |
static View::State * | createState () |
Static Protected Member Functions inherited from View | |
template<class T > | |
static View::State * | onDemand () |
Static Protected Member Functions inherited from Object | |
template<class T > | |
static T | alias (const State *state) |
Create an alias object for the given state. | |
template<class T > | |
static T | weak (const State *state) |
Protected Attributes inherited from Object | |
Handle< State > | me |
Internal object state | |
List view A ListView shows a vertically scrollable list of items of various dimensions.
ListView | ( | ) |
Create a primordial list view.
ListView | ( | double | width, |
double | height ) |
Create a new list view of size (width, height)
View header | ( | ) | const |
Get the header.
View footer | ( | ) | const |
Get the footer.
double leadSpace | ( | ) | const |
Leading spacing if no header is present.
double tailSpace | ( | ) | const |
Trailing spacing if no footer is present.
ListView & tailSpace | ( | double | newValue | ) |
set trailing spacing
void deplete | ( | ) |
Remove all children (list items)