### ISlider

  The ISlider class allows a user to set, display, or modify a value by moving the slider arm along the slider shaft.

  1 - Slider arm
    An arm the user can move along the shaft to set slider values. The slider arm shows the current value by its position on the slider shaft and can be changed by your code, as well as by the user.
  2 - Slider shaft
    A track for the slider arm to move along.
  3 - Slider buttons
    Buttons that move the slider arm one increment in the indicated direction.
  4 - Detent
    A user-selectable mark that can be placed anywhere along the slider scale.
  5 - Tick text
    A label indicating the value that the tick mark represents.
  6 - Tick mark
    A mark indicating an increment on the slider scale. Tick marks are evenly spaced along the shaft.

  Sliders let a user set values that have familiar increments, such as feet or degrees. You can also use sliders to blend colors or show the percentage of a task completed. Because the slider is interactive, detents and buttons are provided and the slider arm is oversized to facilitate interaction with the mouse.

  By default, this class creates a slider as follows:

  - Horizontally in the center of the control window
  - With the slider arm based on the left side
  - With the ticks and text above the shaft
  The horizontal slider has several alternate styles. You can do the following:
  - Place the ticks and text below the shaft
  - Place the slider at the top or bottom of the control window
  - Base the arm on either the right or left side

  A complementary set of options is available for creating a vertical slider. You can do the following:

  - Place the ticks and text left or right of the shaft
  - Place the slider at the left or right of the control window
  - Base the arm on the top or the bottom

  Other style options include the following:

  - Incremental-movement buttons at either end of the slider
  - Filling the slider shaft with color as the arm moves

  Handlers derived from the following classes handle events for ISlider objects:

  - IEditHandler
  - IFocusHandler
  - IKeyboardHandler
  - IMouseHandler
  - IPaintHandler
  - IResizeHandler
  - ISliderArmHandler
  - ISliderDrawHandler

#### Portability Considerations

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

  - Windows native control
    - setForgroundColor only changes the tick text.
    - setBackgroundColor only changes the background surrounding the progress indicator.
  - PM-compatible Windows control
    - setForgroundColor sets color for both tick text and tick marks.
    - setBackgroundColor works as designed.
  - OS/2
    - setForgroundColor sets color for tick text, not the tick marks.
    - setBackgroundColor works as designed.

#### AIX Considerations

  The AIX version does not support detents.

#### Windows Considerations

  The native Windows slider (that is, a slider constructed without the pmCompatible style) does not support detents.

### ISlider - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~ISlider

      public:
      virtual ~ISlider()

Supported Platforms

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

ISlider

  Overload 1

      public:
      ISlider( unsigned long windowId,
               IWindow* parent,
               IWindow* owner,
               const IRectangle& initial,
               unsigned long scale1NumberOfTicks,
               unsigned long scale1TickSpacing,
               unsigned long scale2NumberOfTicks,
               unsigned long scale2TickSpacing = 0,
               const Style& style = defaultStyle ( ) )

  You can construct an object of this class by specifying the number of ticks and spacing for both scale 1 and scale 2.

  windowId
    A unique ID for the slider control.
  parent
    The parent window.
  owner
    The owner window.
  initial
    A rectangle defining the size and placement of the slider window.
  scale1NumberOfTicks
    The number of ticks to place on scale 1 of the slider.
  scale1TickSpacing
    The number of pixels between ticks on scale 1.
  scale2NumberOfTicks
    The number of ticks to place on scale 2 of the slider.
  scale2TickSpacing
    The number of pixels between ticks on scale 2. The default is 0. Optional.
  style
    The style of the control. Optional.

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

AIX Considerations

  The constructors wrapping an existing progress indicator are not available in the AIX environment.

