The INumericSpinButton class creates and manages numeric spin button control windows. INumericSpinButton extends the spin button function in IBaseSpinButton to include the ability to specify numeric ranges for the spin field.
Handlers derived from the following classes can handle events for INumericSpinButton objects:
The AIX environment supports only the first constructor, which creates an object of this class from a control ID, parent and owner windows, a rectangle, and a style.
The INumericSpinButton constructor creates objects of this class using the following Motif widgets:
The Open Class Library provides the behavior of an INumericSpinButton object via private callbacks and a default handler. The INumericSpinButton class uses a default handler derived from the class IKeyboardHandler. Therefore, attach user-defined handlers derived from IKeyboardHandler to the INumericSpinButton object rather than to its owner window. Doing so enables events to be dispatched to user-defined handlers before the default handler.
In addition, handlers derived from IEditVerifyHandler can be attached to INumericSpinButton objects.
Constructors & DestructorYou can construct and destruct objects of this class.
![]() |
public:
virtual ~INumericSpinButton()
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
INumericSpinButton(unsigned long id, IWindow* parent)
You can construct objects of this class by creating an object for the specified numeric spin button control.
| IInvalidRequest | The ID must be for a numeric-only spin button control. |
| Windows | OS/2 | AIX |
| Yes | Yes | No |
This constructor can only be used to create an object with the pmCompatible style.
public:
INumericSpinButton(const IWindowHandle& handle)
You can construct objects of this class by creating an object for the specified numeric spin button control.
| IInvalidRequest | The handle must be for a numeric-only spin button control. |
| Windows | OS/2 | AIX |
| Yes | Yes | No |
This constructor can only be used to create an object with the pmCompatible style.
public:
INumericSpinButton( unsigned long id, IWindow* parent, IWindow* owner, const IRectangle& initial = IRectangle ( ), const Style& style = defaultStyle ( ) )
You can construct objects of this class by creating the specified numeric spin button control and an object for it. The numeric spin button has an initial value of 0 and an initial range of (0,0).
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Limit and SpinUse these members to manage the spin field for objects of this class.
![]() |
public:
virtual INumericSpinButton& setLimit(unsigned long aNumber)
Sets the number of characters permitted in the spin field.
The Open Class Library defines this limit as 255 at the time of construction.
Note:
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual INumericSpinButton& spinDown( unsigned long spinBy = 1 )
Spins the button down the specified number of times.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual INumericSpinButton& spinUp( unsigned long spinBy = 1 )
Spins the button up the specified number of times.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Notification MembersUse these members to enable notifications sent to observer objects.
![]() |
public:
virtual INumericSpinButton& enableNotification( bool enable = true )
Enables the numeric spin button control to send notifications to any observer objects added. If enable is false, these notifiations are disabled.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Number Range OperationsUse these members to query, modify, and validate the spin field contents and range.
![]() |
public:
virtual bool isSpinFieldValid( bool caseSensitive = false ) const
If the contents of the spin field are within the number range, true is returned. This function ignores the caseSensitive flag for numeric spin buttons.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IRange range() const
Returns the number range of the spin button.
| IAccessError | The operating system's request to query the spin button's limits has failed. |
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual INumericSpinButton& setRange( const IRange& aNewRange, bool override = false )
Sets the lower and upper limit of the spin button range.
| IInvalidParameter | The new range is invalid. |
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual INumericSpinButton& setValue(long aValue)
Sets the displayed value of the spin field, regardless of the validity of the number.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual INumericSpinButton& spinTo( long aValue, bool spinToClosest = false )
Spins the spin button until the specified value displays. If the specified value is out of range, one of the following happens:
| IInvalidParameter | The spin value is not valid. |
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual long value() const
Returns the current value displayed in the spin field.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
StylesThese style members provide a set of valid styles for this class. Use these members to query and set the numeric spin button styles. You can use these styles with the styles in the following classes:
![]() |
public:
virtual unsigned long convertToGUIStyle( const IBitFlag& style, bool extendedOnly = false ) const
Converts a style object into a value appropriate for the presentation system. The default action is to return the base GUI styles for the platform. Extended styles, those defined by the application and the Open Class Library, are returned if you set extendedOnly to true.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static Style defaultStyle()
Returns the default style. The default style is classDefaultStyle unless you have changed the style using setDefaultStyle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static void setDefaultStyle(const Style& style)
Sets the default style for all subsequent numeric spin buttons.
This member function is not thread safe. In a multithreaded application, it should only be called when a conflict is not possible. A conflict can arise if you set the default style on one thread at the same time that it is being queried on another. In this situation, the query would take place while the style is in an unknown state.
When you create a window class and do not specifically specify window styles in the constructor, the Open Class Library queries the default style. Therefore, the only safe place to call this member function is when no other application threads that create windows are active.
Another way to avoid a conflict in a multithreaded application is to specifically specify window styles on window construction, rather than calling this member function.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style classDefaultStyle
Provides the original default style for this class, which is the following: IBaseSpinButton::master | IBaseSpinButton::leftAlign | IBaseSpinButton::border3D | IWindow::visible.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style padWithZeros
Pads the displayed number with zeros at the front.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
virtual ~IBaseSpinButton()
virtual IBaseSpinButton& addBorder(bool add = true)
Alignment alignment() const
virtual IColor backgroundColor() const
virtual IBaseSpinButton& disableDataUpdate()
virtual IBaseSpinButton& disableFastSpin()
virtual IBaseSpinButton& enable(bool enable = true)
virtual IBaseSpinButton& enableDataUpdate( bool writeable = true )
virtual IBaseSpinButton& enableFastSpin(bool fast = true)
virtual IColor foregroundColor() const
bool hasBorder() const
virtual bool hasFocus() const
bool isFastSpinEnabled() const
bool isMaster() const
bool isPMCompatible() const
bool isServant() const
virtual bool isSpinFieldValid(bool caseSensitive) const = 0
bool isWriteable() const
unsigned long limit() const
virtual IBaseSpinButton& removeBorder()
virtual IBaseSpinButton& resetBackgroundColor()
virtual IBaseSpinButton& resetForegroundColor()
virtual IBaseSpinButton& setAlignment( Alignment alignment = left )
virtual IBaseSpinButton& setBackgroundColor( const IColor& color )
virtual IBaseSpinButton& setForegroundColor( const IColor& color )
virtual IBaseSpinButton& setLimit( unsigned long aNumber = 255 )
virtual IBaseSpinButton& setMaster(IBaseSpinButton& master)
virtual IBaseSpinButton& spinDown(unsigned long spinBy = 1)
virtual IBaseSpinButton& spinUp(unsigned long spinBy = 1)
virtual IRectangle visibleRectangle() const
virtual ~IControl()
virtual ~INotifier()
virtual INotifier& disableNotification() = 0
virtual INotifier& enableNotification( bool enable = true ) = 0
INotifier()
virtual bool isEnabledForNotification() const = 0
virtual INotifier& notifyObservers( const INotificationEvent& event ) = 0
virtual INotifier& notifyObserversAsync( const INotificationEvent& event )
const IThreadId& threadId() const
virtual ~IWindow()
IAccelTblHandle acceleratorHandle() const
IAcceleratorTable acceleratorTable() const
virtual IColor activeColor() const
IWindow& addOrReplaceAttribute( const IAttributeName& name, const IAttribute& attribute )
IWindow& adoptWindowData( const DataHandle& typeToken, IWindowData* windowData )
virtual IString asDebugInfo() const
virtual IString asString() const
IAttributeName attributeNameAt( const AttributeCursor& cursor ) const
const IAttribute* attributeWithName( const IAttributeName& name, ESearchType search = kWindowOnly ) const
virtual IWindow& capturePointer(bool capture = true)
ISize characterSize() const
IWindowHandle childAt(const ChildCursor& cursor) const
IWindow* childWindowAt(const ChildCursor& cursor) const
virtual IArgList convertToArgList( const IBitFlag& style ) const
static DataHandle dataHandleWithKey( const char* dataKeyName )
virtual IWindowHandle defaultEmphasisButton() const
static SiblingOrder defaultOrdering()
virtual IWindowHandle defaultPushButton() const
static IWindow* desktopWindow()
virtual IWindow& disable()
virtual IColor disabledBackgroundColor() const
virtual IColor disabledForegroundColor() const
virtual IWindow& disableGroup()
IWindow& disableMinimumSizeCaching()
virtual IWindow& disableNotification()
virtual IWindow& disableTabStop()
virtual IWindow& disableUpdate()
bool dispatchRemainingHandlers( IEvent& event, bool callDefProc = true )
virtual IWindow& enable(bool enableWindow = true)
virtual IWindow& enableGroup(bool enable = true)
IWindow& enableMinimumSizeCaching( bool enableCaching = true )
virtual IWindow& enableNotification(bool enable = true)
virtual IWindow& enableTabStop(bool enable = true)
virtual IWindow& enableUpdate(bool enableWindow = true)
static IWindow::ExceptionFn* exceptionFunction()
virtual IFont font() const
virtual IWindowHandle handle() const
virtual bool handleException( IException& dispatcherException, IEvent& exceptionEvent )
virtual IWindowHandle handleForChildCreation() const
static IWindowHandle handleWithParent( unsigned long identifier, const IWindowHandle& parent )
static IWindowHandle handleWithPointerCaptured()
virtual bool hasPointerCaptured() const
unsigned long helpId() const
virtual IWindow& hide()
virtual IWindow& hideSourceEmphasis()
virtual IColor hiliteBackgroundColor() const
virtual IColor hiliteForegroundColor() const
virtual unsigned long id() const
virtual IColor inactiveColor() const
virtual IRectangle invalidatedRect() const
virtual IRegionHandle invalidatedRegion() const
bool isAutoDeleteObject() const
bool isAutoDestroyWindow() const
bool isEnabled() const
virtual bool isEnabledForNotification() const
virtual bool isFrameWindow() const
virtual bool isGroup() const
bool isHandling(const EventMask& events) const
virtual bool isLayoutDistorted( unsigned long layoutAttribute ) const
bool isMinimumSizeCachingEnabled() const
bool isShowing() const
virtual bool isTabStop() const
bool isUpdateEnabled() const
virtual bool isValid() const
bool isVisible() const
static bool isWindowValid(const IWindow* window)
IDMItemProvider* itemProvider() const
IWindow(const IWindowHandle& handle)
IWindow(unsigned long identifier, IWindow* parent)
virtual IRectangle layoutAdjustment() const
static IPoint mapPoint( const IPoint& point, const IWindowHandle& from, const IWindowHandle& to )
virtual IWindowHandle matchForMnemonic( unsigned short character ) const
IMessageQueueHandle messageQueue() const
ISize minimumSize(bool windowCalculatedSize = false) const
virtual IPointerHandle mousePointer() const
static void movePointerTo(const IPoint& position)
virtual IWindow& moveSizeTo( const IRectangle& newSizeAndPosition )
virtual IWindow& moveTo(const IPoint& newPosition)
virtual IRectangle nativeRect() const
virtual INotifierAddress notifierAddress() const
virtual IWindow& notifyObservers( const INotificationEvent& event )
virtual IWindow& notifyObserversAsync( const INotificationEvent& event )
static IWindow* objectWindow()
virtual IWindow* owner() const
IWindow* parent() const
static ISize parentSize(const IWindowHandle& windowHandle)
virtual ISize parentSize() const
static IPoint pointerPosition()
virtual IPoint position() const
virtual IWindow& positionBehindSibling( const IWindowHandle& siblingWindow )
virtual IWindow& positionBehindSiblings()
virtual IWindow& positionOnSiblings()
virtual const IWindow& postEvent( EventType eventType, const IEventParameter1& parm1 = 0, const IEventParameter2& parm2 = 0 ) const
virtual const IWindow& postEvent(const IEvent& event) const
virtual const IWindow&
postEvent( unsigned long eventId,
const IEventParameter1& parm1 = 0,
const IEventParameter2& parm2 = 0 ) const
virtual IPresSpaceHandle presSpace() const
virtual IRectangle rect() const
virtual IWindow& refresh(RefreshType type = paintAll)
virtual IWindow& refresh( const IRectangle& invalidRectangle, bool immediate = false )
virtual IWindow& releasePointer()
virtual void releasePresSpace( const IPresSpaceHandle& presentationSpaceHandle ) const
IWindow& removeAllAttributes()
IWindow& removeAttribute(const IAttributeName& name)
virtual IWindow& resetActiveColor()
virtual IWindow& resetBackgroundColor()
virtual IWindow& resetDisabledBackgroundColor()
virtual IWindow& resetDisabledForegroundColor()
virtual IWindow& resetFont()
virtual IWindow& resetForegroundColor()
virtual IWindow& resetHiliteBackgroundColor()
virtual IWindow& resetHiliteForegroundColor()
virtual IWindow& resetInactiveColor()
IWindow& resetMinimumSize()
virtual IWindow& resetShadowColor()
virtual IEventResult sendEvent(const IEvent& event) const
virtual IEventResult sendEvent( unsigned long eventId, const IEventParameter1& parm1 = 0, const IEventParameter2& parm2 = 0 ) const
virtual IEventResult sendEvent( EventType eventType, const IEventParameter1& parm1 = 0, const IEventParameter2& parm2 = 0 ) const
IWindow& setAcceleratorHandle( const IAccelTblHandle& handle )
IWindow& setAcceleratorTable( const IAcceleratorTable* acceleratorTable )
virtual IWindow& setActiveColor(const IColor& color)
IWindow& setAutoDeleteObject(bool autoDelete = true)
IWindow& setAutoDestroyWindow(bool autoDestroy = false)
virtual IWindow& setBackgroundColor(const IColor& color)
static void setDefaultOrdering(SiblingOrder order)
virtual IWindow& setDisabledBackgroundColor( const IColor& color )
virtual IWindow& setDisabledForegroundColor( const IColor& color )
static IWindow::ExceptionFn* setExceptionFunction( IWindow::ExceptionFn* exceptionFunction )
virtual IWindow& setFocus()
virtual IWindow& setFont(const IFont& font)
virtual IWindow& setForegroundColor(const IColor& color)
IWindow& setHelpId(unsigned long helpTopicId)
virtual IWindow& setHiliteBackgroundColor( const IColor& color )
virtual IWindow& setHiliteForegroundColor( const IColor& color )
virtual IWindow& setId(unsigned long newIdentifier)
virtual IWindow& setInactiveColor(const IColor& color)
IWindow& setItemProvider(IDMItemProvider* dragProvider)
virtual IWindow&
setLayoutDistorted( unsigned long layoutAttributesOn,
unsigned long layoutAttributesOff )
IWindow& setMinimumSize(const ISize& size)
virtual IWindow& setMousePointer( const IPointerHandle& mousePointer )
virtual IWindow& setOwner(const IWindow* newOwner)
virtual IWindow& setParent(const IWindow* newParent)
virtual IWindow& setShadowColor(const IColor& color)
virtual IColor shadowColor() const
virtual IWindow& show(bool showWindow = true)
virtual IWindow& showSourceEmphasis(bool show = true)
virtual ISize size() const
virtual IWindow& sizeTo(const ISize& newSize)
IWindow& startHandling(const EventMask& events)
IWindow& stopHandling(const EventMask& events)
virtual IWindow& validateRect( const IRectangle& validatedRectangle )
virtual IWindow& validateRegion( const IRegionHandle& validatedRegion )
IWindowData* windowData(const DataHandle& typeToken) const
static IWindow* windowWithHandle( const IWindowHandle& windowHandle, bool allThreads = true )
static IWindow*
windowWithOwner( unsigned long identifier,
const IWindow* owner,
bool allThreads = true )
static IWindow*
windowWithParent( unsigned long identifier,
const IWindow* parent,
bool allThreads = true )
static INotificationId const activeColorId
static const EventMask allMouseMoves
static INotificationId const attributeAddReplaceId
static INotificationId const attributeRemoveId
static INotificationId const backgroundColorId
static INotificationId const borderColorId
static const Style clipChildren
static const Style clipSiblings
static const Style clipToParent
static INotificationId const commandId
static const Style disabled
static INotificationId const disabledBackgroundColorId
static INotificationId const disabledForegroundColorId
static INotificationId const enableId
static INotificationId const focusId
static INotificationId const fontId
static INotificationId const foregroundColorId
static const Style group
static INotificationId const hiliteBackgroundColorId
static INotificationId const hiliteForegroundColorId
static INotificationId const inactiveColorId
static const Style leftToRight
static const EventMask mouseEntersLeaves
static const Style noStyle
static INotificationId const positionId
static const Style rightToLeft
static const Style saveBits
static INotificationId const shadowColorId
static INotificationId const sizeId
static const EventMask someMouseMoves
static const Style synchPaint
static INotificationId const systemCommandId
static const Style tabStop
static const Style visible
static INotificationId const visibleId
static INotificationId const allChangesId
static INotificationId const deleteId
static const Style border3D
static const Style centerAlign
static const Style fastSpin
static const Style leftAlign
static const Style master
static const Style noBorder
static const Style pmCompatible
static const Style readOnly
static const Style rightAlign
static const Style servant
static INotificationId const textId
static INotificationId const valueId
IWindow& addHandler(IHandler* newHandler)
virtual IWindow& addObserver( IObserver& observer, const IInterest& interest )
static void
addToWindowSet( IWindow* window,
const IWindowHandle& windowHandle )
IWindow& bindMessageQueue(bool bindToMessageQueue = true)
IColor color( unsigned long colorArea, const IColor& defaultColor ) const
IColor color(unsigned long colorArea) const
virtual IWindowHandle create( unsigned long id, const char* text, unsigned long style, const char* windowClass, const IWindowHandle& parent, const IWindowHandle& owner, const IRectangle& initRect, const void* ctlData, const void* presParams, IWindow::SiblingOrder ordering = defaultOrdering ( ), unsigned long extendedStyle = 0 )
virtual IWindowHandle create( unsigned long id, const char* text, const IBitFlag& style, IXmCreateFunction createFunction, const IWindow* parent, const IWindow* owner, const IRectangle& initRect, IWindow::SiblingOrder ordering = defaultOrdering ( ) )
virtual IWindowHandle create( unsigned long id, const char* text, const IBitFlag& style, const char* windowClass, const IWindow* parent, const IWindow* owner, const IRectangle& initRect, const void* ctlData, const void* presParams, IWindow::SiblingOrder ordering = defaultOrdering ( ) )
virtual IWindowHandle create( unsigned long id, const char* text, unsigned long style, IXmCreateFunction createFunction, const IWindowHandle& parent, const IWindowHandle& owner, const IRectangle& initRect, const void* callerArgList, unsigned int callerNumberArguments, IWindow::SiblingOrder ordering = defaultOrdering ( ), unsigned long extendedStyle = 0 )
IWindow& defaultProcedure(IEvent& event)
bool deleteIsInProcess() const
bool dispatch(IEvent& event)
virtual unsigned long extendedStyle() const
bool isBoundToMessageQueue() const
virtual bool isDragStarting(IEvent& event)
bool isPrimaryWindow() const
bool isUserWindowWordReserved() const
IWindow()
IWindowNotifyHandler* notificationHandler() const
virtual IWindow& notifyObservers( const INotificationId& notification )
IObserverList& observerList( const IInterest* interest = 0 ) const
virtual bool passEventToOwner(IEvent& event)
virtual IWindow& prepareForUse( const IWindowHandle& windowHandle )
virtual IWindow& removeAllObservers()
static void removeFromWindowSet(IWindow* window)
IWindow& removeHandler(IHandler* oldHandler)
virtual IWindow& removeObserver(IObserver& observer)
virtual IWindow& removeObserver( IObserver& observer, const IInterest& interest )
IWindow& reserveUserWindowWord(bool reserve = true)
virtual IWindow& resetColor(unsigned long colorArea)
ISize savedMinimumSize() const
IWindow& saveMinimumSize(const ISize& size)
virtual IWindow& setBidiSettings( const IBidiSettings& bidiSettings, bool childInherit, bool refresh )
virtual IWindow&
setColor( unsigned long colorArea,
const IColor& color )
virtual IWindow& setDefaultEmphasisButton( const IWindowHandle& defaultEmphasisButton, bool enable )
virtual IWindow& setDefaultPushButton( const IWindowHandle& defaultPushButton )
virtual IWindow& setExtendedStyle( unsigned long extendedStyle )
IWindow& setNotificationHandler( IWindowNotifyHandler* notifyHandler )
virtual IWindow& setStyle(unsigned long style)
IWindow& setWindowData(long index, unsigned long dataValue)
IWindow&
setWindowData( long index,
unsigned short dataValue )
IWindow& startHandlingEventsFor( const IWindowHandle& windowHandle )
IWindow&
startHandlingEventsFor( unsigned long identifier,
IWindow* parent )
virtual unsigned long style() const
IWindow& unbindMessageQueue()
unsigned long windowULong(long index) const
unsigned short windowUShort(long index) const
virtual INotifier& addObserver( IObserver& observer, const IInterest& interest )
virtual INotifier& notifyObservers( const INotificationId& id ) = 0
virtual IObserverList& observerList( const IInterest* anInterest = 0 ) const = 0
virtual INotifier& removeAllObservers() = 0
virtual INotifier& removeObserver( IObserver& observer, const IInterest& interest )
virtual INotifier& removeObserver(IObserver& observer) = 0
virtual ISize calcMinimumSize() const
IBaseSpinButton()
virtual void initialize()
void
initialize( unsigned long windowId,
const IWindowHandle& parent,
const IWindowHandle& owner,
unsigned long style,
const IRectangle& initial )
virtual IBaseSpinButton&
setColor( unsigned long colorArea,
const IColor& color )
IControl()