igor::iWidgetButton Class Reference

#include <iWidgetButton.h>

Inherits igor::iWidget.

Public Member Functions

 iWidgetButton (const iWidgetPtr parent=nullptr)
 
virtual ~iWidgetButton ()=default
 
void setAction (const iActionPtr action, const iActionContextPtr context=nullptr)
 
void setAction (const iaString &actionName, const iActionContextPtr context)
 
iActionPtr getAction () const
 
void setActionContext (iActionContextPtr context)
 
iActionContextPtr getActionContext () const
 
void setText (const iaString &text)
 
const iaStringgetText () const
 
void setHorizontalTextAlignment (iHorizontalAlignment align)
 
iHorizontalAlignment getHorizontalTextAlignment () const
 
void setVerticalTextAlignment (iVerticalAlignment valign)
 
iVerticalAlignment getVerticalTextAlignment () const
 
void setBackgroundTexture (const iaString &textureAlias)
 
void setBackgroundTexture (iTexturePtr texture)
 
iTexturePtr getBackgroundTexture () const
 
void setIcon (const iaString &iconAlias)
 
void setIcon (iTexturePtr texture)
 
iTexturePtr getIcon () const
 
void setCheckable (bool checkable)
 
bool isCheckable () const
 
void setChecked (bool check)
 
bool isChecked () const
 
void setBorderStyle (iWidgetButtonBorderStyle borderStyle)
 
iWidgetButtonBorderStyle getBorderStyle () const
 
- Public Member Functions inherited from igor::iWidget
iWidgetType getWidgetType () const
 
iWidgetKind getWidgetKind () const
 
void setZValue (uint32 zvalue)
 
uint32 getZValue () const
 
void setBackground (const iaColor4f &color)
 
const iaColor4fgetBackground () const
 
void setForeground (const iaColor4f &color)
 
const iaColor4fgetForeground () const
 
bool isBlocked () const
 
bool hasKeyboardFocus () const
 
iWidgetState getState () const
 
iClickEvent & getClickEvent ()
 
iMouseOffClickEvent & getMouseOffClickEvent ()
 
iDoubleClickEvent & getDoubleClickEvent ()
 
iMouseOverEvent & getMouseOverEvent ()
 
iMouseOffEvent & getMouseOffEvent ()
 
iChangeEvent & getChangeEvent ()
 
iFocusEvent & getFocusEvent ()
 
iWheelUpEvent & getWheelUpEvent ()
 
iWheelDownEvent & getWheelDownEvent ()
 
iContextMenuEvent & getContextMenuEvent ()
 
iSelectionChangedEvent & getSelectionChangedEvent ()
 
iaVector2f getActualPos () const
 
int32 getActualPosX () const
 
int32 getActualPosY () const
 
int32 getActualWidth () const
 
int32 getActualHeight () const
 
iaRectanglef getActualRect () const
 
iaRectanglef getActualClientRect () const
 
int32 getRelativePosX () const
 
int32 getRelativePosY () const
 
int32 getMinWidth () const
 
int32 getMinHeight () const
 
int32 getConfiguredMinWidth () const
 
int32 getConfiguredMinHeight () const
 
void setMinWidth (int32 width)
 
void setMinHeight (int32 height)
 
void setMinSize (int32 width, int32 height)
 
void setAcceptOutOfBoundsClicks (bool acceptOutOfBoundsClick=true)
 
bool getAcceptOutOfBoundsClicks () const
 
iHorizontalAlignment getHorizontalAlignment () const
 
iVerticalAlignment getVerticalAlignment () const
 
void setHorizontalAlignment (iHorizontalAlignment horizontalAlignment)
 
void setVerticalAlignment (iVerticalAlignment verticalAlignment)
 
bool isVisible () const
 
bool isEnabled () const
 
void setVisible (bool visible=true)
 
void setEnabled (bool enabled=true)
 
iWidgetID getID () const
 
iWidgetID getParentID () const
 