Windows Considerations

  The constructors wrapping an existing slider are not supported for native Windows sliders.

  Overload 2

      public:
      ISlider( unsigned long windowId,
               IWindow* parent,
               IWindow* owner,
               const IRectangle& initial,
               unsigned long numberOfTicks,
               unsigned long tickSpacing = 0,
               const Style& style = defaultStyle ( ) )

  You can construct objects of this class by using this primary constructor.
  windowId
    A unique ID for the slider control.
  parent
    The parent window.
  owner
    The owner window.
  initial
    A rectangle defining the size and placement of the slider window.
  numberOfTicks
    The number of ticks to place on the primary scale of the slider.
  tickSpacing
    The number of pixels between ticks. The default is 0. The default causes the slider to evenly space the ticks on the shaft. If you specify a value for tickSpacing, this constructor determines the length of the slider shaft based on this value and the number of ticks. Optional.
  style
    The style of the control. Optional.

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:
      ISlider(const IWindowHandle& handle)

  You can construct an object of this class by specifying a window handle.

  handle
    The window handle of the slider control.

Supported Platforms

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

AIX Considerations

  The constructors wrapping an existing progress indicator are not available in the AIX environment.

Windows Considerations

  You can use this constructor to wrapper a native Windows trackbar. ISlider objects constructed from native Windows trackbars will set the initial number of ticks to two and the tick spacing to zero. Call setTicks after wrappering the control to initialize the scale(s).

  Overload 4

      public:
      ISlider(unsigned long windowId, IWindow* parent)

  You can construct an object of this class by specifying a parent window and a slider control ID.

  windowId
    A unique ID for the slider control.
  parent
    The parent window.

Supported Platforms

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

Windows Considerations

  You can use this constructor to wrapper a native Windows trackbar. ISlider objects constructed from native Windows trackbars will set the initial number of ticks to two and the tick spacing to zero. Call setTicks after wrappering the control to initialize the scale(s).

### Arm Operations

Use these members to set and query attributes of the slider arm.

armSize

      public:
      ISize armSize() const

  Returns the size of the arm in pixels.

Supported Platforms

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

Windows Considerations

  Native Windows sliders (that is, sliders constructed without the pmCompatible style) do not support arm sizing. Therefore, this member function returns a default ISize object for native Windows sliders.

setArmSize

      public:
      virtual ISlider& setArmSize(const ISize& sliderArm)

  Sets the size of the arm in pixels.

  sliderArm
    Object that represents the horizontal and vertical dimensions of the slider arm.

Exception

  IInvalidParameter | The slider arm size requested is invalid.

Supported Platforms

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

Windows Considerations

  Native Windows sliders (that is, sliders constructed without the pmCompatible style) do not support arm sizing. Therefore, this member function has no effect for native Windows sliders.

### Attributes

Use this member to query the accessible attribute of objects of this class.

hasFocus

      public:
      virtual bool hasFocus() const

  Returns true if the slider has the input focus.

Supported Platforms

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

### Buttons Position

Use these members to query the position of slider buttons (if any).

buttonsPosition

      public:
      ButtonsPosition buttonsPosition() const

  Returns the current position of the slider's buttons for this slider object. The returned value is an enumerator provided by ButtonsPosition.

Supported Platforms

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

### Detent Operations

Use these members to set and query attributes for a slider's detents.

addDetent

      public:
      virtual unsigned long addDetent(unsigned long offset)

  Adds a detent to the slider at the specified pixel offset from the home position. Returns a unique ID, which is required for removing a detent or querying its position.

Exception

  IInvalidParameter | The detent offset requested is invalid.

Supported Platforms

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

Windows Considerations

  Native Windows sliders (that is, sliders constructed without the pmCompatible style) do not support detents. Therefore, this member function returns has no effect for native Windows sliders.

detentPosition

      public:
      virtual unsigned long
        detentPosition( unsigned long detentId ) const

  Returns the offset of a detent from the home position, in pixels.

  detentId
    The detent identifier whose position is to be returned.

Exception

  IInvalidParameter | The detent identifier is invalid.

Supported Platforms

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

Windows Considerations

  Native Windows sliders (that is, sliders constructed without the pmCompatible style) do not support detents. Therefore, this member function returns 0 for native Windows sliders.

removeDetent

      public:
      virtual ISlider& removeDetent(unsigned long detentId)

  Removes the specified detent from the slider.

  detentId
    Detent to remove.

Exception

  IInvalidParameter | The detent identifier is invalid.

Supported Platforms

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

Windows Considerations

  Native Windows sliders (that is, sliders constructed without the pmCompatible style) do not support detents. Therefore, this member function has no effect for native Windows sliders.

### Notification Members

