### IAnimatedButton

  The IAnimatedButton class creates and manages the animated button control window. A set of bitmaps are specified for the button to use for animation. During animation, the button cycles through the bitmaps on a time interval.

  The bitmap set can be specified by the application by providing the resource ID of the first bitmap and the number of bitmaps to be used. The bitmap set can also be specified by using one of the animated bitmap sets that are provided by the library for standard multimedia actions.

  If the button text is not visible, the current animated bitmap is centered in the button, but it is not resized. If the button text is visible, the current animated bitmap is centered horizontally and positioned vertically along the top of the button with the text centered horizontally immediately below the bitmap. No clipping is done for the bitmap, so it can paint outside the button border if the button is too small.

### IAnimatedButton - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class. You cannot copy or assign IAnimatedButton objects because both the copy constructor and assignment operator are private functions.

~IAnimatedButton

      public:
      virtual ~IAnimatedButton()

Supported Platforms

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

IAnimatedButton

  Overload 1

      public:
      IAnimatedButton(const IWindowHandle& handle)

  Creates an IAnimatedButton object for the specified button control that has a user-button style.

Supported Platforms

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

  Overload 2

      public:
      IAnimatedButton( unsigned long id,
                       IWindow* parent,
                       IWindow* owner,
                       const IRectangle& initial = IRectangle ( ),
                       const Style& style = defaultStyle ( ) )

  Creates an IAnimatedButton with the specified window ID, parent and owner windows, screen position and size, and window style.

Exception

  IInvalidParameter | The parent window pointer is invalid.

Supported Platforms

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

### Animation

Use these members to control the animation of the button.

animationRate

      public:
      unsigned long animationRate() const

  Returns the current animation rate for the button. The animation rate is specified in thousandths of a second.

Supported Platforms

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

disableAnimateWhenLatched

      public:
      virtual IAnimatedButton& disableAnimateWhenLatched()

  Removes the animateWhenLatched style for the button.

Supported Platforms

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

enableAnimateWhenLatched

      public:
      virtual IAnimatedButton&
        enableAnimateWhenLatched( bool enable = true )

  Sets the animateWhenLatched style for the button.

Supported Platforms

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

isAnimatedWhenLatched

      public:
      bool isAnimatedWhenLatched() const

  Returns true if the animateWhenLatched style is set.

Supported Platforms

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

isAnimationStarted

      public:
      bool isAnimationStarted() const

  Returns true if the button is currently animated.

Supported Platforms

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

latch

      public:
      virtual IAnimatedButton&
        latch( bool latched = true,
               bool refresh = true )

  Puts the button in a latched or unlatched state based on the latched parameter. The value of the refresh parameter determines if the button is painted.

Supported Platforms

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

setAnimationRate

      public:
      virtual IAnimatedButton&
        setAnimationRate( unsigned long newRate = 1000 )

  Sets the animation rate for the button in thousandths of a second. The default animation rate is one second.

  The animation rate represents the amount of time that each bitmap is displayed when the button is animated.
  Note: This class uses the ITimer class to control animation. Refer to the ITimer class for more information.

Supported Platforms

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

startAnimation

      public:
      virtual IAnimatedButton&
        startAnimation( unsigned long index = 0 )

  Starts the animation of the button. If you specify an index, the bitmap at the index is the first bitmap displayed.

Exception

  IInvalidParameter | The specified bitmap index is invalid.

Supported Platforms

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

stopAnimation

      public:
      virtual IAnimatedButton& stopAnimation()

  Stops the animation of the button.

Supported Platforms

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

### Bitmaps

Use these members to set and query the bitmaps that are displayed for a button.

bitmap

      public:
      virtual IBitmapHandle bitmap(unsigned long index = 0) const

  Returns the handle of the specified bitmap.

Supported Platforms

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

bitmapCount

      public:
      virtual unsigned long bitmapCount() const

  Returns the number of bitmaps specified for the button.

Supported Platforms

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

currentBitmapIndex

      public:
      virtual unsigned long currentBitmapIndex() const

  Returns the index of the bitmap that is currently displayed for the button.

