Public Member Functions | List of all members
PHN_ItemList Class Reference

The item list widget shows a list of items. More...

#include <PHNItemList.h>

Inheritance diagram for PHN_ItemList:
PHN_Widget PHN_WidgetContainer

Public Member Functions

 PHN_ItemList ()
 Initializes a new list.
void setItemCount (int itemCount)
 Sets the amount of items displayed.
int itemCount () const
 Gets the amount of items displayed.
void setPageSize (int itemsPerPage)
 Sets the amount of items displayed per page.
int pageSize () const
 Gets the amount of items displayed per page.
void setScrollWidth (int scrollWidth)
 Forces a certain width of the scroll-portion of the list.
void setDrawFunction (void(*drawFunction)(ItemParam &))
 Sets the draw function to use for the items.
void setSelectedIndex (int selectedIndex)
 Sets the index of the selected item.
int selectedIndex () const
 Gets the index of the selected item.
bool selectionChanged () const
 Checks whether the selected index was changed.
int firstIndex ()
 Gets the index of the first item displayed.
int indexChange ()
 Gets the index change that happened due to scrolling.
bool isScrolled ()
 Gets whether the first index was changed.
void drawItem (int index)
 Forces a particular item to be re-drawn.
virtual void update (void)
 Update function routine, where widget logic must be performed.
virtual void draw (void)
 Draw function routine, where widgets must perform drawing.
- Public Member Functions inherited from PHN_Widget
 PHN_Widget ()
 Constructor for a new widget, initializing all fields to the default values.
virtual ~PHN_Widget ()
 Destructor for a widget, clearing any child widgets and freeing memory.
const int getX (void)
 Gets the x-coordinate of the widget.
const int getY (void)
 Gets the y-coordinate of the widget.
const int getWidth (void)
 Gets the width of the widget.
const int getHeight (void)
 Gets the height of the widget.
void setBounds (int x, int y, int width, int height)
 Sets the new bounds (x, y, width, height) of the widget.
void setSize (int width, int height)
 Sets the size (width, height) of the widget.
virtual void setColor (int colorId, color_t color)
 Sets a style color for this widget. More...
const color_t color (int colorId)
 Gets a style color set for this widget. More...
bool isTouched ()
 Gets whether the widget is touched down by the user.
bool isTouchEnter ()
 Gets whether the user's touch input entered the widget.
bool isTouchLeave ()
 Gets whether the user's touch input left the widget.
bool isTouchChange ()
 Gets whether the user clicked, entered or left the widget.
bool isClicked ()
 Gets whether the user clicked (pressed and released) the widget.
void setVisible (bool visible)
 Sets whether the widget is displayed and updated.
bool isVisible (void)
 Gets whether the widget is displayed and updated.
bool isDrawn (void)
 Gets whether the widget has been drawn.
void setDrawingEnabled (bool drawing)
 Sets whether the widget is drawn and undrawn.
bool isDrawingEnabled (void)
 Gets whether the widget is drawn and undrawn.
void invalidate (void)
 Invalidated the widget, causing it to be re-drawn at a later time.
bool isInvalidated (void)
 Checks whether the widget is invalidated and needs to be redrawn.
void draw_validate ()
 Draws the widget if invalidated, clearing the invalidated state.
virtual void undraw (void)
 Clear draw function routine, where widgets perform un-drawing (to background)
- Public Member Functions inherited from PHN_WidgetContainer
 PHN_WidgetContainer (void)
 Constructor for a new widget container.
void updateWidgets (bool update, bool draw, bool forceRedraw)
 Updates all the widgets contained. More...
void addWidget (PHN_Widget &widget)
 Adds a single widget. More...
void removeWidget (PHN_Widget &widget)
 Removes a single widget. More...
void clearWidgets ()
 Removes all contained widgets. More...
PHN_Widgetwidget (int index)
 Gets the widget stored at an index.
const int widgetCount ()
 Gets how many widgets are stored.

Additional Inherited Members

- Protected Member Functions inherited from PHN_WidgetContainer
void clearSilent ()
 Removes all child widgets from this container without handling proper redrawing. More...
void setWidgetCapacity (int capacity)
 Resizes the internal array of widgets to a new capacity. More...
- Protected Attributes inherited from PHN_Widget
PHN_Palette colors
 A palette of colors set for the widget.
unsigned char visible
 Draw state flags of the widget (0=invisible, 0x1=visible, 0x2=drawn, 0x4=draw_disabled)
bool invalidated
 Invalidated state of the widget.
int x
int y
int width
int height
- Protected Attributes inherited from PHN_WidgetContainer
bool deleteAddedWidgets
 Sets whether added widgets are deleted (were added with new)

Detailed Description

The item list widget shows a list of items.

This widget does not draw the items itself, rather, it allows the user to pass in a function that performs the drawing of each item by index. The only drawing this widget performs is the frame and the scrollbar.

A single item can be selected by user interaction.

If no function is specified, the index of the item is printed instead.

To set a function, make a new global function and pass it to the widget such as this: itemList.setDrawFunction(drawMyItem);

void drawMyItem(ItemParam &p) {


Before use, call setItemCount() to specify the amount of items. Then use setPageSize() to set how many items are displayed per page. Finally, set the draw function to use for the items using setDrawFunction().

The documentation for this class was generated from the following files: