GUI Toolkit for TI nSpire  0.55 beta (dated 2021-03-21)
A GUI toolkit for Ndless-TI NSpire using SDL and Ndless libraries.
MiniButtonWidget Class Reference
Inheritance diagram for MiniButtonWidget:
Collaboration diagram for MiniButtonWidget:

Public Member Functions

 MiniButtonWidget (char *l, int x, int y, int w, int h, Widget *p)
 
virtual bool ispressed () override
 
virtual void logic (CursorTask *mouse, KeyboardTask *keyboard) override
 
virtual void render (SDL_Surface *screen, ColorEngine *colors, FontEngine *fonts) override
 
virtual void settype (typesymbol type)
 
- Public Member Functions inherited from ButtonWidget
 ButtonWidget ()
 
 ButtonWidget (char *l, int x, int y, int w, int h, Widget *p)
 
 ~ButtonWidget ()
 
- Public Member Functions inherited from Widget
 Widget (char *l, int x, int y, int w, int h, Widget *p)
 
virtual void focus (Widget *emitter)
 
virtual void unfocusup (Widget *emitter)
 
virtual void unfocusdown (Widget *emitter)
 
virtual void addchild (Widget *child)
 
virtual void setdimensions (int mx, int my, int mw, int mh)
 
virtual void setxpos (int mx)
 
virtual void setypos (int my)
 
virtual void setwidth (int mw)
 
virtual void setheight (int mh)
 
virtual void setlabel (char *l)
 
virtual void setcontainerstatus (bool status)
 
virtual void setparent (Widget *p)
 
virtual void setvisible ()
 
virtual void setinvisible ()
 
virtual void enable ()
 
virtual void disable ()
 
virtual void adjust ()
 
virtual int getxpos ()
 
virtual int getypos ()
 
virtual int getwidth ()
 
virtual int getheight ()
 
virtual int getuseablexpos ()
 
virtual int getuseableypos ()
 
virtual int getuseablewidth ()
 
virtual int getuseableheight ()
 
virtual char * getlabel ()
 
virtual bool getcontainerstatus ()
 
virtual Widgetgetparent ()
 
virtual bool getisenabled ()
 
virtual bool isvisible ()
 
virtual char * getwidgettype ()
 
virtual void linkonclick (void(*func)(char *))
 
virtual void linkonrelease (void(*func)(char *))
 
virtual void linkonhover (void(*func)(char *))
 

Additional Inherited Members

- Protected Member Functions inherited from Widget
virtual bool cursoron (CursorTask *mouse)
 
- Protected Attributes inherited from Widget
bool has_focus = false
 
bool is_enabled = true
 
bool is_visible = true
 
char * widgettype
 
char * label
 
int xpos
 
int xrel
 
int ypos
 
int yrel
 
int width
 
int widrel
 
int height
 
int heirel
 
bool is_container = false
 
bool is_hovering = false
 
Widgetparent = nullptr
 
int nbchildren
 
std::vector< Widget * > children
 
void(* clickfunction )(char *) = nullptr
 
void(* releasefunction )(char *) = nullptr
 
void(* hoverfunction )(char *) = nullptr
 

Member Function Documentation

◆ ispressed()

bool MiniButtonWidget::ispressed ( )
overridevirtual

Is the ButtonWidget pressed ?

Gives the status of the ButtonWidget (pressed (i.e. clicked) or not).

Parameters
None
Returns
Boolean value : true if the button is pressed, false otherwise

Reimplemented from ButtonWidget.

◆ logic()

void MiniButtonWidget::logic ( CursorTask mouse,
KeyboardTask keyboard 
)
overridevirtual

The ButtonWidget logic mechanism

Method to be launched to drive the the mechanics behind the widget behavior.

Parameters
mouse: pointer to a CursorTask handler object serving at passing the mouse (Touchpad) state and position
keyboard: pointer to a KeyboardTask handler object serving at passing the keyboard state
Returns
Nothing, but will launch the logic() method of all the Widgets belonging to chidren (vector<Widget*>)
Note
This method overrides Widget::logic( CursorTask*, KeyboardTask*)
This method is not intended to be used by a direct call from the user, it is normally called through cascaded calls to children->logic() from the WidgetApplication class
Direct call can be used when the Widget is used out of the WidgetApplication 'ecosystem', for example in an application that just use few individual widgets (not recommended cause it may need intensive work from the developper to create adequate working conditions).
Warning
Before calling the logic method, a mouse handler and a keyboard handler must be instancied and properly updated through their respective logic() methods. This is normally done by using the WidgetApplication class.

Reimplemented from ButtonWidget.

◆ render()

void MiniButtonWidget::render ( SDL_Surface *  screen,
ColorEngine colors,
FontEngine fonts 
)
overridevirtual

The ButtonWidget render method

Method to be launched to draw the widget.

Parameters
screen: pointer to a SDL_Surface object where we would like to draw the widget
colors: pointer to a ColorEngine object giving all the color options to be used (theme) for drawing the widget
fonts: pointer to a FontEngine object giving all the fonts options to be used (theme) for drawing the widget
Returns
Nothing, but will launch the render() method of all the Widgets belonging to chidren (vector<Widget*>)
Note
This method overrides Widget::render( SDL_Surface*, ColorEngine*, FontEngine*)
This method is not intended to be used by a direct call from the user, it is normally called through cascaded calls to children->render() from the WidgetApplication class.
Direct call can be used when the widget is used out of the WidgetApplication 'ecosystem', for example in an application that just use few individual widgets (not recommended cause it may need intensive work from the developper to create adequate working conditions).
Warning
Before calling the render method, a SDL_Surface (i.e. a rendering context) as well as a ColorEngine and FontEngine objects must be properly instancied. This is normally done by using the WidgetApplication class.

Reimplemented from ButtonWidget.


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