### ICollectionViewListBox

  The ICollectionViewListBox template class provides a view of an ordered collection, as items in a list box. Template class Element is the type of objects in the collection, and template class Collection is the type of collection. The sequence of elements is the same between the ordered collection and list box. The ICollectionViewListBox interface consists of the following:

  - Population and query members for accessing the collection
  - The collection-reporting protocol for receiving and handling collection updates
  - The string generator for translating elements to IStrings
  - Selection members
  - Notification members

  The setItems member populates the list box from collection elements. The items member returns the collection being viewed.

  The collection-reporting protocol refers to the virtual member functions, such as elementsChanged, that handle reported changes in the observed collection. ICollectionViewListBox objects observe the currently viewed collection (initialized on setItems) and report collection updates via calls to the collection-reporting members. Then, the collection-reporting members update the list box.

  The string generator object translates collection elements to their IString representations. The default string generator assumes that the collection elements natively support operator-> or are Object* objects, where Object has an asString member function. The collection-reporting members use this string generation mechanism in their processing.

  The selection members query and manipulate the selection state of the list box based on collection elements. This includes the following:

  - Selecting or deselecting based on an item's collection position
  - Querying what collection elements correspond to the selected items in the list box

  An ICollectionViewListBox object sends notifications so that observers can monitor, and process the following events:

  - The viewed collection is replaced.
  - The extended selection style attribute changes.
  - An item changes in the list box (due to an update of the corresponding collection element).

  The ICollectionViewListBox class design supports use primarily by the Visual Builder. It establishes a direct link between a collection and its visual representation in a list control. If using this class outside the Visual Builder pay particular attention to the following design requirements:

  - The collection elements must be pointers.
  - The collection element class must derive from IStandardNotifier.
  - You must use the collection classes enabled for the Visual Builder. These collection templates have an IV prefix and are defined in corresponding ivxxx.h header files.
  - Since the collection elements are pointers, if you require a string generator, use IStringGeneratorRefMemberFn objects.

### ICollectionViewListBox - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~ICollectionViewListBox

      public:
      virtual ~ICollectionViewListBox()

Supported Platforms

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

ICollectionViewListBox

  Overload 1

      public:
      ICollectionViewListBox( unsigned long identifier,
                              IWindow* parent,
                              const IStringGenerator < Element >& stringGenerator = IStringGenerator < Element > ( ) )

  You can construct objects of this class by using the parent window and optional string generator parameters.

  id
    A list box control ID.
  parent
    The parent window.
  stringGenerator
    The initial string generator for the collection view. Optional.

Supported Platforms

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

  Overload 2

      public:
      ICollectionViewListBox( const IWindowHandle& handle,
                              const IStringGenerator < Element >& stringGenerator = IStringGenerator < Element > ( ) )

  You can construct objects of this class by using the handle of an existing list box and optional string generator parameters.

  handle
    The window handle of an existing list box control.
  stringGenerator
    The initial string generator for the collection view. Optional.

Supported Platforms

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

  Overload 3

      public:
      ICollectionViewListBox( unsigned long identifier,
                              IWindow* parent,
                              IWindow* owner,
                              const IRectangle& initial = IRectangle ( ),
                              const IBaseListBox::Style& style = IBaseListBox::defaultStyle ( ),
                              const IStringGenerator < Element >& stringGenerator = IStringGenerator < Element > ( ) )

  You can construct objects of this class by using the parent window, owner window, optional size and location, optional style, and optional string generator parameters.

  id
    A list box control ID.
  parent
    The parent window.
  owner
    The owner window.
  initial
    A rectangle for the control. It specifies the initial position and size of the object you are constructing. Optional.
  style
    The initial style for the control. The default is IBaseListBox::classDefaultStyle. Optional.
  stringGenerator
    The initial string generator for the collection view. Optional.

  This creates the specified list box control and an object for it.

Supported Platforms

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

### Collection

Use these members to set and retrieve the collection currently being viewed by the ICollectionViewListBox object.

items

      public:
      virtual Collection* items() const

  Returns the collection currently being viewed. Typically, items is used by the collection-reporting members to retrieve the collection that this control is responsible for viewing.

