Phoenard
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PHN_ButtonGrid Class Reference

Holds multiple rows and columns of buttons. More...

#include <PHNButtonGrid.h>

Inheritance diagram for PHN_ButtonGrid:
PHN_Widget PHN_WidgetContainer

Public Member Functions

 PHN_ButtonGrid (void)
 Basic constructor to set the initial rows/columns to 0.
 
void setDimension (int columns, int rows)
 Sets the amount of columns and rows in the grid.
 
void setSpacing (int spacing)
 Sets the horizontal and vertical spacing between buttons.
 
void setSpacing (int spacingW, int spacingH)
 Sets the horizontal and vertical spacing between buttons.
 
int buttonCount () const
 Gets the amount of buttons stored.
 
PHN_Buttonbutton (int index)
 Accesses a single button in the grid by index.
 
PHN_Buttonbutton (int column, int row)
 Accesses a single button in the grid by column and row.
 
int getTouchedColumn (void)
 Gets the column of the cell pressed, -1 if none is pressed.
 
int getTouchedRow (void)
 Gets the row of the cell pressed, -1 if none is pressed.
 
int getTouchedIndex (void)
 Gets the index of the cell pressed, -1 if none is pressed.
 
int getClickedColumn (void)
 Gets the column of the cell clicked, -1 if none is clicked.
 
int getClickedRow (void)
 Gets the row of the cell clicked, -1 if none is clicked.
 
int getClickedIndex (void)
 Gets the index of the cell clicked, -1 if none is clicked.
 
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.
 

Protected Member Functions

int getIndex (int col, int row)
 
- 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

int cols
 
int rows
 
int count
 
int cellW
 
int cellH
 
int spacW
 
int spacH
 
- 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

Holds multiple rows and columns of buttons.

Before use, set the dimensions using setDimension(int, int) and set up the spacing between buttons using setSpacing(int) or setSpacing(int, int). It is then possible to access each button in the grid individually, set their state images and handle their clicks.

For ease of use, you can make use of getClickedIndex() to obtain an index of the button currently clicked by the user. This index follows a Z-pattern, meaning that the index increments per column and then per row. An index of -1 indicates no press.

By default all buttons share the color palette set for this grid. Changing colors in the grid will change it for all buttons. Once you set a color in an individual button, this inheritance is lost.


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