### IBaseSpinButton

  IBaseSpinButton is an abstract base class for spin button controls. Use the IBaseSpinButton-derived classes, INumericSpinButton, and ITextSpinButton, to create and manage numeric and text spin-button controls.

#### AIX Considerations

  Spin buttons created during object construction of IBaseSpinButton-derived classes can use 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 IBaseSpinButton object via private callbacks and a default handler. The IBaseSpinButton-derived classes use a default handler derived from the class IKeyboardHandler. Therefore, attach user-defined handlers derived from IKeyboardHandler to the INumericSpinButton or ITextSpinButton object rather than to its owner window. Doing so enables events to be dispatched to user-defined handlers before the default handler.

### IBaseSpinButton - Member Functions and Data by Group

### Constructors & Destructor

The only way to create objects of this class is from a derived class. To enforce this, the only constructor provided for this class is protected. This default constructor can be used by derived classes to create objects of this class. You can destruct objects of this class.

~IBaseSpinButton

      public:
      virtual ~IBaseSpinButton()

Supported Platforms

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

IBaseSpinButton

      protected:
      IBaseSpinButton()

  Derived classes use this protected constructor to construct objects of this class. This is the default constructor and accepts no parameters.

Supported Platforms

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

### Attributes

Use these members to query and change characteristics of the spin button control.

alignment

      public:
      Alignment alignment() const

  Returns the current alignment in the spin field of this spin button object. The returned value is an enumerator provided by Alignment.

Supported Platforms

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

AIX Considerations

  This function always returns left.

hasFocus

      public:
      virtual bool hasFocus() const

  Returns true if the spin button has the input focus.

Supported Platforms

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

isMaster

      public:
      bool isMaster() const

  If the spin button is a master, true is returned. Otherwise, false is returned.

Supported Platforms

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

isPMCompatible

      public:
      bool isPMCompatible() const

  Returns true if the control was created with the pmCompatible style.

Supported Platforms

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

isServant

      public:
      bool isServant() const

  If the spin button is a servant, true is returned. Otherwise, false is returned.

Supported Platforms

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

setAlignment

      public:
      virtual IBaseSpinButton&
        setAlignment( Alignment alignment = left )

  Changes the text or number alignment in the spin field.

  alignment
    Use the enumeration Alignment to specify the alignment of the text or number. The default is left.

Supported Platforms

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

Windows Considerations

  The alignment cannot be changed after the control is created. Use the styles leftAlign, centerAlign or rightAlign on the constructor to specify alignment.

### Borders

Use these members to query and change the border style of the spin button object. The border style determines if the spin button control is drawn with a border around the spin field.

addBorder

      public:
      virtual IBaseSpinButton& addBorder(bool add = true)

  Adds a border to the spin button.

Supported Platforms

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

hasBorder

      public:
      bool hasBorder() const

  If the spin button has a border, true is returned. Otherwise, false is returned.

Supported Platforms

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

removeBorder

      public:
      virtual IBaseSpinButton& removeBorder()

  Removes the border from the spin button.

Supported Platforms

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

### Colors

Use these members to query, set, and reset colors for IBaseSpinButton and derived classes.

backgroundColor

      public:
      virtual IColor backgroundColor() const

  Returns the background color value of the spin button area. If you have not set a color for the area, the default is returned.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

foregroundColor

      public:
      virtual IColor foregroundColor() const

  Returns the foreground color value of the spin button area. If you have not set a color for the area, the default is returned.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

resetBackgroundColor

      public:
      virtual IBaseSpinButton& resetBackgroundColor()

  Resets the background color by undoing a previous set.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

resetForegroundColor

      public:
      virtual IBaseSpinButton& resetForegroundColor()

  Resets the foreground color by undoing a previous set.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

setBackgroundColor

      public:
      virtual IBaseSpinButton&
        setBackgroundColor( const IColor& color )

  Sets the background color to the indicated color.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

setForegroundColor

      public:
      virtual IBaseSpinButton&
        setForegroundColor( const IColor& color )

  Sets the foreground color to the indicated color.

