FifeGUI 0.2.0
A C++ GUI library designed for games.
fcn::RadioButton Class Reference

#include <radiobutton.hpp>

Inheritance diagram for fcn::RadioButton:
fcn::CheckBox fcn::ImageButton fcn::Button fcn::Widget fcn::MouseListener fcn::KeyListener fcn::FocusListener fcn::WidgetListener

Public Member Functions

std::string const & getGroup () const
RadioButton & operator= (RadioButton &&)=delete
RadioButton & operator= (RadioButton const &)=delete
 RadioButton (RadioButton &&)=delete
 RadioButton (RadioButton const &)=delete
 RadioButton (std::string const &caption, std::string const &group, bool selected=false)
void setGroup (std::string const &group)
void setSelected (bool selected) override
void toggleSelected () override
Public Member Functions inherited from fcn::CheckBox
void adjustSize () override
 CheckBox (CheckBox &&)=delete
 CheckBox (CheckBox const &)=delete
 CheckBox (std::string const &caption, bool selected=false)
void draw (Graphics *graphics) override
Image const * getBackgroundImage () const
MarkerStyle getMarkerStyle () const
virtual bool isSelected () const
void keyPressed (KeyEvent &keyEvent) override
void keyReleased (KeyEvent &keyEvent) override
void mouseClicked (MouseEvent &mouseEvent) override
void mousePressed (MouseEvent &mouseEvent) override
void mouseReleased (MouseEvent &mouseEvent) override
CheckBox & operator= (CheckBox &&)=delete
CheckBox & operator= (CheckBox const &)=delete
void setBackgroundImage (Image const *image)
void setBackgroundImage (std::string const &filename)
void setMarkerStyle (MarkerStyle mode)
Public Member Functions inherited from fcn::ImageButton
void adjustSize () override
void draw (fcn::Graphics *graphics) override
Image const * getDownImage () const
Image const * getHoverImage () const
Image const * getInactiveDownImage () const
Image const * getInactiveHoverImage () const
Image const * getInactiveUpImage () const
Image const * getUpImage () const
 ImageButton (Image const *image)
 ImageButton (ImageButton &&)=delete
 ImageButton (ImageButton const &)=delete
 ImageButton (std::string const &filename)
ImageButton & operator= (ImageButton &&)=delete
ImageButton & operator= (ImageButton const &)=delete
void resizeToContent (bool recursion) override
void setDownImage (Image const *image)
void setDownImage (std::string const &filename)
void setHoverImage (Image const *image)
void setHoverImage (std::string const &filename)
void setInactiveDownImage (Image const *image)
void setInactiveDownImage (std::string const &filename)
void setInactiveHoverImage (Image const *image)
void setInactiveHoverImage (std::string const &filename)
void setInactiveUpImage (Image const *image)
void setInactiveUpImage (std::string const &filename)
void setUpImage (Image const *image)
void setUpImage (std::string const &filename)
Public Member Functions inherited from fcn::Button
void ancestorHidden (Event const &e) override
 Button (Button &&)=delete
 Button (Button const &)=delete
 Button (std::string caption)
void focusLost (Event const &event) override
void fontChanged () override
Graphics::Alignment getAlignment () const
std::string const & getCaption () const
int getDownXOffset () const
int getDownYOffset () const
bool isActive () const
void mouseDragged (MouseEvent &mouseEvent) override
void mouseEntered (MouseEvent &mouseEvent) override
void mouseExited (MouseEvent &mouseEvent) override
Button & operator= (Button &&)=delete
Button & operator= (Button const &)=delete
void resizeToContent ()
void setActive (bool state)
void setAlignment (Graphics::Alignment alignment)
void setCaption (std::string const &caption)
void setDownOffset (int x, int y)
void setDownXOffset (int offset)
void setDownYOffset (int offset)
Public Member Functions inherited from fcn::Widget
virtual void _draw (Graphics *graphics)
virtual FocusHandler_getFocusHandler ()
virtual std::list< FocusListener * > const & _getFocusListeners ()
virtual FocusHandler_getInternalFocusHandler ()
virtual std::list< KeyListener * > const & _getKeyListeners ()
virtual std::list< MouseListener * > const & _getMouseListeners ()
virtual void _logic ()
virtual void _setFocusHandler (FocusHandler *focusHandler)
virtual void _setParent (Widget *parent)
void adaptLayout ()
virtual void adaptLayout (bool top)
void addActionListener (ActionListener *actionListener)
void addDeathListener (DeathListener *deathListener)
void addFocusListener (FocusListener *focusListener)
void addKeyListener (KeyListener *keyListener)
void addMouseListener (MouseListener *mouseListener)
void addWidgetListener (WidgetListener *widgetListener)
virtual void drawBorder (Graphics *graphics)
virtual void drawOutline (Graphics *graphics)
virtual void drawSelectionFrame (Graphics *graphics)
void expandContent ()
virtual void expandContent (bool recursion)
virtual void focusNext ()
virtual void focusPrevious ()
virtual void getAbsolutePosition (int &x, int &y) const
std::string const & getActionEventId () const
Color const & getBackgroundColor () const
Color const & getBaseColor () const
Color const & getBorderColor () const
unsigned int getBorderSize () const
virtual Rectangle getChildrenArea ()
unsigned int getChildrenCount () const
Rectangle const & getDimension () const
Size const & getFixedSize () const
FontgetFont () const
Color const & getForegroundColor () const
int getHeight () const
std::string const & getId () const
void getLastPosition (int &x, int &y) const
int getMarginBottom () const
int getMarginLeft () const
int getMarginRight () const
int getMarginTop () const
Size const & getMaxSize () const
Size const & getMinSize () const
Color const & getOutlineColor () const
unsigned int getOutlineSize () const
unsigned int getPaddingBottom () const
unsigned int getPaddingLeft () const
unsigned int getPaddingRight () const
unsigned int getPaddingTop () const
virtual WidgetgetParent () const
Color const & getSelectionColor () const
SelectionMode getSelectionMode () const
virtual WidgetgetTop () const
unsigned int getVisibleChildrenCount () const
WidgetgetWidgetAt (int x, int y)
virtual WidgetgetWidgetAt (int x, int y, Widget *exclude)
std::list< Widget * > getWidgetsIn (Rectangle const &area)
virtual std::list< Widget * > getWidgetsIn (Rectangle const &area, Widget *ignore)
int getWidth () const
int getX () const
int getY () const
bool isEnabled () const
bool isFixedSize () const
bool isFocusable () const
virtual bool isFocused () const
bool isHorizontalExpand () const
bool isLastPositionSet () const
virtual bool isLayouted ()
virtual bool isModalFocusable () const
virtual bool isModalFocused () const
virtual bool isModalMouseInputFocusable () const
virtual bool isModalMouseInputFocused () const
bool isSetVisible () const
bool isTabInEnabled () const
bool isTabOutEnabled () const
bool isVerticalExpand () const
bool isVisible () const
virtual void logic ()
virtual void moveToBottom (Widget *widget)
virtual void moveToTop (Widget *widget)
Widgetoperator= (Widget &&)=delete
Widgetoperator= (Widget const &)=delete
virtual void releaseModalFocus ()
virtual void releaseModalMouseInputFocus ()
void removeActionListener (ActionListener *actionListener)
void removeDeathListener (DeathListener *deathListener)
void removeFocusListener (FocusListener *focusListener)
void removeKeyListener (KeyListener *keyListener)
void removeMouseListener (MouseListener *mouseListener)
void removeWidgetListener (WidgetListener *widgetListener)
virtual void requestFocus ()
virtual void requestModalFocus ()
virtual void requestModalMouseInputFocus ()
virtual void requestMoveToBottom ()
virtual void requestMoveToTop ()
void resizeToContent ()
void setActionEventId (std::string const &actionEventId)
virtual void setBackgroundColor (Color const &color)
virtual void setBaseColor (Color const &color)
virtual void setBorderColor (Color const &color)
void setBorderSize (unsigned int size)
void setDimension (Rectangle const &dimension)
void setEnabled (bool enabled)
void setFixedSize (Size const &size)
void setFocusable (bool focusable)
virtual void setFont (Font *font)
virtual void setForegroundColor (Color const &color)
void setHeight (int height)
void setHorizontalExpand (bool expand)
void setId (std::string const &id)
void setInternalFocusHandler (FocusHandler *internalFocusHandler)
void setLastPosition (int x, int y)
void setMargin (int margin)
void setMarginBottom (int margin)
void setMarginLeft (int margin)
void setMarginRight (int margin)
void setMarginTop (int margin)
void setMaxSize (Size const &size)
void setMinSize (Size const &size)
virtual void setOutlineColor (Color const &color)
void setOutlineSize (unsigned int size)
void setPadding (unsigned int padding)
void setPaddingBottom (unsigned int padding)
void setPaddingLeft (unsigned int padding)
void setPaddingRight (unsigned int padding)
void setPaddingTop (unsigned int padding)
void setPosition (int x, int y)
virtual void setSelectionColor (Color const &color)
virtual void setSelectionMode (SelectionMode mode)
void setSize (int width, int height)
void setTabInEnabled (bool enabled)
void setTabOutEnabled (bool enabled)
void setVerticalExpand (bool expand)
void setVisible (bool visible)
void setWidth (int width)
void setX (int x)
void setY (int y)
virtual void showPart (Rectangle rectangle)
virtual void showWidgetPart (Widget *widget, Rectangle area)
 Widget ()
 Widget (Widget &&)=delete
 Widget (Widget const &)=delete