iWidgetPtr getParent () const
 
bool isMouseOver ()
 
void setAcceptDrag (bool acceptDrag)
 
bool isAcceptingDrag ()
 
void setAcceptDrop (bool acceptDrop)
 
bool isAcceptingDrop ()
 
bool hasParent () const
 
void setGrowingByContent (bool grow=true)
 
bool isGrowingByContent () const
 
iaString getInfo () const
 
void setTooltip (const iaString &text)
 
iaString getTooltip () const
 
const std::vector< iWidgetPtr > & getChildren () const
 
virtual void clear ()
 
void setIgnoreChildEventConsumption (bool value=true)
 
bool isIgnoringChildEventConsumption () const
 
iWidgetPtr getRoot ()
 
virtual void blockEvents ()
 
virtual void unblockEvents ()
 
void setOverlayEnabled (bool overlay)
 
bool isOverlayEnabled () const
 
virtual void draw ()
 
virtual void drawOverlay ()
 
virtual void addWidget (iWidgetPtr widget)
 
virtual void removeWidget (iWidgetPtr widget)
 
void setCursor (iMouseCursorType cursorType)
 
void setUserData (const std::any &userData)
 
std::any getUserData () const
 
void setSelectable (bool selectable)
 
bool isSelectable () const
 
void setMultiSelection (bool enabled)
 
bool isMultiSelectionEnabled () const
 
void setSelect (bool select)
 
bool isSelected () const
 
void clearSelection ()
 
const std::vector< iWidgetPtrgetSelection () const
 
void setSelection (const std::vector< iWidgetPtr > &selection)
 
void refresh ()
 

Protected Member Functions

void onInternalClick (const iWidgetPtr source)
 
void calcMinSize () override
 
void draw () override
 
- Protected Member Functions inherited from igor::iWidget
void clearChildren ()
 
void updateMinSize (int32 width, int32 height)
 
void setParent (iWidgetPtr parent)
 
void setKeyboardFocus ()
 
void resetKeyboardFocus ()
 
void setClientArea (int32 left, int32 right, int32 top, int32 bottom)
 
const iaVector2fgetLastMousePos () const
 
 iWidget (iWidgetType type, iWidgetKind kind, const iWidgetPtr parent=nullptr)
 
virtual ~iWidget ()
 
virtual bool onEvent (iEvent &event)
 
virtual bool onMouseWheel (const iEventMouseWheel &event)
 
virtual bool onMouseKeyDown (const iEventMouseKeyDown &event)
 
virtual bool onMouseDoubleClick (const iEventMouseKeyDoubleClick &event)
 
virtual bool onMouseKeyUp (const iEventMouseKeyUp &event)
 
virtual void onMouseMove (const iEventMouseMove &event)
 
virtual bool onASCII (const iEventKeyASCII &event)
 
virtual bool onKeyDown (const iEventKeyDown &event)
 
virtual bool onKeyUp (const iEventKeyUp &event)
 
virtual void onLostKeyboardFocus ()
 
virtual void onGainedKeyboardFocus ()
 
virtual void calcMinSize ()
 
virtual void updateAlignment (int32 clientWidth, int32 clientHeight)
 
virtual void calcChildOffsets (std::vector< iaRectanglef > &offsets)
 
virtual void onDragEnter (iDrag &drag)
 
virtual void onDragMove (iDrag &drag, const iaVector2f &mousePos)
 
virtual void onDragLeave (iDrag &drag)
 
virtual void onDrop (const iDrag &drag, const iaVector2f &mousePos)
 
virtual void onDrag ()
 
virtual void onRefresh ()
 

Protected Attributes

iHorizontalAlignment _horizontalTextAlignment = iHorizontalAlignment::Center
 
iVerticalAlignment _verticalTextAlignment = iVerticalAlignment::Center
 
iaString _text
 
iTexturePtr _texture
 
iTexturePtr _iconTexture
 
iActionPtr _action = nullptr
 
