![]() |
CRM64Pro GDK v0.18.0
A free cross-platform game development kit built on top of SDL 3.0
|
NumberEdit widget for numeric text input. More...
NumberEdit widget for numeric text input.
Extends WidgetTextEdit with numeric parsing, range clamping, optional step snapping and integer/float modes.
Public Member Functions | |
| bool | info (Sint32 iMode=0) override |
| Request NumberEdit widget information. | |
| Sint32 | setText (const string &sText) |
| Set the text. | |
| Sint32 | setValue (float fValue) |
| Set the numeric value. | |
| float | getValue () const |
| Get the current numeric value. | |
| Sint32 | setRange (float fMin, float fMax) |
| Set the allowed numeric range. | |
| Sint32 | getRange (float *fMin, float *fMax) const |
| Get the current numeric range. | |
| Sint32 | setStep (float fStep) |
| Set the optional numeric step. | |
| float | getStep () const |
| Get the numeric step. | |
| Sint32 | allowFloat (bool bEnabled=true) |
| Enable or disable floating-point input. | |
| bool | isFloatAllowed () const |
| Check whether floating-point input is enabled. | |
| Public Member Functions inherited from CRM64Pro::WidgetTextEdit | |
| bool | info (Sint32 iMode=0) override |
| Request TextEdit widget information. | |
| Sint32 | setSize (Sint32 iWidth, Sint32 iHeight) override |
| Set the text edit size. | |
| bool | setMargin (Sint32 iTop, Sint32 iRight, Sint32 iBottom, Sint32 iLeft) override |
| Set text-edit content margins. | |
| bool | setText (const string &sText) |
| Set the text content. | |
| bool | getText (string &sText) const |
| Get the text content. | |
| Sint32 | getCursorLine () const |
| Get the current cursor line. | |
| Sint32 | setScroll (Sint32 iUnits, bool *bChanged=nullptr) |
| Modify the text-edit scroll. | |
| bool | getScroll (Sint32 *iUnits) const |
| Get the current text-edit scroll. | |
| bool | getVisibleItems (Sint32 *iUnits) const |
| Get the visible text-edit area. | |
| Sint32 | setFont (Sint32 idFont, eWidgetState eWS=WS_DEFAULT) override |
| Set the text-edit font. | |
| Sint32 | setMultiline (bool bEnable=true) |
| Enable or disable multiline editing. | |
| bool | isMultiline () const |
| Check whether multiline editing is enabled. | |
| Sint32 | setReadOnly (bool bEnable=true) |
| Enable or disable read-only mode. | |
| bool | isReadOnly () const |
| Check whether read-only mode is enabled. | |
| Sint32 | appendText (const string &sText) |
| Append text to the current stream/cursor position. | |
| Sint32 | getLineCount () const |
| Get the total number of lines. | |
| string | getLine (Sint32 iLineIndex) const |
| Get a specific line of text. | |
| Sint32 | appendLine (const string &sText) |
| Add a new line at the bottom. | |
| Sint32 | setLine (Sint32 iLineIndex, const string &sText) |
| Replace a specific line. | |
| Sint32 | insertLine (Sint32 iLineIndex, const string &sText) |
| Insert a new line at a specific index. | |
| Sint32 | removeLine (Sint32 iLineIndex) |
| Remove a specific line. | |
| Public Member Functions inherited from CRM64Pro::Widget | |
| const string & | getName () const |
| Get the widget name. | |
| Sint32 | getID () const |
| Get the widget ID. | |
| eWidgetType | getType () const |
| Get the widget type. | |
| bool | disable () |
| Disable a widget. | |
| bool | enable () |
| Enable a widget. | |
| bool | show () |
| Show a widget. | |
| bool | hide () |
| Hide a widget. | |
| eGeneralStatus | status () const |
| Get the widget status. | |
| bool | setFeatures (eWidgetFeature eWF, bool bEnable) |
| Set widget feature flags. | |
| eWidgetFeature | getFeatures () const |
| Get widget feature flags. | |
| Sint32 | getWidth () const |
| Get the widget width. | |
| Sint32 | getHeight () const |
| Get the widget height. | |
| Sint32 | setPosition (const Position &rPosX=Position(PH_CENTER), const Position &rPosY=Position(PH_CENTER)) |
| Set the position. | |
| const Position & | getPositionX () const |
| Get the widget X position. | |
| const Position & | getPositionY () const |
| Get the widget Y position. | |
| bool | getMargin (Sint32 *iTop, Sint32 *iRight, Sint32 *iBottom, Sint32 *iLeft) |
| Get the margins. | |
| bool | setAlphaMod (Uint8 iAlpha) |
| Set alpha modulation used for rendering this widget. | |
| Uint8 | getAlphaMod () const |
| Get alpha modulation used for rendering this widget. | |
| eWidgetState | getState () const |
| Get the widget state. | |
| Sint32 | getFont (eWidgetState eWS=WS_NORMAL) const |
| Get the font. | |
| Sint32 | setBorderWidth (Sint32 iWidth, eWidgetState eWS=WS_DEFAULT) |
| Set the border width. | |
| Sint32 | getBorderWidth (eWidgetState eWS=WS_NORMAL) const |
| Get the border width. | |
| Sint32 | setBorderCorner (Sint32 iRad, eWidgetState eWS=WS_DEFAULT) |
| Set the border corner radius. | |
| Sint32 | getBorderCorner (eWidgetState eWS=WS_NORMAL) const |
| Get the border corner radius. | |
| Sint32 | setBorderColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, eWidgetState eWS=WS_DEFAULT) |
| Set the border color. | |
| Sint32 | getBorderColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA, eWidgetState eWS=WS_NORMAL) const |
| Get the effective border color. | |
| Sint32 | setBackgroundColor (Uint8 iR, Uint8 iG, Uint8 iB, eWidgetState eWS=WS_DEFAULT) |
| Set the background color. | |
| Sint32 | getBackgroundColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, eWidgetState eWS=WS_NORMAL) const |
| Get the effective background color. | |
| Sint32 | setSelectionColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA, eWidgetState eWS=WS_DEFAULT) |
| Set the selection highlight color. | |
| Sint32 | getSelectionColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA, eWidgetState eWS=WS_NORMAL) const |
| Get the effective selection highlight color. | |
| Sint32 | resetSkin (eWidgetState eWS=WS_DEFAULT) |
| Clear custom skin overrides and custom background resources. | |
| Uint32 | getSkinOverrideMask (eWidgetState eWS=WS_NORMAL) const |
| Get the custom skin override mask for one state. | |
| Sint32 | clearBackground (eWidgetState eWS=WS_DEFAULT) |
| Clear custom background resources for one state. | |
| Sint32 | setBackgroundImage (const string &sCDCFile, const string &sName, eWidgetState eWS=WS_NORMAL) |
| Set the background image. | |
| Sint32 | setBackgroundImage (Sint32 idCDC, const string &sName, eWidgetState eWS=WS_NORMAL) |
| Set the background image. | |
| Sint32 | setBackgroundImage (Sint32 idImage, eWidgetState eWS=WS_NORMAL) |
| Set the background image. | |
| Sint32 | getBackgroundImage (eWidgetState eWS=WS_NORMAL) const |
| Get the background image. | |
| Sint32 | setBackgroundSprite (const string &sCDCFile, const string &sName, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0) |
| Set the background sprite. | |
| Sint32 | setBackgroundSprite (Sint32 idCDC, const string &sName, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0) |
| Set the background sprite. | |
| Sint32 | setBackgroundSprite (Sint32 idSprite, eWidgetState eWS=WS_DEFAULT, Sint32 iAnim=0) |
| Set the background sprite. | |
| Sint32 | getBackgroundSprite (eWidgetState eWS=WS_NORMAL, Sint32 *iAnim=nullptr) const |
| Get the background sprite. | |
| bool | setOnAction (function< void(Widget &)> fnCallback) |
| Set a callback fired when the widget triggers an action. | |
| bool | setOnHoverEnter (function< void(Widget &)> fnCallback) |
| Set a callback fired when the widget starts being hovered. | |
| bool | setOnHoverExit (function< void(Widget &)> fnCallback) |
| Set a callback fired when mouse hover exits the widget. | |
| bool | setOnPressed (function< void(Widget &)> fnCallback) |
| Set a callback fired when the widget is pressed. | |
| bool | setOnFocusLost (function< void(Widget &)> fnCallback) |
| Set a callback fired when the widget loses focus. | |
| bool | setOnValueCommitted (function< void(Widget &)> fnCallback) |
| Set a callback fired when an edit widget commits a changed value. | |
| bool | setOnSelectionChanged (function< void(Widget &)> fnCallback) |
| Set a callback fired when a selection widget changes selection. | |
| bool | setOnValueChanged (function< void(Widget &)> fnCallback) |
| Set a callback fired when a live value widget changes value. | |
| bool | setOnToggled (function< void(Widget &)> fnCallback) |
| Set a callback fired when a toggle widget changes state. | |
| Sint32 | setTooltip (const string &sText) |
| Set the tooltip text. | |
| const string & | getTooltip () const |
| Get the tooltip text. | |
| Sint32 | setTooltipTTL (Sint32 iMS) |
| Set the tooltip auto-hide time. | |
| Sint32 | getTooltipTTL () const |
| Get the tooltip auto-hide time. | |
| Sint32 | setTooltipFollowCursor (bool bEnable=true) |
| Set whether the tooltip follows the cursor. | |
| bool | isTooltipFollowingCursor () const |
| Check whether the tooltip follows the cursor. | |
| bool | setTooltipBackgroundColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA) |
| Set the widget-local tooltip background color override. | |
| bool | getTooltipBackgroundColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA) const |
| Get the effective tooltip background color. | |
| bool | setTooltipBorderColor (Uint8 iR, Uint8 iG, Uint8 iB, Uint8 iA) |
| Set the widget-local tooltip border color override. | |
| bool | getTooltipBorderColor (Uint8 *iR, Uint8 *iG, Uint8 *iB, Uint8 *iA) const |
| Get the effective tooltip border color. | |
| Sint32 | setTooltipFontName (const string &sFontName) |
| Set the widget-local tooltip font name override. | |
| Sint32 | setTooltipFont (Sint32 idFont) |
| Set the widget-local runtime tooltip font id override. | |
| Sint32 | getTooltipFont () const |
| Get the effective tooltip font id. | |
| Uint32 | getTooltipOverrideMask () const |
| Get the widget-local tooltip style override mask. | |
| Sint32 | resetTooltipStyle () |
| Reset widget-local tooltip style overrides. | |
|
overridevirtual |
Request NumberEdit widget information.
Writes information to the default log.
| iMode | currently forwarded to the common widget info path. |
Reimplemented from CRM64Pro::Widget.
| Sint32 CRM64Pro::WidgetNumberEdit::setText | ( | const string & | sText | ) |
Set the text.
Sanitizes the incoming text according to the current numeric mode and commits it as the new numeric value. NumberEdit inherits TextEdit keyboard focus, mouse selection, clipboard shortcuts, and undo/redo behavior.
| sText | Text to parse as a number. |
| Sint32 CRM64Pro::WidgetNumberEdit::setValue | ( | float | fValue | ) |
Set the numeric value.
| fValue | Numeric value to assign. It is clamped to the current range. |
| float CRM64Pro::WidgetNumberEdit::getValue | ( | ) | const |
Get the current numeric value.
| Sint32 CRM64Pro::WidgetNumberEdit::setRange | ( | float | fMin, |
| float | fMax ) |
Set the allowed numeric range.
| fMin | Minimum allowed value. |
| fMax | Maximum allowed value. |
| Sint32 CRM64Pro::WidgetNumberEdit::getRange | ( | float * | fMin, |
| float * | fMax ) const |
Get the current numeric range.
| fMin | Pointer to receive the minimum value, or nullptr to skip. |
| fMax | Pointer to receive the maximum value, or nullptr to skip. |
| Sint32 CRM64Pro::WidgetNumberEdit::setStep | ( | float | fStep | ) |
Set the optional numeric step.
When greater than zero, committed values are snapped to the nearest step relative to the current minimum.
| fStep | Step size. Use 0 to disable snapping. |
| float CRM64Pro::WidgetNumberEdit::getStep | ( | ) | const |
Get the numeric step.
| Sint32 CRM64Pro::WidgetNumberEdit::allowFloat | ( | bool | bEnabled = true | ) |
Enable or disable floating-point input.
Integer mode is the default. When enabled, one decimal point is accepted and committed values keep their fractional part.
| bEnabled | true to allow floating-point input, false to force integer mode. |
| bool CRM64Pro::WidgetNumberEdit::isFloatAllowed | ( | ) | const |
Check whether floating-point input is enabled.