Supported Platforms

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

setItems

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        setItems( Collection* collection )

  Changes the underlying viewed collection for the list box. Effectively, this repopulates the list box with items corresponding to the elements in the new collection. This is the only direct way to populate the ICollectionViewListBox object's list box. All other changes to list box items result from changes to the underlying collection elements reported via the collection-reporting protocol.

  collection
    A pointer to a collection. ICollectionViewListBox supports collections that are descendents of IPartOrderedCollection.

Supported Platforms

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

### Collection-Reporting Protocol

Use these members to handle reported changes in the underlying ordered collection. As a set, they are a protocol through which changes in the collection are reported and subsequently processed via updates to the control, in this case, the list box. ICollectionViewComboBox uses this same protocol.
Note: The ordered collection is enabled for notification.

collectionReplaced

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        collectionReplaced()

  Indicates that a new collection is being observed. Effectively, a call to this member notifies an ICollectionViewListBox object that all items in the list box were replaced. The member's default behavior sends the ICollectionViewListBox::itemsId notification to all observers of this ICollectionViewListBox object.
  Note: The collection-reporting protocol calls this member after updating all items in the list box. The elementsChanged member handles the actual updates to the list box items.

Supported Platforms

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

elementAdded

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        elementAdded( unsigned long position,
                      const Element& element )

  Indicates that an element was added to the collection at the specified position. Effectively, this member notifies ICollectionViewListBox that an item must be added to the list box. The default behavior generates a string for the collection element, using the IStringGenerator object, and inserts the generated string into the list box.

  position
    A 1-based index reference to the added collection element.
  element
    The new collection element.

Supported Platforms

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

elementChanged

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        elementChanged( unsigned long position,
                        const Element& element )

  Indicates that a collection element at the specified position changed its state. Effectively, this member notifies an ICollectionViewListBox object that the list box item corresponding to the collection element needs updating. The default behavior regenerates the string representation for this collection element and replaces the corresponding item in the list box.

  position
    A 1-based index reference to the changed collection element.
  element
    The collection element that changed.

Supported Platforms

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

elementDeleted

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        elementDeleted( unsigned long position )

  Indicates that a collection element was deleted at the specified position. Effectively, this member notifies an ICollectionViewListBox object that the corresponding item must be deleted from the list box. The default behavior deletes the list box item.

  position
    A 1-based index that specifies the collection position of the deleted collection element prior to the delete.

Supported Platforms

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

elementsChanged

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        elementsChanged()

  Indicates that at least one element and possibly all elements in the viewed collection have changed. Effectively, this member notifies an ICollectionViewListBox object that all items in the list box need updating based on the current state of the viewed collection. The default behavior deletes all items from the list box and repopulates that list box from the collection's contents.

Supported Platforms

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

### Selection

Use these members to retrieve and manipulate the selection state of an ICollectionViewListBox object. These members act on the list box but use the collection as their reference for parameters and return values. The parameters and return values are collection positions or collection elements. The selection actions include the following:

- Selecting or deselecting an item
- Retrieving the selected item
- Retrieving the selected items as a collection

Note: A collection operates as if it is a 1-based array of items. The collection position is such an index.

deselect

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        deselect( unsigned long collectionPosition )

  Deselects the item in the list box corresponding to the collection element at collectionPosition.

  collectionPosition
    A 1-based index reference to a collection element.
  Note: In collections, the collection position is a 1-based index (the first item is item 1).

Supported Platforms

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

enableExtendedSelect

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        enableExtendedSelect( bool extended = true )

  Enables or disables the style IBaseListBox::extendedSelect for the list box and sends the IBaseCollectionListBox::extendedSelectChangedId notification.

Supported Platforms

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

select

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        select( unsigned long collectionPosition,
                bool select = true )

  Selects or deselects the item in the list box corresponding to the collection element at collectionPosition.

  collectionPosition
    A 1-based index reference to a collection element.
  select
    If you specify true, based on the list box's selection style, the following occurs:
    Single selection
      The specified item is selected and any previously selected item is deselected.
    Multiple selection
      The specified item is selected.
    Extended selection
      The specified item is selected.
    The default is true.
    Note: In all cases, if you specify false, the item is deselected.
  Note: In collections, the collection position is a 1-based index (the first item is item 1).