Public Member Functions inherited from fcn::MouseListener
 MouseListener (MouseListener &&)=default
 MouseListener (MouseListener const &)=default
virtual void mouseMoved (MouseEvent &mouseEvent)
virtual void mouseWheelMovedDown (MouseEvent &mouseEvent)
virtual void mouseWheelMovedLeft (MouseEvent &mouseEvent)
virtual void mouseWheelMovedRight (MouseEvent &mouseEvent)
virtual void mouseWheelMovedUp (MouseEvent &mouseEvent)
MouseListener & operator= (MouseListener &&)=default
MouseListener & operator= (MouseListener const &)=default
Public Member Functions inherited from fcn::KeyListener
 KeyListener (KeyListener &&)=default
 KeyListener (KeyListener const &)=default
KeyListener & operator= (KeyListener &&)=default
KeyListener & operator= (KeyListener const &)=default
Public Member Functions inherited from fcn::FocusListener
virtual void focusGained (Event const &event)
 FocusListener (FocusListener &&)=delete
 FocusListener (FocusListener const &)=delete
FocusListener & operator= (FocusListener &&)=delete
FocusListener & operator= (FocusListener const &)=delete
Public Member Functions inherited from fcn::WidgetListener
virtual void ancestorMoved (Event const &event)
virtual void ancestorShown (Event const &event)
WidgetListener & operator= (WidgetListener &&)=default
WidgetListener & operator= (WidgetListener const &)=default
virtual void widgetHidden (Event const &event)
 WidgetListener (WidgetListener &&)=default
 WidgetListener (WidgetListener const &)=default
virtual void widgetMoved (Event const &event)
virtual void widgetResized (Event const &event)
virtual void widgetShown (Event const &event)

Protected Types

using GroupIterator = GroupMap::iterator
using GroupMap = std::multimap<std::string, RadioButton*>

Protected Attributes

