xoreos  0.0.5
Public Types | Public Member Functions | Private Attributes | List of all members
Engines::NWN::WidgetButton Class Reference

A NWN button widget. More...

#include <button.h>

Inheritance diagram for Engines::NWN::WidgetButton:
Inheritance graph
[legend]
Collaboration diagram for Engines::NWN::WidgetButton:
Collaboration graph
[legend]

Public Types

enum  Mode { kModeNormal = 0, kModeToggle, kModeUnchanged }
 

Public Member Functions

 WidgetButton (::Engines::GUI &gui, const Common::UString &tag, const Common::UString &model, const Common::UString &sound="gui_button")
 
 ~WidgetButton ()
 
void enter ()
 The mouse entered the widget. More...
 
void leave ()
 The mouse left the widget. More...
 
void setPosition (float x, float y, float z)
 Set the widget's position. More...
 
void setMode (Mode mode)
 
Mode getMode () const
 
void setPressed (bool pushed)
 
bool isPressed () const
 
void setDisabled (bool disabled)
 Disable/Enable the widget. More...
 
void mouseDown (uint8 state, float x, float y)
 A mouse button was pressed on the widget. More...
 
void mouseUp (uint8 state, float x, float y)
 A mouse button was released on the widget. More...
 
void mouseWheel (uint8 state, int x, int y)
 A mouse wheel was used on the widget. More...
 
- Public Member Functions inherited from Engines::NWN::ModelWidget
 ModelWidget (::Engines::GUI &gui, const Common::UString &tag, const Common::UString &model)
 
 ~ModelWidget ()
 
void show ()
 Show the widget. More...
 
void hide ()
 Hide the widget. More...
 
void setPosition (float x, float y, float z)
 Set the widget's position. More...
 
float getWidth () const
 Get the widget's width. More...
 
float getHeight () const
 Get the widget's height. More...
 
void setTag (const Common::UString &tag)
 Set the widget's tag. More...
 
Graphics::Aurora::ModelNodegetNode (const Common::UString &nodeName) const
 
- Public Member Functions inherited from Engines::NWN::NWNWidgetWithCaption
 NWNWidgetWithCaption (::Engines::GUI &gui, const Common::UString &tag)
 
 ~NWNWidgetWithCaption ()
 
void show ()
 Show the widget. More...
 
void hide ()
 Hide the widget. More...
 
virtual void initCaption (const Common::UString &font, const Common::UString &text, float r=1.0f, float g=1.0f, float b=1.0f, float a=1.0f, float halign=Graphics::Aurora::kHAlignLeft, float valign=Graphics::Aurora::kVAlignTop)
 
void setPosition (float x, float y, float z)
 Set the widget's position. More...
 
void setColor (float r, float g, float b, float a)
 
void setText (const Common::UString &text)
 
const Common::UString getText () const
 
float getWidth () const
 Get the widget's width. More...
 
float getHeight () const
 Get the widget's height. More...
 
float getHorizontalAlign () const
 
float getVerticalAlign () const
 
void setDisabled (bool disabled)
 Disable/Enable the widget. More...
 
- Public Member Functions inherited from Engines::NWN::NWNWidget
 NWNWidget (::Engines::GUI &gui, const Common::UString &tag)
 
 ~NWNWidget ()
 
void enter ()
 The mouse entered the widget. More...
 
void leave ()
 The mouse left the widget. More...
 
void setTooltip (const Common::UString &text)
 
void setTooltipPosition (float x, float y, float z)
 
- Public Member Functions inherited from Engines::Widget
 Widget (GUI &gui, const Common::UString &tag)
 
virtual ~Widget ()
 
const Common::UStringgetTag () const
 Get the widget's tag. More...
 
bool isActive () const
 Was the widget activated? More...
 
bool isVisible () const
 Is the widget visible? More...
 
bool isDisabled () const
 Is the widget disabled? More...
 
bool isInvisible () const
 Is the widget invisible (never visible)? More...
 
WidgetgetParent ()
 
const WidgetgetParent () const
 
WidgetgetChild (const Common::UString &childTag)
 Get the widget's child by tag. More...
 
virtual void movePosition (float x, float y, float z)
 Move the widget, relative to its current position. More...
 
virtual void getPosition (float &x, float &y, float &z) const
 Get the widget's position. More...
 
virtual void setInvisible (bool invisible)
 Make the widget invisible. More...
 
virtual void mouseMove (uint8 state, float x, float y)
 The mouse was moved over the widget. More...
 
virtual void mouseDblClick (uint8 state, float x, float y)
 A mouse button was double-clicked on the widget. More...
 
virtual void subActive (Widget &widget)
 A sub-widget was activated. More...
 
void remove ()
 Remove the widget from the GUI. More...
 
virtual void addSub (Widget &widget)
 Add a sub-widget to the widget. More...
 
virtual void addChild (Widget &widget)
 Add a child to the widget. More...
 
virtual void addGroupMember (Widget &widget)
 Add a fellow group member to the widget. More...
 
virtual void removeSub (Widget &widget)
 Remove a sub-widget from the widget. More...
 
virtual void removeChild (Widget &widget)
 Remove a child from the widget. More...
 
virtual void removeGroupMember (Widget &widget)
 Remove fellow group member from the widget. More...
 

Private Attributes

Common::UString _sound
 
Mode _mode
 

Additional Inherited Members

- Protected Member Functions inherited from Engines::Widget
virtual void signalGroupMemberActive ()
 A fellow group member signaled that it is now active. More...
 
void setActive (bool active)
 The widget's active state. More...
 