Supported Platforms

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

setBitmaps

  Sets the bitmaps to be used for the button. If this function is called more than once, the button uses only the bitmaps specified in the last call.

  Overload 1

      public:
      virtual IAnimatedButton&
        setBitmaps( const IResourceId& firstBitmap,
                    unsigned long count )

  The bitmaps must be sequential, starting with the value specified as the first bitmap ID and continuing for the specified bitmap count.

Supported Platforms

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

  Overload 2

      public:
      virtual IAnimatedButton&
        setBitmaps( AnimatedBitmaps bitmaps )

  This function loads the specified resource bitmap set that the library provides.

Exception

  IInvalidParameter | The animated bitmap set identifier is invalid.

Supported Platforms

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

setCurrentBitmapIndex

      public:
      virtual IAnimatedButton&
        setCurrentBitmapIndex( unsigned long index = 0 )

  Sets the index of the bitmap that is currently displayed for the button.

Supported Platforms

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

### Layout Support

These members manage the layout of an animated button.

calcMinimumSize

      protected:
      virtual ISize calcMinimumSize() const

  Returns the recommended minimum size of this animated button control. The size is based on the bitmap, button text, and the current font.

Supported Platforms

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

### Styles

Use these style members to set and query IAnimatedButton styles. You can use these styles with the styles defined by the following nested classes:

- IWindow::Styles
- IButton::Styles
- ICustomButton::Styles

convertToGUIStyle

      public:
      virtual unsigned long
        convertToGUIStyle( const IBitFlag& style,
                           bool extendedOnly = false ) const

  Converts style bits into the style value that can be processed by the GUI. The default action is to return the base GUI style for the platform. Extended styles defined by the Open Class Library can be returned by setting the extendedOnly parameter 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 animated buttons.

  style
    Use the styles provided by IAnimatedButton::Style 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

animateWhenLatched

      public:
      static const Style animateWhenLatched

  Starts animation automatically when the button is in the latched state and stops animation when the button is in the unlatched (default) state.

Supported Platforms

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

classDefaultStyle

      public:
      static const Style classDefaultStyle

  Specifies the original default style for this class, which is IWindow::visible.

Supported Platforms

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

### IAnimatedButton - Enumerations

AnimatedBitmaps

      enum AnimatedBitmaps { rewind,
                             stop,
                             pause,
                             play,
                             fastForward,
                             record,
                             mute,
                             trackAdvance,
                             trackReverse,
                             stepForward,
                             stepBackward,
                             scanForward,
                             scanBackward,
                             eject,
                             volumeUp,
                             volumeDown }

  Enumeration that defines identifiers for each of the provided animated bitmap resource sets. Open Class Library provides these bitmaps for standard multimedia operations.

Supported Platforms

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

### IAnimatedButton - Inherited Member Functions and Data