std::string mGroup
Protected Attributes inherited from fcn::CheckBox
Image const * mBackgroundImage {nullptr}
std::string mCaption
bool mInternalBackgroundImage {false}
MarkerStyle mMode {MarkerStyle::Checkmark}
bool mSelected {false}
Protected Attributes inherited from fcn::ImageButton
std::vector< Image const * > mImages
std::vector< std::unique_ptr< Image const > > mOwnedImages
Protected Attributes inherited from fcn::Button
Graphics::Alignment mAlignment {Graphics::Alignment::Center}
std::string mCaption
bool mHasMouse {false}
bool mKeyPressed {false}
bool mMousePressed {false}
bool mState {true}
int mXOffset {1}
int mYOffset {1}
Protected Attributes inherited from fcn::Widget
std::string mActionEventId
std::list< ActionListener * > mActionListeners
Color mBackgroundColor {0xf9fafb}
Color mBaseColor {0xe5e7eb}
Color mBorderColor {0xd1d5db}
unsigned int mBorderSize {0}
std::list< Widget * > mChildren
FontmCurrentFont {nullptr}
std::list< DeathListener * > mDeathListeners
Rectangle mDimension
bool mEnabled {true}
Size mFixedSize {-1, -1}
bool mFixedSizeUsed {false}
bool mFocusable {false}
FocusHandlermFocusHandler {nullptr}
std::list< FocusListener * > mFocusListeners
Color mForegroundColor {0x1f2933}
bool mHExpand {false}
std::string mId
FocusHandlermInternalFocusHandler {nullptr}
std::list< KeyListener * > mKeyListeners
int mLastX {0}
int mLastY {0}
int mMarginBottom {0}
int mMarginLeft {0}
int mMarginRight {0}
int mMarginTop {0}
Size mMaxSize {std::numeric_limits<int>::max(), std::numeric_limits<int>::max()}
Size mMinSize {0, 0}
std::list< MouseListener * > mMouseListeners
Rectangle mOffsetRect
Color mOutlineColor {0x9ca3af}
unsigned int mOutlineSize {0}
unsigned int mPaddingBottom {0}
unsigned int mPaddingLeft {0}
unsigned int mPaddingRight {0}
unsigned int mPaddingTop {0}
WidgetmParent {nullptr}
Color mSelectionColor {0x3b82f6}
SelectionMode mSelectionMode {SelectionMode::None}
bool mTabIn {true}
bool mTabOut {true}
bool mVExpand {false}
bool mVisible {true}
std::list< WidgetListener * > mWidgetListeners

Static Protected Attributes

static GroupMap mGroupMap
Static Protected Attributes inherited from fcn::Widget
static DefaultFont mDefaultFont
static FontmGlobalFont = nullptr
static DeathListenermGuiDeathListener = nullptr
static VisibilityEventHandlermVisibilityEventHandler = nullptr
static std::list< Widget * > mWidgetInstances

Additional Inherited Members

Public Types inherited from fcn::CheckBox
enum class  MarkerStyle : uint8_t {
  Checkmark = 0 , Cross , Dot , Rhombus ,
  Image
}
Public Types inherited from fcn::ImageButton
enum class  ImageType : uint8_t {
  Up = 0 , Down = 1 , Hover = 2 , Up_Inactive = 3 ,
  Down_Inactive = 4 , Hover_Inactive = 5
}
Public Types inherited from fcn::Widget
enum class  SelectionMode : uint8_t { None = 0 , Border = 1 , Background = 2 }
Static Public Member Functions inherited from fcn::Widget
static DeathListener_getGuiDeathListener ()
static VisibilityEventHandler_getVisibilityEventHandler ()
static void _setGuiDeathListener (DeathListener *deathListener)
static void _setVisibilityEventHandler (VisibilityEventHandler *visibilityEventHandler)
static void setGlobalFont (Font *font)
static bool widgetExists (Widget const *widget)
Protected Member Functions inherited from fcn::CheckBox
void adjustSizeImpl () override
virtual void drawBox (Graphics *graphics)
void drawCheckmark (Graphics *graphics, Rectangle const &rec)
void drawCross (Graphics *graphics, Rectangle const &rec)
void drawDot (Graphics *graphics, Rectangle const &rec)
void drawMarkerImage (Graphics *graphics, Rectangle const &rec)
void drawRhombus (Graphics *graphics)
Protected Member Functions inherited from fcn::ImageButton
void adjustSizeImpl () override
void setImage (Image const *image, ImageType type)
void setImage (std::string const &filename, ImageType type)
Protected Member Functions inherited from fcn::Button
virtual bool isPressed () const
Protected Member Functions inherited from fcn::Widget
void add (Widget *widget)
void calculateSize ()
void distributeActionEvent ()
void distributeAncestorHiddenEvent (Widget *ancestor)
void distributeAncestorMovedEvent (Widget *ancestor)
void distributeAncestorShownEvent (Widget *ancestor)
void distributeHiddenEvent ()
void distributeMovedEvent ()
void distributeResizedEvent ()
void distributeShownEvent ()
virtual WidgetfindWidgetById (std::string const &id)
std::list< Widget * > const & getChildren () const
virtual void remove (Widget *widget)
virtual void removeAllChildren ()
void resizeToChildren ()
Protected Member Functions inherited from fcn::MouseListener
 MouseListener ()=default