Supported Platforms

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

selectedCollectionPosition

      public:
      virtual unsigned long selectedCollectionPosition()

  Returns the collection position (1-based index) corresponding to the selected item in the list box portion of the combination box. For single-selection list boxes, the index of the selected item is returned. For multiple-selection or extended-selection list boxes, the index of the first selected item is returned.
  Note: If no item is selected, noSelection is returned.

Supported Platforms

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

selectedElement

      public:
      virtual Element selectedElement() const

  Returns the collection element corresponding to the selected item in the list box. For single-selection list boxes, the element corresponding to the selected item is returned. For multiple-selection or extended-selection list boxes, the element corresponding to the first selected item is returned.
  Note: If no item is selected, an exception is thrown.

Exception

  IInvalidRequest | There are no list box items selected.

Supported Platforms

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

selectedElements

      public:
      virtual ICollectionViewListBox < Element , Collection >&
        selectedElements( Collection& elements )

  Returns a collection of elements corresponding to the selected list box items. It deletes all items from the collection parameter before filling it with the elements corresponding to the selected list box items. Thus, if no items are selected, an empty collection is returned.

  elements
    A collection for returning elements corresponding to the selected list box items.

Supported Platforms

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

noSelection

      public:
      static const unsigned long noSelection

  Indicates no list box item is selected. ICollectionViewListBox::selectedCollectionPosition returns this value.

Supported Platforms

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

### String Generator

Use these members to set and retrieve the string generator associated with the ICollectionViewListBox object. The default string generator uses Element asString to return a string. This member assumes that Element natively supports operator-> or is an Object* object, where Object has an asString member function.

setStringGenerator

      public:
      virtual IStringGenerator < Element >&
        setStringGenerator( const IStringGenerator < Element >& stringGenerator )

  Replaces the string generator associated with an ICollectionViewListBox object. The string generator provides strings for collection elements for use as items in the list box portion of the combination box. Typically, a string generator contains a IStringGeneratorMemberFn, which is an Element member function. The string generator generates strings by calling the contained member function. Thus, use this member to replace the Element member function used to produce strings for the collection view items.

  stringGenerator
    A string generator.

Supported Platforms

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

stringGenerator

      public:
      virtual IStringGenerator < Element >& stringGenerator()

  Retrieves the string generator associated with an ICollectionViewListBox object. The string generator provides strings for collection elements for use as list box items.
  Note: IStringGenerator supports copying or assigning IStringGenerator objects; it handles the proper reference-counting of the optionally contained IStringGeneratorFn.

Supported Platforms

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

### ICollectionViewListBox - Inherited Member Functions and Data

