### IGraphicPushButton

  The IGraphicPushButton class creates and manages a push button window with a graphical image as its label. The standard push button generates an ICommandEvent. However, the application can change the window style value to generate a help event or system command event. To change the push button event (that is, message) processing, call IPushButton::enableHelp and IPushButton::enableSystemCommand. These functions add or remove the styles IPushButton::help and IPushButton::systemCommand, respectively. For example:

      IGraphicPushButton pbCancel(ID_CANCEL, this, this, ID_SOMEBMP,
                                 IRectangle(10,10,80,22));

#### Portability Considerations

  AIX does not support dialog templates.

  Color

  There are restrictions for specifying the color of controls based on the platform and which style of control you use.

  - Windows control
    - setForgroundColor works as designed.
    - setBackgroundColor does not change the screen color.
    - backgroundColor query returns what was set.
  - OS/2 control
    - setForgroundColor works as designed.
    - setBackgroundColor works as designed.

### IGraphicPushButton - Member Functions and Data by Group

### Constructors & Destructor

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

~IGraphicPushButton

      public:
      virtual ~IGraphicPushButton()

Supported Platforms

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

IGraphicPushButton

  Overload 1

      public:
      IGraphicPushButton(unsigned long id, IWindow* parent)

  Creates a graphic push button object for the specified push button in a dialog template that has the icon or bitmap style.

Exception

  IInvalidParameter | The parent window pointer specified was invalid. You must specify a valid IWindow pointer as the parent.
  IAccessError | Control information could not be obtained from the system for the specified window. Verify that the specified ID and parentDialog combination refer to a valid push button control.

Supported Platforms

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

  Overload 2

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

  Creates a graphic push button with the specified window ID, parent and owner windows, screen position and size, icon, and window style. If you already have an icon handle, use this constructor to put the icon on a graphic push button.

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

  Overload 3

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

  Creates a graphic push button with the specified window ID, parent and owner windows, screen position and size, default resource library with its specified icon or bitmap ID, and window style. If you have not already loaded the bitmap or icon and you want to load it from the default resource library, use this constructor.

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

  Overload 4

      public:
      IGraphicPushButton(const IWindowHandle& handle)

  Creates a graphic push button object for an existing bitmap or icon push button control with the specified window handle.

Exception

  IAccessError | Control information could not be obtained from the system for the specified window. Verify that the specified handle refers to a valid push button control.

Supported Platforms

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

  Overload 5

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

  Creates a graphic push button with the specified window ID, parent and owner windows, screen position and size, bitmap, and window style. If you already have a bitmap handle, use this constructor to put the bitmap on the graphic push button.

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

  Overload 6

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

  Creates a graphic push button using the specified window ID, parent and owner windows, screen position and size, resource library with its specified icon or bitmap ID, and window style. If you have not already loaded the bitmap or icon and you want to load it from the resource library of your choice, use this constructor.

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

### Attributes

Use this member to query and set the accessible attributes of objects of this class.

enable

      public:
      virtual IWindow& enable(bool enableWindow = true)

  Enables the window to accept keyboard and mouse input.

Supported Platforms

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

### Graphic

A graphic is an icon or bitmap that is displayed on a graphic push button. You can query the type, handle, or window of the current graphic and set a new graphic.

bitmap

      public:
      IBitmapHandle bitmap() const

  Returns the handle of the currently set bitmap. If no bitmap is set into the graphic push button, the return value is an IBitmapHandle object with a 0 handle.

Supported Platforms

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

currentGraphicType

      public:
      GraphicType currentGraphicType() const

  Returns the current type of graphic set onto the graphic push button. The returned value is an enumerator provided by IGraphicPushButton::GraphicType.

Supported Platforms

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

graphicWindow

      public:
      IIconControl& graphicWindow() const

  Returns the IIconControl used for drawing the graphic.

Supported Platforms

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

AIX Considerations

  AIX does not support this function because there is no IIconControl associated with the graphic push button.

icon

      public:
      IPointerHandle icon() const

  Returns the handle of the currently set icon. If no icon is set into the graphic push button, the return value is an IPointerHandle object with a 0 handle.

Supported Platforms

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

setGraphic

  Changes the stored graphic to the specified value.

  Overload 1

      public:
      virtual IGraphicPushButton&
        setGraphic( const IResourceId& bitmapOrIconId )

  Use this overload if you have not already loaded the bitmap or icon and you want to load it from the resource library of your choice.

Supported Platforms

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

  Overload 2

      public:
      virtual IGraphicPushButton&
        setGraphic( const IPointerHandle& handle )

  Use this overload if you already have an icon handle for the icon you want to place on the graphic push button.

Supported Platforms

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

  Overload 3

      public:
      virtual IGraphicPushButton&
        setGraphic( unsigned long bitmapOrIconId )

  Use this overload if you have not already loaded the bitmap or icon and you want to load it from the default resource library.

Supported Platforms

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

  Overload 4

      public:
      virtual IGraphicPushButton&
        setGraphic( const IBitmapHandle& handle )

  Use this overload if you already have a bitmap handle for the bitmap you want to place on the graphic push button.

Supported Platforms

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

### Graphic Size

Use these members to query and modify the way the graphic image is displayed in a graphic push button object.

disableSizeImageToWindow

      public:
      virtual IGraphicPushButton& disableSizeImageToWindow()

  Clears the sizeImageToWindow style flag.

Supported Platforms

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

disableSizeWindowToImage

      public:
      virtual IGraphicPushButton& disableSizeWindowToImage()

  Clears the sizeWindowToImage style flag.

Supported Platforms

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