#### Inherited Public Functions

  IButton

  -     virtual ~IButton()

  -     bool allowsMouseClickFocus() const

  -     virtual IButton& click()

  -     virtual IColor disabledForegroundColor() const

  -     virtual IButton& disableMouseClickFocus()

  -     virtual IButton& enableMouseClickFocus(bool enable = true)

  -     virtual IButton& enableNotification(bool enable = true)

  -     virtual IColor foregroundColor() const

  -     virtual IButton& highlight(bool highlight = true)

  -     virtual IColor hiliteBackgroundColor() const

  -     virtual IColor hiliteForegroundColor() const

  -     bool isHighlighted() const

  -     virtual IButton& setText(const IResourceId& text)

  -     virtual IButton& setText(const char* text)

  -     virtual IButton& unhighlight()

  IControl

  -     virtual ~IControl()

  ICustomButton

  -     virtual ~ICustomButton()

  -     virtual IColor backgroundColor() const

  -     ISize characterSize() const

  -     virtual ICustomButton& disable()

  -     virtual ICustomButton& disableAutoLatch()

  -     virtual ICustomButton& disableLatching()

  -     virtual ICustomButton& enable(bool enableWindow = true)

  -     virtual ICustomButton& enableAutoLatch(bool enable = true)

  -     virtual ICustomButton& enableLatching(bool enable = true)

  -     virtual IFont font() const

  -     ICustomButton(const IWindowHandle& handle)

  -     ICustomButton( unsigned long id,
                       IWindow* parent,
                       IWindow* owner,
                       const IRectangle& initial = IRectangle ( ),
                       const Style& style = defaultStyle ( ) )

  -     virtual bool isAutoLatchEnabled() const

  -     virtual bool isLatched() const

  -     virtual bool isLatchedBackgroundColorHalftone() const

  -     virtual bool isLatchingEnabled() const

  -     virtual ICustomButton&
          latch( bool latched = true,
                 bool refresh = true )

  -     virtual IColor latchedBackgroundColor() const

  -     virtual IColor latchedForegroundColor() const

  -     virtual ICustomButton& resetBackgroundColor()

  -     virtual ICustomButton& resetFont()

  -     virtual ICustomButton& resetLatchedBackgroundColor()

  -     virtual ICustomButton& resetLatchedForegroundColor()

  -     virtual ICustomButton&
          setBackgroundColor( const IColor& color )

  -     virtual ICustomButton& setFont(const IFont& font)

  -     virtual ICustomButton&
          setLatchedBackgroundColor( const IColor& color,
                                     bool halftone = true )

  -     virtual ICustomButton&
          setLatchedForegroundColor( const IColor& color )

  -     virtual ICustomButton&
          setLayoutDistorted( unsigned long layoutAttributeOn,
                              unsigned long layoutAttributeOff )

  -     virtual ICustomButton& setText(const IResourceId& text)

  -     virtual ICustomButton& setText(const char* text)

  -     ICustomButton& setUserData(unsigned long data)

  -     virtual IString text() const

  -     virtual ICustomButton& unlatch()

  -     unsigned long userData() const

  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

  ITextControl

  -     virtual ~ITextControl()

  -     static bool clipboardHasTextFormat()

  -     virtual ISize displaySize(const char* text = 0) const

  -     virtual ITextControl&
          setLayoutDistorted( unsigned long layoutAttributeOn,
                              unsigned long layoutAttributeOff )

  -     virtual ITextControl& setText(const IResourceId& text)

  -     virtual ITextControl& setText(const char* text)

  -     virtual unsigned long textLength() 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)

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

  -     virtual bool hasPointerCaptured() const

  -     unsigned long helpId() const

  -     virtual IWindow& hide()

  -     virtual IWindow& hideSourceEmphasis()

  -     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( unsigned long eventId,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

  -     virtual const IWindow& postEvent(const IEvent& event) 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(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 )

  -     virtual IRectangle visibleRectangle() const

  -     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

  ICustomButton

  -     static const Style autoLatch

  -     static const Style latchable

  -     static INotificationId const latchId

  IButton

  -     static INotificationId const buttonClickId

  -     static const Style noPointerFocus

  ITextControl

  -     static INotificationId const textId

#### Inherited Protected Functions

  ICustomButton

  -     ICustomButton& addDefaultDrawHandler()

  -     ICustomButton()

  -     virtual bool passEventToOwner(IEvent& event)

  -     ICustomButton& removeDefaultDrawHandler()

  -     virtual ICustomButton&
          setColor( unsigned long colorArea,
                    const IColor& color )

  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,
                  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,
                  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,
                  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 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 short dataValue )

  -     IWindow& setWindowData(long index, unsigned long dataValue)

  -     IWindow&
          startHandlingEventsFor( unsigned long identifier,
                                  IWindow* parent )

  -     IWindow&
          startHandlingEventsFor( const IWindowHandle& windowHandle )

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

  -     virtual INotifier&
          removeObserver( IObserver& observer,
                          const IInterest& interest )

  IButton

  -     IButton()

  IControl

  -     IControl()

  ITextControl

  -     ITextControl()

#### Inherited Protected Data

  - None