igor::iUserControl Class Reference

#include <iUserControl.h>

Inherits igor::iWidget.

Inherited by igor::iUserControlColorChooser, igor::iUserControlFileChooser, igor::iUserControlMaterialChooser, igor::iUserControlShaderMaterialChooser, igor::iUserControlTextureChooser, and igor::iUserControlTreeView.

Public Member Functions

 iUserControl (iWidgetType type=iWidgetType::iUserControl, const iWidgetPtr parent=nullptr)
 
virtual ~iUserControl ()=default
 
- 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
 
void registerOnClickEvent (iClickDelegate clickDelegate)
 
void registerOnMouseOffClickEvent (iMouseOffClickDelegate clickDelegate)
 
void registerOnDoubleClickEvent (iDoubleClickDelegate doubleClickDelegate)
 
void registerOnMouseOverEvent (iMouseOverDelegate mouseOverDelegate)
 
void registerOnMouseOffEvent (iMouseOffDelegate mouseOffDelegate)
 
void registerOnChangeEvent (iChangeDelegate changeDelegate)
 
void registerOnFocusEvent (iFocusDelegate focusDelegate)
 
void registerOnWheelUpEvent (iWheelUpDelegate wheelUpDelegate)
 
void unregisterOnWheelUpEvent (iWheelUpDelegate wheelUpDelegate)
 
void registerOnWheelDownEvent (iWheelDownDelegate wheelDownDelegate)
 
void unregisterOnWheelDownEvent (iWheelDownDelegate wheelDownDelegate)
 
void unregisterOnClickEvent (iClickDelegate clickDelegate)
 
void unregisterOnMouseOffClickEvent (iMouseOffClickDelegate clickDelegate)
 
void unregisterOnDoubleClickEvent (iDoubleClickDelegate doubleClickDelegate)
 
void unregisterOnMouseOverEvent (iMouseOverDelegate mouseOverDelegate)
 
void unregisterOnMouseOffEvent (iMouseOffDelegate mouseOffDelegate)
 
void unregisterOnChangeEvent (iChangeDelegate changeDelegate)
 
void unregisterOnFocusEvent (iFocusDelegate focusDelegate)
 
void registerOnContextMenuEvent (iContextMenuDelegate contextMenuDelegate)
 
void unregisterOnContextMenuEvent (iContextMenuDelegate contextMenuDelegate)
 
void registerOnSelectionChangedEvent (iSelectionChangedDelegate delegate)
 
void unregisterOnSelectionChangedEvent (iSelectionChangedDelegate delegate)
 
iaVector2f getActualPos () const
 
int32 getActualPosX () const
 
int32 getActualPosY () const
 
int32 getActualWidth () const
 
int32 getActualHeight () const
 
iaRectanglef getActualRect () 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 select ()
 
void unselect ()
 
bool isSelected () const
 
void clearSelection ()
 
const std::vector< iWidgetPtrgetSelection () const
 
void setSelection (const std::vector< iWidgetPtr > &selection)
 

Protected Member Functions

virtual void calcMinSize ()
 
- 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 (iEventMouseWheel &event)
 
virtual bool onMouseKeyDown (iEventMouseKeyDown &event)
 
virtual bool onMouseDoubleClick (iEventMouseKeyDoubleClick &event)
 
virtual bool onMouseKeyUp (iEventMouseKeyUp &event)
 
virtual void onMouseMove (iEventMouseMove &event)
 
virtual bool onASCII (iEventKeyASCII &event)
 
virtual bool onKeyDown (iEventKeyDown &event)
 
virtual bool onKeyUp (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)
 
virtual void onDrag ()
 

Additional Inherited Members

- Static Public Member Functions inherited from igor::iWidget
static iWidgetPtr getKeyboardFocusWidget ()
 
- Static Public Attributes inherited from igor::iWidget
static const iWidgetID INVALID_WIDGET_ID = 0
 
- 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
 

Detailed Description

use control base class

mostly used as a container to combine some of the standard widgets to appear as one

this class is only a base class for other user controls and not supposed to be used directly

Constructor & Destructor Documentation

◆ iUserControl()

igor::iUserControl::iUserControl ( iWidgetType  type = iWidgetType::iUserControl,
const iWidgetPtr  parent = nullptr 
)

does nothing

Parameters
parentthe optional parent

◆ ~iUserControl()

virtual igor::iUserControl::~iUserControl ( )
virtualdefault

does nothing

Member Function Documentation

◆ calcMinSize()

void igor::iUserControl::calcMinSize ( )
protectedvirtual

updates size based on widgets content

all widgets have to derive from this

Reimplemented from igor::iWidget.


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