Supported Platforms

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

Portability Considerations

  This member is overridden in this derived class for specific operating system behavior.

setColor

      protected:
      virtual IBaseSpinButton&
        setColor( unsigned long colorArea,
                  const IColor& color )

  Sets the colorArea to the indicated color.

Supported Platforms

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

### Fast Spin

Use these members to query and change the fastSpin style of the spin button object. The fastSpin style specifies the spin speed of the spin button is increased with time. The speed doubles every two seconds.

disableFastSpin

      public:
      virtual IBaseSpinButton& disableFastSpin()

  Disables fast spinning of the spin button.

Supported Platforms

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

enableFastSpin

      public:
      virtual IBaseSpinButton& enableFastSpin(bool fast = true)

  Enables or disables fast spinning of the spin button. The style fastSpin causes the spin button to increase the spin speed relative to the length of time the button is pressed. The speed doubles every two seconds until the spin button reaches the upper or lower bound. At this point, the speed resets to the original speed and again doubles every two seconds.
  Note: Do not use this function on a master spin button that has servants spun from it.

Supported Platforms

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

isFastSpinEnabled

      public:
      bool isFastSpinEnabled() const

  If the spin speed is doubled every two seconds, true is returned. Otherwise, false is returned.

Supported Platforms

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

### Implementation

These members provide utilities used to implement this class.

initialize

  Used by several of the constructors to create a spin button control.

  Overload 1

      protected:
      virtual void initialize()

Supported Platforms

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

  Overload 2

      protected:
      void
        initialize( unsigned long windowId,
                    const IWindowHandle& parent,
                    const IWindowHandle& owner,
                    unsigned long style,
                    const IRectangle& initial )

Exception

  IInvalidParameter | The parent window pointer specified was invalid. You must specify a valid IWindow pointer as the parent.

Supported Platforms

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

### Layout Support

Layout support members supply information used by the canvas classes to provide dialog-like behavior.

visibleRectangle

      public:
      virtual IRectangle visibleRectangle() const

  Returns the painted rectangle for the spin button where the painted rectangle of the control is different from its actual rectangle. The default behavior of this function returns the actual rectangle.

Supported Platforms

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

calcMinimumSize

      protected:
      virtual ISize calcMinimumSize() const

  Returns the recommended minimum size of this spin button control. The size is based on the font and the text limit.

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.

isSpinFieldValid

      public:
      virtual bool isSpinFieldValid(bool caseSensitive) const = 0

  Determines if the contents of the spin field are valid. It is a pure virtual function that derived classes use.

Supported Platforms

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

limit

      public:
      unsigned long limit() const

  Returns the number of characters permitted in the spin field.

Supported Platforms

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

setLimit

      public:
      virtual IBaseSpinButton&
        setLimit( unsigned long aNumber = 255 )

  Sets the number of characters permitted in the spin field. The Open Class Library defines this limit as 255 at the time of construction.

Exception

  IInvalidParameter | The specified limit value is invalid.

Supported Platforms

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

setMaster

      public:
      virtual IBaseSpinButton& setMaster(IBaseSpinButton& master)

  Defines a servant spin button's master. The spin button for which you call this function must be a servant.

Exception

  IInvalidRequest. | This spin button is not a servant.
  IInvalidParameter | The specified spin button is not a master spin button.
  IAccessError | The operating system's request to set the master spin button has failed.

Supported Platforms

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

Windows Considerations

  The presence or absence of the pmCompatible style must be the same for a master spin button and its associated servant spin buttons.

spinDown

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

  Spins the button down the specified number of times.

Exception

  IInvalidRequest | The spin value is invalid.

Supported Platforms

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

spinUp

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

  Spins the button up the specified number of times.

Exception

  IInvalidRequest | The spin value is invalid.

Supported Platforms

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

### Notification Members

Use these members to identify notifications sent to observer objects.

textId

      public:
      static INotificationId const textId

  Notification identifier provided to observers when the text value of a spin button changes.

Supported Platforms

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

valueId

      public:
      static INotificationId const valueId

  Notification identifier provided to observers when the value of a numeric spin button changes.

