### ICollectionViewComboBox

  The ICollectionViewComboBox template class provides a view of an ordered collection, as items in the list box portion of a combination 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 portion of the combination box. The ICollectionViewComboBox 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 portion of the combination 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. The ICollectionViewComboBox object observes the currently viewed collection (initialized on setItems) and reports collection updates via calls to the collection-reporting members. Then, the collection-reporting members update the list box portion of the combination box.

  The string generator object translates collection elements to their IString representations. The default string generator assumes 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 portion of the combination box based on collection elements. This includes the following:

  - Selecting or deselecting based on an item's collection position
  - Querying what collection element corresponds to the item selected in the list box portion of the combination box

  An ICollectionViewComboBox object sends notifications, so observers of the object can monitor the following events and process as needed:

  - The viewed collection is replaced.
  - An item changes in the list box portion of the combination box (due to an update of the corresponding collection element).

  The ICollectionViewComboBox 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.

### ICollectionViewComboBox - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~ICollectionViewComboBox

      public:
      virtual ~ICollectionViewComboBox()

Supported Platforms

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

ICollectionViewComboBox

  Overload 1

      public:
      ICollectionViewComboBox( 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 combination 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 | No

  Overload 2

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

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

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

Supported Platforms

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

  Overload 3

      public:
      ICollectionViewComboBox( unsigned long identifier,
                               IWindow* parent,
                               IWindow* owner,
                               const IRectangle& initial = IRectangle ( ),
                               const IBaseComboBox::Style& style = IBaseComboBox::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 combination 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 IBaseComboBox::classDefaultStyle. Optional.
  stringGenerator
    The initial string generator for the collection view. Optional.

  This creates the specified combination 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 ICollectionViewComboBox object.

items

      public:
      virtual Collection* items() const

  Returns the collection currently being viewed. Use it to access the underlying collection.

Supported Platforms

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

setItems

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

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

  collection
    A pointer to a collection. ICollectionViewComboBox 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 portion of the combination box. ICollectionViewListBox uses this same protocol.
Note: The ordered collection is enabled for notification.

collectionReplaced

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

  Indicates that a new collection is being observed. Effectively, a call to this member notifies an ICollectionViewComboBox object that all items in the list box portion of the combination box were replaced. The member's default behavior sends the ICollectionViewComboBox::itemsId notification to all observers of this ICollectionViewComboBox object.
  Note: The reporting protocol calls this member after updating all items in the list box portion of the combination 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 ICollectionViewComboBox < 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 ICollectionViewComboBox that an item must be added to the list box portion of the combination 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 ICollectionViewComboBox < Element , Collection >&
        elementChanged( unsigned long position,
                        const Element& element )

  Indicates that a collection element changed state. The collection element's collection position is the first parameter. Effectively, this member notifies an ICollectionViewComboBox 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 portion of the combination 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 ICollectionViewComboBox < Element , Collection >&
        elementDeleted( unsigned long position )

  Indicates that a collection element was deleted at the specified position. Effectively, this member notifies an ICollectionViewComboBox object that the corresponding item must be deleted from the list box portion of the combination 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 ICollectionViewComboBox < Element , Collection >&
        elementsChanged()

  Indicates that at least one element and possibly all elements in the viewed collection have changed. Effectively, this member notifies an ICollectionViewComboBox object that all items in the list box portion of the combination box need updating based on the current state of the viewed collection. The default behavior deletes all items from the list box portion of the combination 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 ICollectionViewComboBox object. These members act on the list box portion of the combination 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

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

deselect

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

  Deselects the item in the list box portion of the combination 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

select

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

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

  collectionPosition
    A 1-based index reference to a collection element.
  select
    If you specify true, the item is selected and any previously selected item is deselected. If you specify false, the item is deselected. The default is true.
  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.
  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 portion of the combination box.
  Note: If no item is selected, an exception is thrown.

Exception

  IInvalidRequest | There is no selected list box item.

Supported Platforms

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

noSelection

      public:
      static const unsigned long noSelection

  Indicates no item is selected in the list box portion of the combination box. ICollectionViewComboBox::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 an ICollectionViewComboBox 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 ICollectionViewComboBox 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 ICollectionViewComboBox object. The string generator provides strings for collection elements for use in the list box part of the combination box. Use this function to assign one IStringGenerator to another; this increments the use count of the optionally contained IStringGeneratorFn.

Supported Platforms

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

### ICollectionViewComboBox - Inherited Member Functions and Data

#### Inherited Public Functions

  IBaseComboBox

  -     virtual ~IBaseComboBox()

  -     virtual IColor backgroundColor() const

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

  -     virtual unsigned long count() const

  -     static Style defaultStyle()

  -     virtual IBaseComboBox& deselect(unsigned long index)

  -     virtual IBaseComboBox& deselectAll()

  -     virtual IString elementAt(const Cursor& cursor) const

  -     virtual IBaseComboBox& enableDataUpdate(bool update = true)

  -     virtual IBaseComboBox&
          enableNotification( bool enable = true )

  -     virtual IColor foregroundColor() const

  -     virtual bool hasFocus() const

  -     virtual IBaseComboBox& hideList()

  -     IBaseComboBox(unsigned long id, IWindow* parent)

  -     IBaseComboBox(const IWindowHandle& handle)

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

  -     virtual bool isEmpty() const

  -     bool isHorizontalScroll() const

  -     bool isListShowing() const

  -     virtual bool isSelected(unsigned long index) const

  -     bool isWriteable() const

  -     virtual unsigned long itemHandle(unsigned long index) const

  -     virtual IString itemText(unsigned long index) const

  -     virtual IRectangle layoutAdjustment() const

  -     virtual unsigned long limit() const

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

  -     unsigned long minimumRows() const

  -     virtual IRectangle nativeRect() const

  -     virtual unsigned long numberOfSelections() const

  -     virtual IPoint position() const

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

  -     virtual long selection() const

  -     virtual IBaseComboBox&
          setBackgroundColor( const IColor& color )

  -     static void setDefaultStyle(const Style& style)

  -     virtual IBaseComboBox& setFocus()

  -     virtual IBaseComboBox&
          setForegroundColor( const IColor& color )

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

  -     virtual IBaseComboBox&
          setItemText( unsigned long index,
                       const IResourceId& string,
                       bool updateEntryField = false )

  -     virtual IBaseComboBox&
          setItemText( unsigned long index,
                       const char* string,
                       bool updateEntryField = false )

  -     virtual IBaseComboBox&
          setLimit( const IResourceId& textLimit )

  -     virtual IBaseComboBox& setLimit(unsigned long textLimit)

  -     virtual IBaseComboBox&
          setMinimumRows( unsigned long minimumRows )

  -     virtual IBaseComboBox& setTop(unsigned long index)

  -     virtual IBaseComboBox& showList(bool show = true)

  -     virtual ISize size() const

  -     virtual unsigned long top() const

  -     ControlType type() const

  -     virtual IRectangle visibleRectangle() const

  IControl

  -     virtual ~IControl()

  IEntryField

  -     virtual ~IEntryField()

  -     Alignment alignment() const

  -     CharType charType() const

  -     virtual IEntryField& clear(unsigned long timestamp = 0)

  -     virtual IEntryField& copy(unsigned long timestamp = 0)

  -     unsigned long cursorPosition() const

  -     virtual IEntryField& cut(unsigned long timestamp = 0)

  -     virtual IEntryField& disable()

  -     virtual IEntryField& disableAutoScroll()

  -     virtual IEntryField& disableAutoTab()

  -     virtual IEntryField& disableCommand()

  -     virtual IEntryField& disableDataUpdate()

  -     virtual IEntryField& disableInsertMode()

  -     virtual IEntryField& disableMargin()

  -     virtual IEntryField& discard()

  -     virtual IEntryField& enable(bool enable = true)

  -     virtual IEntryField& enableAutoScroll(bool enable = true)

  -     virtual IEntryField& enableAutoTab(bool enable = true)

  -     virtual IEntryField& enableCommand(bool enable = true)

  -     virtual IEntryField& enableDataUpdate(bool update = true)

  -     virtual IEntryField& enableInsertMode(bool insert = true)

  -     virtual IEntryField& enableMargin(bool enable = true)

  -     virtual IEntryField& enableNotification(bool enable = true)

  -     bool hasSelectedText() const

  -     bool hasTextChanged() const

  -     IEntryField(const IWindowHandle& handle)

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

  -     IEntryField(unsigned long id, IWindow* parent)

  -     bool isAutoScroll() const

  -     bool isAutoTab() const

  -     bool isCommand() const

  -     bool isEmpty() const

  -     bool isInsertMode() const

  -     bool isMargin() const

  -     unsigned long leftIndex() const

  -     virtual IEntryField& paste()

  -     virtual IEntryField& removeAll()

  -     virtual IEntryField& resetTextChangedFlag()

  -     IRange selectedRange() const

  -     IString selectedText() const

  -     unsigned long selectedTextLength() const

  -     virtual IEntryField&
          selectRange( const IRange& range = IRange ( 0 , end ),
                       unsigned long timestamp = 0 )

  -     virtual IEntryField& setAlignment(Alignment alignment)

  -     virtual IEntryField& setCharType(CharType type)

  -     virtual IEntryField&
          setCursorPosition( unsigned long newCursorPos )

  -     virtual IEntryField& setLeftIndex(unsigned long index)

  -     virtual IEntryField& setLimit(const IResourceId& textLimit)

  -     virtual IEntryField& setLimit(unsigned long textLimit)

  -     virtual IEntryField& setText(const char* text)

  -     virtual IEntryField& setText(const IResourceId& text)

  -     virtual IEntryField&
          setTextChangedFlag( bool changed = true )

  -     virtual IString text() const

  INotifier

  -     virtual ~INotifier()

  -     virtual INotifier& disableNotification() = 0

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

  -     INotifier()

  -     virtual bool isEnabledForNotification() const = 0

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

  -     virtual INotifier&
          notifyObserversAsync( const INotificationEvent& event )

  -     const IThreadId& threadId() const

  ITextControl

  -     virtual ~ITextControl()

  -     static bool clipboardHasTextFormat()

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

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

  -     virtual ITextControl& setText(const IResourceId& text)

  -     virtual ITextControl& setText(const char* text)

  -     virtual unsigned long textLength() const

  IWindow

  -     virtual ~IWindow()

  -     IAccelTblHandle acceleratorHandle() const

  -     IAcceleratorTable acceleratorTable() const

  -     virtual IColor activeColor() const

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

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

  -     virtual IString asDebugInfo() const

  -     virtual IString asString() const

  -     IAttributeName
          attributeNameAt( const AttributeCursor& cursor ) const

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

  -     virtual IWindow& capturePointer(bool capture = true)

  -     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(unsigned long identifier, IWindow* parent)

  -     IWindow(const IWindowHandle& handle)

  -     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 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 IWindow&
          positionBehindSibling( const IWindowHandle& siblingWindow )

  -     virtual IWindow& positionBehindSiblings()

  -     virtual IWindow& positionOnSiblings()

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

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

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

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

  -     IWindow& startHandling(const EventMask& events)

  -     IWindow& stopHandling(const EventMask& events)

  -     virtual IWindow&
          validateRect( const IRectangle& validatedRectangle )

  -     virtual IWindow&
          validateRegion( const IRegionHandle& validatedRegion )

  -     IWindowData* windowData(const DataHandle& typeToken) const

  -     static IWindow*
          windowWithHandle( const IWindowHandle& windowHandle,
                            bool allThreads = true )

  -     static IWindow*
          windowWithOwner( unsigned long identifier,
                           const IWindow* owner,
                           bool allThreads = true )

  -     static IWindow*
          windowWithParent( unsigned long identifier,
                            const IWindow* parent,
                            bool allThreads = true )

#### Inherited Public Data

  IWindow

  -     static INotificationId const activeColorId

  -     static const EventMask allMouseMoves

  -     static INotificationId const
          attributeAddReplaceId

  -     static INotificationId const attributeRemoveId

  -     static INotificationId const backgroundColorId

  -     static INotificationId const borderColorId

  -     static const Style clipChildren

  -     static const Style clipSiblings

  -     static const Style clipToParent

  -     static INotificationId const commandId

  -     static const Style disabled

  -     static INotificationId const
          disabledBackgroundColorId

  -     static INotificationId const
          disabledForegroundColorId

  -     static INotificationId const enableId

  -     static INotificationId const focusId

  -     static INotificationId const fontId

  -     static INotificationId const foregroundColorId

  -     static const Style group

  -     static INotificationId const
          hiliteBackgroundColorId

  -     static INotificationId const
          hiliteForegroundColorId

  -     static INotificationId const inactiveColorId

  -     static const Style leftToRight

  -     static const EventMask mouseEntersLeaves

  -     static const Style noStyle

  -     static INotificationId const positionId

  -     static const Style rightToLeft

  -     static const Style saveBits

  -     static INotificationId const shadowColorId

  -     static INotificationId const sizeId

  -     static const EventMask someMouseMoves

  -     static const Style synchPaint

  -     static INotificationId const systemCommandId

  -     static const Style tabStop

  -     static const Style visible

  -     static INotificationId const visibleId

  INotifier

  -     static INotificationId const allChangesId

  -     static INotificationId const deleteId

  IBaseComboBox

  -     static const Style anyData

  -     static const Style autoScroll

  -     static const Style border3D

  -     static const Style classDefaultStyle

  -     static const Style dbcsData

  -     static const Style dropDownType

  -     static INotificationId const enterId

  -     static const unsigned long first

  -     static const Style horizontalScroll

  -     static INotificationId const itemChangedId

  -     static INotificationId const itemsId

  -     static const Style mixedData

  -     static const unsigned long notFound

  -     static const Style oemData

  -     static const Style readOnlyDropDownType

  -     static const Style sbcsData

  -     static INotificationId const selectId

  -     static const Style simpleType

  IEntryField

  -     static const Style autoTab

  -     static const Style centerAlign

  -     static INotificationId const characterTypeId

  -     static const Style command

  -     static INotificationId const dataUpdateId

  -     static const long end

  -     static INotificationId const insertModeId

  -     static const Style leftAlign

  -     static INotificationId const limitId

  -     static const Style margin

  -     static const Style readOnly

  -     static const Style rightAlign

  -     static const Style unreadable

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

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  const IBitFlag& style,
                  IXmCreateFunction createFunction,
                  const IWindow* parent,
                  const IWindow* owner,
                  const IRectangle& initRect,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ) )

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  unsigned long style,
                  const char* windowClass,
                  const IWindowHandle& parent,
                  const IWindowHandle& owner,
                  const IRectangle& initRect,
                  const void* ctlData,
                  const void* presParams,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ),
                  unsigned long extendedStyle = 0 )

  -     virtual IWindowHandle
          create( unsigned long id,
                  const char* text,
                  const IBitFlag& style,
                  const char* windowClass,
                  const IWindow* parent,
                  const IWindow* owner,
                  const IRectangle& initRect,
                  const void* ctlData,
                  const void* presParams,
                  IWindow::SiblingOrder ordering = defaultOrdering ( ) )

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

  -     IWindow& defaultProcedure(IEvent& event)

  -     bool deleteIsInProcess() const

  -     bool dispatch(IEvent& event)

  -     virtual unsigned long extendedStyle() const

  -     bool isBoundToMessageQueue() const

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

  -     virtual IWindow& removeObserver(IObserver& observer)

  -     IWindow& reserveUserWindowWord(bool reserve = true)

  -     virtual IWindow& resetColor(unsigned long colorArea)

  -     ISize savedMinimumSize() const

  -     IWindow& saveMinimumSize(const ISize& size)

  -     virtual IWindow&
          setBidiSettings( const IBidiSettings& bidiSettings,
                           bool childInherit,
                           bool refresh )

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

  -     virtual IWindow&
          setDefaultEmphasisButton( const IWindowHandle& defaultEmphasisButton,
                                    bool enable )

  -     virtual IWindow&
          setDefaultPushButton( const IWindowHandle& defaultPushButton )

  -     virtual IWindow&
          setExtendedStyle( unsigned long extendedStyle )

  -     IWindow&
          setNotificationHandler( IWindowNotifyHandler* notifyHandler )

  -     virtual IWindow& setStyle(unsigned long style)

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

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

  -     IWindow&
          startHandlingEventsFor( const IWindowHandle& windowHandle )

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

  -     virtual unsigned long style() const

  -     IWindow& unbindMessageQueue()

  -     unsigned long windowULong(long index) const

  -     unsigned short windowUShort(long index) const

  INotifier

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

  -     virtual INotifier&
          notifyObservers( const INotificationId& id ) = 0

  -     virtual IObserverList&
          observerList( const IInterest* anInterest = 0 ) const = 0

  -     virtual INotifier& removeAllObservers() = 0

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

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

  IBaseComboBox

  -     virtual ISize calcMinimumSize() const

  -     unsigned long changeCount() const

  -     void incrementChangeCount()

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

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

  IControl

  -     IControl()

  IEntryField

  -     IEntryField()

  -     IEntryField&
          initialize( unsigned long style,
                      const IWindowHandle& wh )

  -     virtual bool isDragStarting(IEvent& event)

  -     virtual bool passEventToOwner(IEvent& event)

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

  -     virtual IEntryField& setStyle(unsigned long style)

  ITextControl

  -     ITextControl()

#### Inherited Protected Data

  - None