Use this member to identify notifications sent to an observer object.

armTrackId

      public:
      static INotificationId const armTrackId

  Notification identifier provided to observers when the arm of an ISlider window is dragged with the mouse. ISlider provides the current arm position in the INotificationEvent::eventData field of the INotificationEvent.

Supported Platforms

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

### Styles

These style members provide a set of valid styles for this class. Use these members to query and set the slider styles. You can use these styles with the styles in the following classes:

- IWindow Styles
- IProgressIndicator Styles

convertToGUIStyle

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

  Converts a style object into a value appropriate for the presentation system. The default action is to return the base GUI styles for the platform. Extended styles, those defined by the application and the Open Class Library, are returned if you set extendedOnly to true.

Supported Platforms

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

defaultStyle

      public:
      static Style defaultStyle()

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

Supported Platforms

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

setDefaultStyle

      public:
      static void setDefaultStyle(const Style& style)

  Sets the default style for all subsequent sliders.

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

  This member function is not thread safe. In a multithreaded application, it should only be called when a conflict is not possible. A conflict can arise if you set the default style on one thread at the same time that it is being queried on another. In this situation, the query would take place while the style is in an unknown state.

  When you create a window class and do not specifically specify window styles in the constructor, the Open Class Library queries the default style. Therefore, the only safe place to call this member function is when no other application threads that create windows are active.

  Another way to avoid a conflict in a multithreaded application is to specifically specify window styles on window construction, rather than calling this member function.

Supported Platforms

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

buttonsBottom

      public:
      static const Style buttonsBottom

  Places the slider's buttons below the slider shaft.

Supported Platforms

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

buttonsLeft

      public:
      static const Style buttonsLeft

  Places the slider's buttons to the left of the slider shaft.

Supported Platforms

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

buttonsRight

      public:
      static const Style buttonsRight

  Places the slider's buttons to the right of the slider shaft.

Supported Platforms

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

buttonsTop

      public:
      static const Style buttonsTop

  Places the slider's buttons above the slider shaft.

Supported Platforms

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

classDefaultStyle

      public:
      static const Style classDefaultStyle

  Provides the original default style for this class, which is the following: IWindow::visible | IProgressIndicator::horizontal | IProgressIndicator::alignCentered | IProgressIndicator::homeLeft | IProgressIndicator::primaryScale1 | ISlider::buttonsLeft.

Supported Platforms

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

### ISlider - Enumerations

ButtonsPosition

      enum ButtonsPosition { top,
                             bottom,
                             left,
                             right,
                             none }

  Use these enumerators to specify the placement of the slider's buttons. The buttons are used to move the slider arm one increment in the selected direction.

  top
    Places the slider's buttons above the slider shaft.
  bottom
    Places the slider's buttons below the slider shaft.
  left
    Places the slider's buttons to the left of the slider shaft.
  right
    Places the slider's buttons to the right of the slider shaft.
  none
    The slider has no buttons.

Supported Platforms

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