Supported Platforms

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

### Overrides

These members have been overridden to provide the correct behavior for this class.

enable

      public:
      virtual IBaseSpinButton& enable(bool enable = true)

  Enables or disables the window from accepting keyboard and mouse input.

Supported Platforms

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

### Read-Only Operations

These members query and modify the read-only mode in the spin button, which specifies if the user can directly change the spin field text.

disableDataUpdate

      public:
      virtual IBaseSpinButton& disableDataUpdate()

  Disables direct editing of the spin field data by the end user.

Supported Platforms

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

enableDataUpdate

      public:
      virtual IBaseSpinButton&
        enableDataUpdate( bool writeable = true )

  Enables or disables direct editing of spin field data by the end user.

Supported Platforms

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

isWriteable

      public:
      bool isWriteable() const

  If the user can type in the spin field, true is returned. Otherwise, false is returned.

Supported Platforms

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

### Styles

These style members provide a set of valid styles for the IBaseSpinButton class. Use these members to query and set spin button styles. You can use these styles with the styles in IWindow.

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

border3D

      public:
      static const Style border3D

  Adds an etched 3D border to the control. This style is ignored if the pmCompatible or noBorder styles are chosen.

Supported Platforms

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

centerAlign

      public:
      static const Style centerAlign

  Centers the text in the spin field.

Supported Platforms

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

fastSpin

      public:
      static const Style fastSpin

  Increases the spin speed of the spin button with time. The speed doubles every two seconds.

Supported Platforms

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

leftAlign

      public:
      static const Style leftAlign

  Left-justifies the text in the spin field.

Supported Platforms

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

master

      public:
      static const Style master

  Specifies that the spin button component consists of the following:

  - At least one single-line entry field (SLE) or spin field
  - Two arrows, the Up arrow and the Down arrow

  When the spin button contains more than one spin field, the master component contains the spin arrows. If the component contains only one spin field, it must be a master.

Supported Platforms

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

noBorder

      public:
      static const Style noBorder

  Suppresses the drawing of a border.

Supported Platforms

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

pmCompatible

      public:
      static const Style pmCompatible

  Creates a control with a Presentation Manager look and feel.

Supported Platforms

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

OS/2 Considerations

  This style is always set.

Windows Considerations

  Specify this style to create a control with a look and feel similar to the Presentation Manager spin button control.

  The presence or absence of the pmCompatible style must be the same for a master spin button and its associated servant spin buttons.

readOnly

      public:
      static const Style readOnly

  Prevents entering input into the spin field.

Supported Platforms

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

rightAlign

      public:
      static const Style rightAlign

  Right-justifies the text in the spin field.

Supported Platforms

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

servant

      public:
      static const Style servant

  Creates a multiple-field spin button by spinning servants from the master. This style requires that you call ISpinButton::setMaster to define the master spin field.

Supported Platforms

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

### IBaseSpinButton - Enumerations

Alignment

      enum Alignment { left,
                       right,
                       center }

  Use these enumerators to specify the alignment of text in the spin field:

  left
    Left-justifies the text or number.
  center
    Centers the text or number.
  right
    Right-justifies the text or number.

Supported Platforms

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

AIX Considerations

  Alignment enumeration is ignored. All spin buttons have left alignment.

### IBaseSpinButton - Inherited Member Functions and Data

#### Inherited Public Functions

  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

  -     virtual ISize parentSize() const

  -     static ISize parentSize(const IWindowHandle& windowHandle)

  -     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( const IRectangle& invalidRectangle,
                   bool immediate = false )

  -     virtual IWindow& refresh(RefreshType type = paintAll)

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

  -     virtual IEventResult sendEvent(const IEvent& event) 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

#### 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
          color( unsigned long colorArea,
                 const IColor& defaultColor ) 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,
                  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 )

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

  -     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,
                          const IInterest& interest )

  -     virtual IWindow& removeObserver(IObserver& observer)

  -     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

  IControl

  -     IControl()

#### Inherited Protected Data

  - None