enableSizeImageToWindow

      public:
      virtual IGraphicPushButton&
        enableSizeImageToWindow( bool enable = true )

  Sets or clears the sizeImageToWindow style flag.

Supported Platforms

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

enableSizeWindowToImage

      public:
      virtual IGraphicPushButton&
        enableSizeWindowToImage( bool enable = true )

  Sets or clears the sizeWindowToImage style flag.

Supported Platforms

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

isSizeImageToWindowEnabled

      public:
      virtual bool isSizeImageToWindowEnabled() const

  Returns true if the sizeImageToWindow style flag is currently set.

Supported Platforms

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

isSizeWindowToImageEnabled

      public:
      virtual bool isSizeWindowToImageEnabled() const

  Returns true if the sizeWindowToImage style flag is currently set.

Supported Platforms

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

### Layout Support

Layout is information used by the canvas classes to provide dialog-like behavior.

calcMinimumSize

      protected:
      virtual ISize calcMinimumSize() const

  Returns the recommended minimum size of this graphic push button control. The size is based on the actual size of the stored graphic.

Supported Platforms

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

### Margins

The margin is the area between the graphic and the outside border of the push button. If you have not set the sizeToGraphic style, you can change the size of this area.

marginSize

      public:
      ISize marginSize() const

  Returns the currently set margin size.

Supported Platforms

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

setMarginSize

      public:
      IGraphicPushButton& setMarginSize(const ISize& size)

  Changes the size of the margin between the button outline and the graphic. The height of the ISize will be used for both the top and bottom of the button, and the width value of the ISize will be used for the left and right sides. The default value for the margin is a system dependent value that leaves no margin. Because of this, you should use the value marginSize added to the margin you desire as the argument to this function.

Supported Platforms

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

### Styles

These style members provide valid styles for IGraphicPushButton::setDefaultStyle and for the constructor of the IGraphicPushButton class.

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 it 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 graphic push buttons. Use the styles provided by IGraphicPushButton 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

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

Supported Platforms

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

sizeImageToWindow

      public:
      static const Style sizeImageToWindow

  Use this style to control the automatic stretching or shrinking of the graphical image to fit the window. If you set this style, the image is resized to cover the face of the window. If you do not set this style, the image is rendered in the center of the window without resizing. If the image is larger that the window, it is clipped at the boundaries of the window label area.

Supported Platforms

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

sizeWindowToImage

      public:
      static const Style sizeWindowToImage

  Use this style to cause the window to be automatically resized to fit the image when you set a new image. The automatic resizing only occurs when a new image is set, such as during construction of the window or with the setGraphic function. Note that if there is text set in the window, the window is sized to accommodate the larger of the text and the image.

  This style does not affect the behavior of the window if you use the sizeTo function after setting the image. You can use the sizeImageToWindow style to control automatic stretching or shrinking of the image. You can also set an IAlignmentAttribute for the window to control automatic resizing of the window by canvas classes such as IMultiCellCanvas.

Supported Platforms

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

### IGraphicPushButton - Enumerations

GraphicType

      enum GraphicType { bitmapType,
                         iconType }

  These enumerators specify the current type of graphic set onto the graphic push button:

  bitmapType
    Specifies that a bitmap is set onto the graphic push button. If you do not specify a handle or resource ID when constructing the graphic push button object, an IBitmapHandle is the default graphic. This is the default style.
  iconType
    Specifies an icon is set onto the graphic push button.

Supported Platforms

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

### IGraphicPushButton - Inherited Member Functions and Data

#### Inherited Public Functions

  IButton

  -     virtual ~IButton()

  -     bool allowsMouseClickFocus() const

  -     virtual IColor backgroundColor() 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()

  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

  IPushButton

  -     virtual ~IPushButton()

  -     virtual IPushButton& addBorder(bool add = true)

  -     virtual IPushButton& addEmphasis(bool enable = true)

  -     virtual IPushButton& disableDefault()

  -     virtual IPushButton& disableHelp()

  -     virtual IPushButton& disableSystemCommand()

  -     virtual IPushButton& enableDefault(bool enable = true)

  -     virtual IPushButton& enableHelp(bool enable = true)

  -     virtual IPushButton&
          enableSystemCommand( bool enable = true )

  -     bool hasBorder() const

  -     bool hasEmphasis() const

  -     IPushButton(unsigned long id, IWindow* parent)

  -     IPushButton(const IWindowHandle& handle)

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

  -     bool isDefault() const

  -     bool isHelp() const

  -     bool isSystemCommand() const

  -     virtual IPushButton& removeBorder()

  -     virtual IPushButton& removeEmphasis()

  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 char* text)

  -     virtual ITextControl& setText(const IResourceId& text)

  -     virtual IString text() const

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

  -     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 IWindow& disableGroup()

  -     IWindow& disableMinimumSizeCaching()

  -     virtual IWindow& disableNotification()

  -     virtual IWindow& disableTabStop()

  -     virtual IWindow& disableUpdate()

  -     bool
          dispatchRemainingHandlers( IEvent& event,
                                     bool callDefProc = 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 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

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

  IButton

  -     static INotificationId const buttonClickId

  -     static const Style noPointerFocus

  IPushButton

  -     static const Style defaultButton

  -     static const Style help

  -     static const Style noBorder

  -     static const Style systemCommand

  ITextControl

  -     static INotificationId const textId

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

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

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

  IButton

  -     IButton()

  IControl

  -     IControl()

  IPushButton

  -     IPushButton()

  -     virtual bool passEventToOwner(IEvent& event)

  ITextControl

  -     ITextControl()

#### Inherited Protected Data

  - None