Protected Member Functions inherited from fcn::KeyListener
 KeyListener ()=default
Protected Member Functions inherited from fcn::FocusListener
 FocusListener ()=default
Protected Member Functions inherited from fcn::WidgetListener
 WidgetListener ()=default

Detailed Description

An implementation of a radio button where a user can select or deselect the radio button and where the status of the radio button is displayed to the user.

A radio button can belong to a group and when a radio button belongs to a group only one radio button can be selected in the group. A radio button is capable of displaying a caption.

If a radio button's state changes an action event will be sent to all action listeners of the radio button.

Definition at line 26 of file radiobutton.hpp.

Member Typedef Documentation

◆ GroupIterator

using fcn::RadioButton::GroupIterator = GroupMap::iterator
protected

Typdef.

Definition at line 85 of file radiobutton.hpp.

◆ GroupMap

using fcn::RadioButton::GroupMap = std::multimap<std::string, RadioButton*>
protected

Typdef.

Definition at line 80 of file radiobutton.hpp.

Constructor & Destructor Documentation

◆ RadioButton() [1/2]

fcn::RadioButton::RadioButton ( )

Definition at line 13 of file radiobutton.cpp.

◆ RadioButton() [2/2]

fcn::RadioButton::RadioButton ( std::string const & caption,
std::string const & group,
bool selected = false )

Constructor.

The radio button will be automatically resized to fit the caption.

Parameters
captionThe caption of the radio button.
groupThe group the radio button should belong to.
selectedTrue if the radio button should be selected.

Definition at line 20 of file radiobutton.cpp.

References fcn::CheckBox::adjustSize(), fcn::Button::setCaption(), setGroup(), fcn::CheckBox::setMarkerStyle(), and setSelected().

◆ ~RadioButton()

fcn::RadioButton::~RadioButton ( )
override

Definition at line 29 of file radiobutton.cpp.

Member Function Documentation

◆ getGroup()

std::string const & fcn::RadioButton::getGroup ( ) const

Gets the group the radio button belongs to.

Returns
The group the radio button belongs to.
See also
setGroup

Definition at line 81 of file radiobutton.cpp.

References mGroup.

◆ setGroup()

void fcn::RadioButton::setGroup ( std::string const & group)

Sets the group the radio button should belong to.

Note that a radio button group is unique per application, not per Gui object as the group is stored in a static map.

Parameters
groupThe name of the group.
See also
getGroup

Definition at line 58 of file radiobutton.cpp.

References mGroup, and mGroupMap.

Referenced by RadioButton().

◆ setSelected()

void fcn::RadioButton::setSelected ( bool selected)
overridevirtual

Sets the check box to be selected or not.

Parameters
selectedTrue if the check box should be set as selected.
See also
isSelected

Reimplemented from fcn::CheckBox.

Definition at line 35 of file radiobutton.cpp.

References mGroup, mGroupMap, and fcn::CheckBox::mSelected.

Referenced by RadioButton(), and toggleSelected().

◆ toggleSelected()

void fcn::RadioButton::toggleSelected ( )
overridevirtual

Toggles the check box between being selected and not being selected.

It distribute a ActionEvent.

Reimplemented from fcn::CheckBox.

Definition at line 53 of file radiobutton.cpp.

References fcn::CheckBox::isSelected(), and setSelected().

Member Data Documentation

◆ mGroup

std::string fcn::RadioButton::mGroup
protected

Holds the group of the radio button.

Definition at line 75 of file radiobutton.hpp.

Referenced by getGroup(), setGroup(), and setSelected().

◆ mGroupMap

RadioButton::GroupMap fcn::RadioButton::mGroupMap
staticprotected

Holds all available radio button groups.

Definition at line 90 of file radiobutton.hpp.

Referenced by setGroup(), and setSelected().


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