#### Inherited Public Functions

  IBaseListBox

  -     virtual ~IBaseListBox()

  -     virtual IColor backgroundColor() const

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

  -     virtual unsigned long count() const

  -     static Style defaultStyle()

  -     virtual IBaseListBox& deselect(unsigned long index)

  -     virtual IBaseListBox& deselectAll()

  -     virtual IBaseListBox& disableDrawItem()

  -     virtual IBaseListBox& disableExtendedSelect()

  -     virtual IBaseListBox& disableMultipleSelect()

  -     virtual IBaseListBox& disableNoAdjustPosition()

  -     virtual IString elementAt(const Cursor& cursor) const

  -     virtual IBaseListBox& enableDrawItem(bool enable = true)

  -     virtual IBaseListBox&
          enableExtendedSelect( bool enable = true )

  -     virtual IBaseListBox&
          enableMultipleSelect( bool enable = true )

  -     virtual IBaseListBox&
          enableNoAdjustPosition( bool enable = true )

  -     virtual IBaseListBox&
          enableNotification( bool enable = true )

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

  -     IBaseListBox(const IWindowHandle& handle)

  -     IBaseListBox(unsigned long id, IWindow* parent)

  -     bool isDrawItem() const

  -     virtual bool isEmpty() const

  -     bool isExtendedSelect() const

  -     bool isHorizontalScroll() const

  -     bool isMultipleSelect() const

  -     bool isNoAdjustPosition() const

  -     virtual bool isSelected(unsigned long index) const

  -     virtual unsigned long itemHandle(unsigned long index) const

  -     unsigned long itemHeight(unsigned long index = 0) const

  -     virtual IString itemText(unsigned long index) const

  -     virtual unsigned long
          locateText( const char* searchString,
                      bool caseSensitive = true,
                      SearchType search = exactMatch,
                      unsigned long index = first ) const

  -     unsigned long minimumCharacters() const

  -     unsigned long minimumRows() const

  -     virtual unsigned long numberOfSelections() const

  -     virtual IBaseListBox& scrollToItem(unsigned long index)

  -     virtual IBaseListBox&
          select( unsigned long index,
                  bool select = true )

  -     virtual IBaseListBox& selectAll()

  -     virtual long selection() const

  -     virtual IBaseListBox&
          setBackgroundColor( const IColor& color )

  -     static void setDefaultStyle(const Style& style)

  -     virtual IBaseListBox&
          setForegroundColor( const IColor& color )

  -     virtual IBaseListBox&
          setItemHandle( unsigned long index,
                         unsigned long handle )

  -     virtual IBaseListBox&
          setItemHeight( unsigned long newHeight )

  -     virtual IBaseListBox&
          setItemText( unsigned long index,
                       const char* string )

  -     virtual IBaseListBox&
          setItemText( unsigned long index,
                       const IResourceId& string )

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

  -     virtual IBaseListBox&
          setMinimumCharacters( unsigned long minimumCharacters )

  -     virtual IBaseListBox&
          setMinimumRows( unsigned long minimumRows )

  -     virtual IBaseListBox& setTop(unsigned long index)

  -     virtual IWindow& show(bool showList = true)

  -     virtual unsigned long top() const

  IControl

  -     virtual ~IControl()

  INotifier

  -     virtual ~INotifier()

  -     virtual INotifier& disableNotification() = 0

  -     virtual INotifier&
          enableNotification( bool enable = true ) = 0

  -     INotifier()

  -     virtual bool isEnabledForNotification() const = 0

  -     virtual INotifier&
          notifyObservers( const INotificationEvent& event ) = 0

  -     virtual INotifier&
          notifyObserversAsync( const INotificationEvent& event )

  -     const IThreadId& threadId() const

  IWindow

  -     virtual ~IWindow()

  -     IAccelTblHandle acceleratorHandle() const

  -     IAcceleratorTable acceleratorTable() const

  -     virtual IColor activeColor() const

  -     IWindow&
          addOrReplaceAttribute( const IAttributeName& name,
                                 const IAttribute& attribute )

  -     IWindow&
          adoptWindowData( const DataHandle& typeToken,
                           IWindowData* windowData )

  -     virtual IString asDebugInfo() const

  -     virtual IString asString() const

  -     IAttributeName
          attributeNameAt( const AttributeCursor& cursor ) const

  -     const IAttribute*
          attributeWithName( const IAttributeName& name,
                             ESearchType search = kWindowOnly ) const

  -     virtual IWindow& capturePointer(bool capture = true)

  -     ISize characterSize() const

  -     IWindowHandle childAt(const ChildCursor& cursor) const

  -     IWindow* childWindowAt(const ChildCursor& cursor) const

  -     virtual IArgList
          convertToArgList( const IBitFlag& style ) const

  -     static DataHandle
          dataHandleWithKey( const char* dataKeyName )

  -     virtual IWindowHandle defaultEmphasisButton() const

  -     static SiblingOrder defaultOrdering()

  -     virtual IWindowHandle defaultPushButton() const

  -     static IWindow* desktopWindow()

  -     virtual IWindow& disable()

  -     virtual IColor disabledBackgroundColor() const

  -     virtual IColor disabledForegroundColor() const

  -     virtual IWindow& disableGroup()

  -     IWindow& disableMinimumSizeCaching()

  -     virtual IWindow& disableNotification()

  -     virtual IWindow& disableTabStop()

  -     virtual IWindow& disableUpdate()

  -     bool
          dispatchRemainingHandlers( IEvent& event,
                                     bool callDefProc = true )

  -     virtual IWindow& enable(bool enableWindow = true)

  -     virtual IWindow& enableGroup(bool enable = true)

  -     IWindow&
          enableMinimumSizeCaching( bool enableCaching = true )

  -     virtual IWindow& enableNotification(bool enable = true)

  -     virtual IWindow& enableTabStop(bool enable = true)

  -     virtual IWindow& enableUpdate(bool enableWindow = true)

  -     static IWindow::ExceptionFn* exceptionFunction()

  -     virtual IFont font() const

  -     virtual IColor foregroundColor() 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 IColor hiliteBackgroundColor() const

  -     virtual IColor hiliteForegroundColor() const

  -     virtual unsigned long id() const

  -     virtual IColor inactiveColor() const

  -     virtual IRectangle invalidatedRect() const

  -     virtual IRegionHandle invalidatedRegion() const

  -     bool isAutoDeleteObject() const

  -     bool isAutoDestroyWindow() const

  -     bool isEnabled() const

  -     virtual bool isEnabledForNotification() const

  -     virtual bool isFrameWindow() const

  -     virtual bool isGroup() const

  -     bool isHandling(const EventMask& events) const

  -     virtual bool
          isLayoutDistorted( unsigned long layoutAttribute ) const

  -     bool isMinimumSizeCachingEnabled() const

  -     bool isShowing() const

  -     virtual bool isTabStop() const

  -     bool isUpdateEnabled() const

  -     virtual bool isValid() const

  -     bool isVisible() const

  -     static bool isWindowValid(const IWindow* window)

  -     IDMItemProvider* itemProvider() const

  -     IWindow(const IWindowHandle& handle)

  -     IWindow(unsigned long identifier, IWindow* parent)

  -     virtual IRectangle layoutAdjustment() const

  -     static IPoint
          mapPoint( const IPoint& point,
                    const IWindowHandle& from,
                    const IWindowHandle& to )

  -     virtual IWindowHandle
          matchForMnemonic( unsigned short character ) const

  -     IMessageQueueHandle messageQueue() const

  -     ISize minimumSize(bool windowCalculatedSize = false) const

  -     virtual IPointerHandle mousePointer() const

  -     static void movePointerTo(const IPoint& position)

  -     virtual IWindow&
          moveSizeTo( const IRectangle& newSizeAndPosition )

  -     virtual IWindow& moveTo(const IPoint& newPosition)

  -     virtual IRectangle nativeRect() const

  -     virtual INotifierAddress notifierAddress() const

  -     virtual IWindow&
          notifyObservers( const INotificationEvent& event )

  -     virtual IWindow&
          notifyObserversAsync( const INotificationEvent& event )

  -     static IWindow* objectWindow()

  -     virtual IWindow* owner() const

  -     IWindow* parent() const

  -     static ISize parentSize(const IWindowHandle& windowHandle)

  -     virtual ISize parentSize() const

  -     static IPoint pointerPosition()

  -     virtual IPoint position() const

  -     virtual IWindow&
          positionBehindSibling( const IWindowHandle& siblingWindow )

  -     virtual IWindow& positionBehindSiblings()

  -     virtual IWindow& positionOnSiblings()

  -     virtual const IWindow&
          postEvent( unsigned long eventId,
                     const IEventParameter1& parm1 = 0,
                     const IEventParameter2& parm2 = 0 ) const

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

  IBaseListBox

  -     static const Style border3D

  -     static const Style classDefaultStyle

  -     static const Style drawItem

  -     static INotificationId const enterId

  -     static const Style extendedSelect

  -     static INotificationId const
          extendedSelectChangedId

  -     static const unsigned long first

  -     static const Style horizontalScroll

  -     static INotificationId const itemChangedId

  -     static INotificationId const itemsId

  -     static const Style multipleSelect

  -     static const Style noAdjustPosition

  -     static const unsigned long notFound

  -     static INotificationId const selectId

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

  IBaseListBox

  -     virtual ISize calcMinimumSize() const

  -     unsigned long changeCount() const

  -     void incrementChangeCount()

  -     virtual bool passEventToOwner(IEvent& event)

  IControl

  -     IControl()

#### Inherited Protected Data

  - None