### INumericSpinButton

  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:

  - IEditHandler
  - IFocusHandler
  - IKeyboardHandler
  - IMouseHandler
  - IPaintHandler
  - IResizeHandler
  - ISpinHandler

#### Portability Considerations

  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.

#### AIX Considerations

  The INumericSpinButton constructor creates objects of this class using the following Motif widgets:

  - An XmForm widget is created with a single line XmText child.
  - If the spin button has the style IBaseSpinButton::master, an XmForm widget containing two XmArrowButton widgets is also created as a child of the top XmForm. IWindow::handle returns the handle of the XmText widget.

  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.

### INumericSpinButton - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~INumericSpinButton

      public:
      virtual ~INumericSpinButton()

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

INumericSpinButton

  Overload 1

      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.

  id
    A unique ID for the numeric spin button control.
  parent
    The parent dialog window.

Exception

  IInvalidRequest | The ID must be for a numeric-only spin button control.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | No

Windows Considerations

  This constructor can only be used to create an object with the pmCompatible style.

  Overload 2

      public:
      INumericSpinButton(const IWindowHandle& handle)

  You can construct objects of this class by creating an object for the specified numeric spin button control.

  handle
    The window handle of an existing numeric spin button control.

Exception

  IInvalidRequest | The handle must be for a numeric-only spin button control.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | No

Windows Considerations

  This constructor can only be used to create an object with the pmCompatible style.

  Overload 3

      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).

  windowId
    A unique ID for the numeric spin button control.
  parent
    The parent window.
  owner
    The owner window.
  initial
    A rectangle defining the size and placement of the numeric spin button window. Optional.
  style
    The style of the control. Optional.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Limit and Spin

Use these members to manage the spin field for objects of this class.

setLimit

      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: If you call this function with a limit that does not display all the numbers in the spin button range, erratic results can occur when the button is spun. For example, if the range is 1 to 100 and the limit is set to 2, the button spins up to 99 and then spins to 10 instead of 100. Spinning down, the button wraps from 1 to 10.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

spinDown

      public:
      virtual INumericSpinButton&
        spinDown( unsigned long spinBy = 1 )

  Spins the button down the specified number of times.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

spinUp

      public:
      virtual INumericSpinButton&
        spinUp( unsigned long spinBy = 1 )

  Spins the button up the specified number of times.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Notification Members

Use these members to enable notifications sent to observer objects.

enableNotification

      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.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Number Range Operations

Use these members to query, modify, and validate the spin field contents and range.

isSpinFieldValid

      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.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

range

      public:
      virtual IRange range() const

  Returns the number range of the spin button.

Exception

  IAccessError | The operating system's request to query the spin button's limits has failed.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setRange

      public:
      virtual INumericSpinButton&
        setRange( const IRange& aNewRange,
                  bool override = false )

  Sets the lower and upper limit of the spin button range.

  aNewRange
    The new lower and upper limit.
  override
    If you set override to true and the current value in the spin field is outside the new range, the current value in the spin field does not change. If override is false and the current value in the spin field is outside the new range, the current value in the spin field is set to the closest limit. The default is false.

Exception

  IInvalidParameter | The new range is invalid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setValue

      public:
      virtual INumericSpinButton& setValue(long aValue)

  Sets the displayed value of the spin field, regardless of the validity of the number.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

spinTo

      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:

  - If spinToClosest is true, the button spins to the closest limit.
  - If spinToClosest is false, an IInvalidParameter exception is thrown.

Exception

  IInvalidParameter | The spin value is not valid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

value

      public:
      virtual long value() const

  Returns the current value displayed in the spin field.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Styles

These 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:

- IWindow Styles
- IBaseSpinButton Styles

convertToGUIStyle

      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.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

defaultStyle

      public:
      static Style defaultStyle()

  Returns the default style. The default style is classDefaultStyle unless you have changed the style using setDefaultStyle.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setDefaultStyle

      public:
      static void setDefaultStyle(const Style& style)

  Sets the default style for all subsequent numeric spin buttons.

  style
    Use the styles provided by INumericSpinButton Styles to specify the default style.

  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.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

classDefaultStyle

      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.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

padWithZeros

      public:
      static const Style padWithZeros

  Pads the displayed number with zeros at the front.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### INumericSpinButton - Inherited Member Functions and Data

#### Inherited Public Functions

  IBaseSpinButton

  -     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

  IControl

  -     virtual ~IControl()

  INotifier

  -     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

  IWindow

  -     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 )

#### Inherited Public Data

  IWindow

  -     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

  INotifier

  -     static INotificationId const allChangesId

  -     static INotificationId const deleteId

  IBaseSpinButton

  -     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

#### Inherited Protected Functions

  IWindow

  -     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

  INotifier

  -     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

  IBaseSpinButton

  -     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

  -     IControl()

#### Inherited Protected Data

  - None