iActionContextPtr _actionContext = nullptr
 
bool _checkable = false
 
bool _checked = false
 
iWidgetButtonBorderStyle _borderStyle = iWidgetButtonBorderStyle::Line
 
- Protected Attributes inherited from igor::iWidget
bool _selected = false
 
bool _isSelectable = false
 
bool _isMultiSelectionEnabled = false
 
std::vector< iWidgetPtr_children
 
int32 _configuredMinWidth = 0
 
int32 _configuredMinHeight = 0
 
iClickEvent _click
 
iMouseOffClickEvent _mouseOffClick
 
iContextMenuEvent _contextMenu
 
iDoubleClickEvent _doubleClick
 
iMouseOverEvent _mouseOver
 
iMouseOffEvent _mouseOff
 
iChangeEvent _change
 
iFocusEvent _focus
 
iWheelUpEvent _wheelUp
 
iWheelDownEvent _wheelDown
 
iSelectionChangedEvent _selectionChanged
 
iaString _tooltip
 
iaVector2f _tooltipPos
 
iaTime _tooltipTime = iaTime(0)
 
bool _initTooltip = false
 
uint32 _zValue = 0
 
bool _reactOnMouseWheel = true
 
bool _blockedEvents = false
 
bool _acceptOutOfBoundsClicks = false
 
bool _acceptDrop = false
 
bool _acceptDrag = false
 
bool _isMouseOver = false
 
bool _ignoreChildEventConsumption = false
 
iaVector2f _lastMousePos
 
iaVector2f _lastMousePressPos
 
bool _needRefresh = true
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iWidget
static iWidgetPtr getKeyboardFocusWidget ()
 
static IGOR_INLINE float32 getScale ()
 
- Static Public Attributes inherited from igor::iWidget
static const iWidgetID INVALID_WIDGET_ID = 0
 

Detailed Description

button widget

Constructor & Destructor Documentation

◆ iWidgetButton()

igor::iWidgetButton::iWidgetButton ( const iWidgetPtr  parent = nullptr)

ctor initializes member variables

Parameters
parentthe optional parent

◆ ~iWidgetButton()

virtual igor::iWidgetButton::~iWidgetButton ( )
virtualdefault

does nothing

Member Function Documentation

◆ calcMinSize()

void igor::iWidgetButton::calcMinSize ( )
overrideprotectedvirtual

updates size based on it's content

Reimplemented from igor::iWidget.

◆ draw()

void igor::iWidgetButton::draw ( )
overrideprotectedvirtual

draws the widget

Reimplemented from igor::iWidget.

◆ getAction()

iActionPtr igor::iWidgetButton::getAction ( ) const
Returns
action that is associated with this widget

◆ getActionContext()

iActionContextPtr igor::iWidgetButton::getActionContext ( ) const
Returns
action context

◆ getBackgroundTexture()

iTexturePtr igor::iWidgetButton::getBackgroundTexture ( ) const
Returns
background texture

◆ getBorderStyle()

iWidgetButtonBorderStyle igor::iWidgetButton::getBorderStyle ( ) const
Returns
button border style

◆ getHorizontalTextAlignment()

iHorizontalAlignment igor::iWidgetButton::getHorizontalTextAlignment ( ) const
Returns
horizontal text alignment

◆ getIcon()

iTexturePtr igor::iWidgetButton::getIcon ( ) const
Returns
icon

◆ getText()

const iaString & igor::iWidgetButton::getText ( ) const
Returns
text of the widget

◆ getVerticalTextAlignment()

iVerticalAlignment igor::iWidgetButton::getVerticalTextAlignment ( ) const
Returns
vertical text alignment

◆ isCheckable()

bool igor::iWidgetButton::isCheckable ( ) const
Returns
true if button is checkable

◆ isChecked()

bool igor::iWidgetButton::isChecked ( ) const
Returns
true if button is checked

◆ onInternalClick()