### ISlider - 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

  IProgressIndicator

  -     virtual ~IProgressIndicator()

  -     Alignment alignment() const

  -     virtual unsigned long armPixelOffset() const

  -     virtual unsigned long armRange() const

  -     virtual unsigned long armTickOffset() const

  -     virtual IColor backgroundColor() const

  -     virtual IProgressIndicator& disableDrawItem()

  -     virtual IProgressIndicator& disableRibbonStrip()

  -     virtual IProgressIndicator& disableSnapToTick()

  -     virtual IProgressIndicator&
          enableDrawItem( bool enableDrawItem = true )

  -     virtual IProgressIndicator&
          enableNotification( bool enable = true )

  -     virtual IProgressIndicator&
          enableRibbonStrip( bool enableRibbonStrip = true )

  -     virtual IProgressIndicator&
          enableSnapToTick( bool enableSnapToTick = true )

  -     virtual IColor foregroundColor() const

  -     HomePosition homePosition() const

  -     IProgressIndicator( unsigned long windowId,
                            IWindow* parent,
                            IWindow* owner,
                            const IRectangle& initial,
                            unsigned long numberOfTicks,
                            unsigned long tickSpacing = 0,
                            const Style& style = defaultStyle ( ) )

  -     IProgressIndicator(const IWindowHandle& handle)

  -     IProgressIndicator( unsigned long windowId,
                            IWindow* parent,
                            IWindow* owner,
                            const IRectangle& initial,
                            unsigned long scale1NumberOfTicks,
                            unsigned long scale1TickSpacing,
                            unsigned long scale2NumberOfTicks,
                            unsigned long scale2TickSpacing = 0,
                            const Style& style = defaultStyle ( ) )

  -     IProgressIndicator(unsigned long windowId, IWindow* parent)

  -     bool isDrawItemEnabled() const

  -     bool isPMCompatible() const

  -     bool isRibbonStripEnabled() const

  -     bool isSnapToTickEnabled() const

  -     bool isVertical() const

  -     virtual IProgressIndicator&
          moveArmToPixel( unsigned long armOffset )

  -     virtual IProgressIndicator&
          moveArmToTick( unsigned long tickNumber )

  -     unsigned long numberOfTicks(Scale scale) const

  -     Scale primaryScale() const

  -     virtual IProgressIndicator&
          setBackgroundColor( const IColor& color )

  -     virtual IProgressIndicator&
          setForegroundColor( const IColor& color )

  -     virtual IProgressIndicator&
          setHomePosition( HomePosition home = homeBottomLeft )

  -     virtual IProgressIndicator&
          setLayoutDistorted( unsigned long layoutAttributesOn,
                              unsigned long layoutAttributesOff )

  -     virtual IProgressIndicator&
          setPrimaryScale( Scale primaryScale = scale1 )

  -     virtual IProgressIndicator&
          setShaftBreadth( unsigned long breadth )

  -     virtual IProgressIndicator&
          setShaftPosition( const IPoint& position )

  -     virtual IProgressIndicator&
          setTickLength( unsigned long tickNumber,
                         unsigned long length )

  -     virtual IProgressIndicator&
          setTickLength( unsigned long length )

  -     virtual IProgressIndicator&
          setTicks( Scale scale,
                    unsigned long numberOfTicks,
                    unsigned long tickSpacing = 0 )

  -     virtual IProgressIndicator&
          setTicks( unsigned long scale1NumberOfTicks,
                    unsigned long scale2NumberOfTicks,
                    unsigned long scale1TickSpacing = 0,
                    unsigned long scale2TickSpacing = 0 )

  -     virtual IProgressIndicator&
          setTickText( unsigned long tickNumber,
                       const IResourceId& text )

  -     virtual IProgressIndicator&
          setTickText( unsigned long tickNumber,
                       const char* text )

  -     virtual IPoint shaftPosition() const

  -     virtual ISize shaftSize() const

  -     unsigned long tickLength(unsigned long tickNumber) const

  -     IPoint tickPosition(unsigned long tickNumber) const

  -     unsigned long tickSpacing(Scale scale) const

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

  -     virtual const IWindow& postEvent(const IEvent& event) const

  -     virtual const IWindow&
          postEvent( EventType eventType,
                     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(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

  IProgressIndicator

  -     static const Style alignBottom

  -     static const Style alignCentered

  -     static const Style alignLeft

  -     static const Style alignRight

  -     static const Style alignTop

  -     static INotificationId const armChangeId

  -     static const Style border3D

  -     static const Style handleDrawItem

  -     static const Style homeBottom

  -     static const Style homeLeft

  -     static const Style homeRight

  -     static const Style homeTop

  -     static const Style horizontal

  -     static const Style pmCompatible

  -     static const Style primaryScale1

  -     static const Style primaryScale2

  -     static const Style ribbonStrip

  -     static INotificationId const scaleId

  -     static const Style snapToTickMark

  -     static const Style vertical

  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)

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

  -     virtual INotifier& removeObserver(IObserver& observer) = 0

  IProgressIndicator

  -     virtual ISize calcMinimumSize() const

  -     void
          initialize( unsigned long windowId,
                      IWindowHandle parent,
                      IWindowHandle owner,
                      unsigned long style,
                      const IRectangle& initial,
                      void* sliderData )

  -     void initialize(IWindowHandle handle)

  -     IProgressIndicator()

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

  IControl

  -     IControl()

#### Inherited Protected Data

  - None