void raiseCallbackActive (Widget &widget)
 
- Protected Attributes inherited from Engines::NWN::ModelWidget
Graphics::Aurora::Model_model
 
- Protected Attributes inherited from Engines::NWN::NWNWidgetWithCaption
Common::ScopedPtr< Graphics::Aurora::Text_caption
 
float _r
 
float _g
 
float _b
 
float _a
 
- Protected Attributes inherited from Engines::Widget
GUI_gui
 The GUI the widget belongs to. More...
 
Common::UString _tag
 The widget's tag. More...
 
Widget_parent
 The widget's parent, if any. More...
 
Widget_owner
 The widget's owner, if any. More...
 
std::list< Widget * > _subWidgets
 The widget's sub-widgets. More...
 
std::list< Widget * > _children
 The widget's children. More...
 
std::list< Widget * > _groupMembers
 The widget's fellow group members. More...
 

Detailed Description

A NWN button widget.

Definition at line 39 of file button.h.

Member Enumeration Documentation

◆ Mode

Enumerator
kModeNormal 
kModeToggle 
kModeUnchanged 

Definition at line 41 of file button.h.

Constructor & Destructor Documentation

◆ WidgetButton()

Engines::NWN::WidgetButton::WidgetButton ( ::Engines::GUI gui,
const Common::UString tag,
const Common::UString model,
const Common::UString sound = "gui_button" 
)

Definition at line 38 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, _sound, kModeNormal, Graphics::Renderable::setClickable(), and Graphics::Aurora::Model::setState().

Here is the call graph for this function:

◆ ~WidgetButton()

Engines::NWN::WidgetButton::~WidgetButton ( )

Definition at line 49 of file button.cpp.

Member Function Documentation

◆ enter()

void Engines::NWN::WidgetButton::enter ( )
virtual

The mouse entered the widget.

Reimplemented from Engines::Widget.

Definition at line 52 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, Engines::NWN::NWNWidget::enter(), Engines::Widget::isDisabled(), kModeNormal, and Graphics::Aurora::Model::setState().

Here is the call graph for this function:

◆ getMode()

WidgetButton::Mode Engines::NWN::WidgetButton::getMode ( ) const

Definition at line 89 of file button.cpp.

References _mode.

◆ isPressed()

bool Engines::NWN::WidgetButton::isPressed ( ) const

Definition at line 100 of file button.cpp.

References Engines::NWN::ModelWidget::_model, and Graphics::Aurora::Model::getState().

Here is the call graph for this function:

◆ leave()

void Engines::NWN::WidgetButton::leave ( )
virtual

The mouse left the widget.

Reimplemented from Engines::Widget.

Definition at line 62 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, Engines::Widget::isDisabled(), kModeNormal, Engines::NWN::NWNWidget::leave(), and Graphics::Aurora::Model::setState().

Here is the call graph for this function:

◆ mouseDown()

void Engines::NWN::WidgetButton::mouseDown ( uint8  state,
float  x,
float  y 
)
virtual

A mouse button was pressed on the widget.

Reimplemented from Engines::Widget.

Definition at line 116 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, _sound, Engines::Widget::isDisabled(), kModeNormal, kModeUnchanged, Sound::kSoundTypeSFX, Engines::playSound(), and Graphics::Aurora::Model::setState().

Here is the call graph for this function:

◆ mouseUp()

void Engines::NWN::WidgetButton::mouseUp ( uint8  state,
float  x,
float  y 
)
virtual

A mouse button was released on the widget.

Reimplemented from Engines::Widget.

Definition at line 131 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, _sound, Engines::Widget::isDisabled(), kModeNormal, kModeToggle, Sound::kSoundTypeSFX, Engines::playSound(), Engines::Widget::setActive(), and Graphics::Aurora::Model::setState().

Here is the call graph for this function:

◆ mouseWheel()

void Engines::NWN::WidgetButton::mouseWheel ( uint8  state,
int  x,
int  y 
)
virtual

A mouse wheel was used on the widget.

Reimplemented from Engines::Widget.

Definition at line 145 of file button.cpp.

References Engines::Widget::_owner, and Engines::Widget::mouseWheel().

Here is the call graph for this function:

◆ setDisabled()

void Engines::NWN::WidgetButton::setDisabled ( bool  disabled)
virtual

◆ setMode()

void Engines::NWN::WidgetButton::setMode ( WidgetButton::Mode  mode)

Definition at line 82 of file button.cpp.

References _mode, Engines::NWN::ModelWidget::_model, kModeUnchanged, and Graphics::Aurora::Model::setState().

Referenced by Engines::NWN::ButtonsGroup::addButton(), and Engines::NWN::CharSpells::CharSpells().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPosition()

void Engines::NWN::WidgetButton::setPosition ( float  x,
float  y,
float  z 
)
virtual

◆ setPressed()

void Engines::NWN::WidgetButton::setPressed ( bool  pushed)

Definition at line 93 of file button.cpp.

References Engines::NWN::ModelWidget::_model, and Graphics::Aurora::Model::setState().

Referenced by Engines::NWN::CharSex::CharSex(), and Engines::NWN::CharSpells::CharSpells().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _mode

Mode Engines::NWN::WidgetButton::_mode
private

Definition at line 68 of file button.h.

Referenced by enter(), getMode(), leave(), mouseDown(), mouseUp(), setMode(), and WidgetButton().

◆ _sound

Common::UString Engines::NWN::WidgetButton::_sound
private

Definition at line 67 of file button.h.

Referenced by mouseDown(), mouseUp(), and WidgetButton().


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