void igor::iWidgetButton::onInternalClick ( const iWidgetPtr  source)
protected

internal click handler

◆ setAction() [1/2]

void igor::iWidgetButton::setAction ( const iActionPtr  action,
const iActionContextPtr  context = nullptr 
)

sets the action this widget is associated with

Parameters
actionthe action to be set
contextthe optional action context

◆ setAction() [2/2]

void igor::iWidgetButton::setAction ( const iaString actionName,
const iActionContextPtr  context 
)

sets the action this widget is associated with by action name

Parameters
actionNamethe action to be set
contextthe optional action context

◆ setActionContext()

void igor::iWidgetButton::setActionContext ( iActionContextPtr  context)

sets action context

Parameters
contextthe action context to set

◆ setBackgroundTexture() [1/2]

void igor::iWidgetButton::setBackgroundTexture ( const iaString textureAlias)

sets the background texture to use for the whole button by name

Parameters
textureAliasalias or id to texture

◆ setBackgroundTexture() [2/2]

void igor::iWidgetButton::setBackgroundTexture ( iTexturePtr  texture)

sets the background texture to use for the whole button

Parameters
texturethe texture

◆ setBorderStyle()

void igor::iWidgetButton::setBorderStyle ( iWidgetButtonBorderStyle  borderStyle)

set button border style

Parameters
borderStylethe style to set

◆ setCheckable()

void igor::iWidgetButton::setCheckable ( bool  checkable)

sets the button checkable

Parameters
checkableif true button is checkable

◆ setChecked()

void igor::iWidgetButton::setChecked ( bool  check)

sets button checked

Parameters
checkif true button is checked

◆ setHorizontalTextAlignment()

void igor::iWidgetButton::setHorizontalTextAlignment ( iHorizontalAlignment  align)

sets horizontal text alignment

Parameters
alignthe horizontal alignment of the text

◆ setIcon() [1/2]

void igor::iWidgetButton::setIcon ( const iaString iconAlias)

sets the icon texture by name

the icon is rendered in the foreground. if there is no text then centred if there is text then on the opposite side of the text

Parameters
iconAliasalias or id to icon texture

◆ setIcon() [2/2]

void igor::iWidgetButton::setIcon ( iTexturePtr  texture)

sets the icon texture

the icon is rendered in the foreground. if there is no text then centred if there is text then on the opposite side of the text

Parameters
texturethe texture to use

◆ setText()

void igor::iWidgetButton::setText ( const iaString text)

sets text of the widget

Parameters
textnew text to set

◆ setVerticalTextAlignment()

void igor::iWidgetButton::setVerticalTextAlignment ( iVerticalAlignment  valign)

sets vertical text alignment

Parameters
valignthe vertical alignment of the text

Member Data Documentation

◆ _action

iActionPtr igor::iWidgetButton::_action = nullptr
protected

the action

◆ _actionContext

iActionContextPtr igor::iWidgetButton::_actionContext = nullptr
protected

the action context

◆ _borderStyle

iWidgetButtonBorderStyle igor::iWidgetButton::_borderStyle = iWidgetButtonBorderStyle::Line
protected

the button border style

◆ _checkable

bool igor::iWidgetButton::_checkable = false
protected

if true button is checkable

◆ _checked

bool igor::iWidgetButton::_checked = false
protected

if true button is checked

◆ _horizontalTextAlignment

iHorizontalAlignment igor::iWidgetButton::_horizontalTextAlignment = iHorizontalAlignment::Center
protected

the horizontal alignment

◆ _iconTexture

iTexturePtr igor::iWidgetButton::_iconTexture
protected

the icon texture

◆ _text

iaString igor::iWidgetButton::_text
protected

current text of the button

◆ _texture

iTexturePtr igor::iWidgetButton::_texture
protected

the background texture

◆ _verticalTextAlignment

iVerticalAlignment igor::iWidgetButton::_verticalTextAlignment = iVerticalAlignment::Center
protected

the vertical alignment


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