### IFileDialog

  The IFileDialog class displays a file dialog for the user to choose a file. Once the user has chosen a file, you can use member functions of this class to retrieve information about the chosen file. You can use the following handlers to process the appropriate events for this control:

  - IFileDialogHandler
  - IKeyboardHandler
  - IMouseHandler

#### OS/2 Considerations

  In OS/2 Presentation Manager, you can have modal windows that do not use the desktop as their parent. However, Presentation Manager can change the owner window of your dialog to something other than what you specified to prevent your application from being hung. See the Presentation Manager Programming Reference Volume 2 for more information under the topic WinLoadDlg.

  The easiest way to ensure that your dialog is modal is to use the desktop as the parent and an application window as the owner. Presentation Manager only disables the owner window and its child windows (the child windows of the child windows, and so forth) while a modal dialog is displayed. If you specify 0 for parent, the desktop automatically becomes the parent of the dialog.

### IFileDialog - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class. You cannot copy or assign IFileDialog objects. Constructing the IFileDialog object also shows the dialog. If there is a system error when constructing the object, showing the dialog, or in the use of the dialog, an exception is thrown. The error id in the exception is the system return code. You can also obtain this return code by calling the returnValue function.

~IFileDialog

      public:
      virtual ~IFileDialog()

Supported Platforms

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

IFileDialog

  Overload 1

      public:
      IFileDialog( IWindow* parent,
                   IWindow* owner,
                   IHandler* handler,
                   const Style& style = defaultStyle ( ),
                   const Settings& settings = Settings ( ) )

  You can construct an object of this class by using this constructor, which accepts a parent, owner, handler, style, and settings as parameters.

  To add a IFileDialogHandler to a modal IFileDialog, you must specify the handler on the constructor. Once you create a modal IFileDialog, the dialog does not return control to the application until the user closes the dialog. At that time, it is too late to add a handler.

  The parameters for this constructor are the following:

  parent
    The parent of the dialog box. If you specify 0, the desktop becomes the parent of the dialog.
  owner
    The owner window.
  handler
    A pointer to an IHandler object.
  style
    Use the styles provided by IFileDialog to specify the style. The default creates a modal dialog. To construct a modeless dialog, specify the modeless style. This parameter is optional.
  settings
    Use the settings provided by IFileDialog::Settings to specify the setting. This parameter is optional.

Supported Platforms

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

  Overload 2

      public:
      IFileDialog( IWindow* parent,
                   IWindow* owner,
                   const Settings& settings,
                   const Style& style = defaultStyle ( ) )

  You can construct an object of this class by using this constructor, which accepts a parent, owner, settings, and style as parameters.

  The parameters for this constructor are the following:

  parent
    The parent of the dialog box. If you specify 0, the desktop becomes the parent of the dialog.
  owner
    The owner window.
  settings
    Use the settings provided by IFileDialog::Settings to specify the setting.
  style
    Use the styles provided by IFileDialog::Styles to specify the style. The default creates a modal dialog. To construct a modeless dialog, specify the modeless style. This parameter is optional.

Supported Platforms

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

  Overload 3

      public:
      IFileDialog( IWindow* parent,
                   IWindow* owner,
                   const Style& style,
                   const Settings& settings )

  You can construct an object of this class by using this constructor, which accepts a parent, owner, style, and settings as parameters.

  The parameters for this constructor are the following:

  parent
    The parent of the dialog box. If you specify 0, the desktop becomes the parent of the dialog.
  owner
    The owner window.
  style
    Use the styles provided by IFileDialog to specify the style. The default creates a modal dialog. To construct a modeless dialog, specify the modeless style.
  settings
    Use the settings provided by IFileDialog::Settings to specify the setting.

Supported Platforms

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

  Overload 4

      public:
      IFileDialog( IWindow* parent,
                   IWindow* owner,
                   const Style& style = defaultStyle ( ) )

  You can construct an object of this class by using this constructor, which accepts a parent, owner, and style as parameters.

  The parameters for this constructor are the following:

  parent
    The parent of the dialog box. If you specify 0, the desktop becomes the parent of the dialog.
  owner
    The owner window.
  style
    Use the styles provided by IFileDialog to specify the style. The default creates a modal dialog. To construct a modeless dialog, specify the modeless style. This parameter is optional.

Supported Platforms

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

### Getting Information about the Chosen File

Use these members to get information about the file that was selected in the file dialog.

fileName

      public:
      IString fileName(unsigned fileNumber = 0) const

  Returns the fully qualified file name selected by the user.

  fileNumber
    The number indicating which file name you want. The default is 0. When you specify the style multiSelection for your IFileDialog object, set fileNumber to selectedFileCount minus 1 to ensure the correct number of files is returned.

Supported Platforms

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

saveAsEAType

      public:
      IString saveAsEAType() const

  Returns the extended attribute (EA) for a Save As dialog. This is the type the user chose from the drop-down list box of EA types. If the user chose the EA type , a 0-length IString object is returned.

Supported Platforms

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

AIX Considerations

  This function always returns an empty string.

selectedFileCount

      public:
      unsigned selectedFileCount() const

  Returns the number of files selected by the user.
  Note: If you create the dialog with the style multiSelection, this number can be more than 1.

Supported Platforms

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

### Getting Information about the Dialog

Use these members to get specific information about the dialog.

backgroundColor

      public:
      virtual IColor backgroundColor() const

  Gets the background color currently set for the file dialog frame window.

Supported Platforms

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

buttonPressedId

      public:
      unsigned long buttonPressedId() const

  Returns the ID of the push button used to close the dialog.

Supported Platforms

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

id

      public:
      virtual unsigned long id() const

  Returns the window identifier of the IFileDialog window.

Supported Platforms

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

isModeless

      public:
      bool isModeless() const

  If this is a modeless dialog, true is returned.

Supported Platforms

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

pressedOK

      public:
      bool pressedOK() const

  If the user ends the dialog by selecting the OK push button, true is returned.

Supported Platforms

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

returnValue

      public:
      long returnValue() const

  If an error occurs, the return code is returned.

Supported Platforms

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

AIX Considerations

  This function always returns 0.

OS/2 Considerations

  The return value is an FDS_ERR system return code. When a dialog fails, this value tells the application the reason for the failure.

Windows Considerations

  The return value is a CDERR_ or FNERR_ system return code. When a dialog fails, this value tells the application the reason for the failure.

cancel

      public:
      static const unsigned long cancel

  Push button ID value returned when the dialog is dismissed by pressing the Cancel button.

Supported Platforms

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

ok

      public:
      static const unsigned long ok

  Push button ID value returned when the dialog is dismissed by pressing the OK button.

Supported Platforms

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

### Setting Information about the Dialog

Use these members to set specific information about the dialog.

setBackgroundColor

      public:
      virtual IFileDialog&
        setBackgroundColor( const IColor& color )

  Sets the background color for the file dialog frame window.

Supported Platforms

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

setId

      public:
      virtual IFileDialog& setId(unsigned long newIdentifier)

  Sets the window identifier of the window.

Supported Platforms

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

### Styles

These style members provide a set of valid file dialog styles for the IFileDialog::setDefaultStyle function and for the constructors of the IFileDialog class.

convertToArgList

      public:
      virtual IArgList
        convertToArgList( const IBitFlag& style ) const

  Converts the IFileDialog styles to a Motif argument list that can be used to set the resources of the XmFileSelectionBox widget.

Supported Platforms

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

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 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 file dialogs.

  style
    Dialog style. Use the styles provided by IFileDialog 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

applyButton

      public:
      static const Style applyButton

  Adds an Apply push button to the dialog. The apply button is processed only in a modeless dialog.

Supported Platforms

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

classDefaultStyle

      public:
      static const Style classDefaultStyle

  Specifies the original default style for this class, which is noStyle. This style results in a modal open dialog.

Supported Platforms

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

filter

      public:
      static const Style filter

  Specifies that the dialog use the union of the string filter and the extended-attribute type filter when filtering files for the Files list box. When you do not specify this style, the list box uses the intersection of the two by default.

Supported Platforms

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

helpButton

      public:
      static const Style helpButton

  Adds a Help push button to the dialog. This push button sends a help message to the owner of the dialog.

Supported Platforms

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

includeEAS

      public:
      static const Style includeEAS

  Specifies that the dialog always queries the extended-attribute information for files as it fills the Files list box. The default is to not query the information, unless the user selects an extended-attribute type filter from the dialog.

Supported Platforms

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

modeless

      public:
      static const Style modeless

  Specifies that the dialog is modeless. The constructor for a modeless dialog returns immediately. To determine which files were chosen by the user, create an IFileDialogHandler and use IFileDialogHandler::modelessResults.

Supported Platforms

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

multiSelection

      public:
      static const Style multiSelection

  Specifies that the Files list box for the dialog is a multiple-selection list box. If you do not specify this style, the default is a single-selection list box.

Supported Platforms

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

noStyle

      public:
      static const Style noStyle

  Disables all of the valid styles. Use this style only when you are not using any other styles.

Supported Platforms

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

preload

      public:
      static const Style preload

  Specifies that the dialog do the following:

  - Preload the volume information for the drives
  - Preset the current default directory for each drive
  By default, the volume label is blank and the initial directory is the root directory for each drive.
  Note: This is not done by default because of potential delays in retrieving this information, which can be caused by network delays (for network drives) or hardware timeouts due to unavailable media.

Supported Platforms

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

selectableListbox

      public:
      static const Style selectableListbox

  Enables the Files list box on a Save As dialog. If you do not specify this style, it disables the Files list box for a Save As dialog. Disabling is the default.

Supported Platforms

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

Windows Considerations
  This style suppresses the "Do you want to overwrite?" message box that Windows provides on save as dialogs. The file list is selectable regardless of the setting of this style.

### Window Display

Use the window display members to manage the visibility of the file dialog.

show

      public:
      virtual IFileDialog& show(bool showWindow = true)

  Shows or hides the file dialog. If the flag is true, the file dialog is shown. If the flag is false the file dialog is hidden.

Supported Platforms

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

### IFileDialog - Inherited Member Functions and Data

#### Inherited Public Functions

  IFrameWindow

  -     virtual ~IFrameWindow()

  -     virtual IFrameWindow&
          addExtension( IWindow* newExtension,
                        Location location,
                        double percentage,
                        SeparatorType separator = thinLine )

  -     virtual IFrameWindow&
          addExtension( IWindow* newExtension,
                        Location location,
                        int widthOrHeight,
                        SeparatorType separator = thinLine )

  -     virtual IFrameWindow&
          addExtension( IWindow* newExtension,
                        Location location,
                        unsigned long widthOrHeight,
                        SeparatorType separator = thinLine )

  -     virtual IFrameWindow&
          addExtension( IWindow* newExtension,
                        Location location,
                        SeparatorType separator = thinLine )

  -     virtual IFrameWindow& addToWindowList()

  -     virtual IFrameWindow& beginFlashing()

  -     unsigned long borderHeight() const

  -     ISize borderSize() const

  -     unsigned long borderWidth() const

  -     virtual IWindow* client() const

  -     virtual IWindowHandle clientHandle() const

  -     virtual IRectangle
          clientRectFor( const IRectangle& frameRect ) const

  -     virtual IFrameWindow& close()

  -     IColorMap* colorMap() const

  -     virtual IWindowHandle defaultEmphasisButton() const

  -     static IWindow::SiblingOrder defaultOrdering()

  -     virtual IWindowHandle defaultPushButton() const

  -     virtual IColor disabledBackgroundColor() const

  -     virtual IFrameWindow& dismiss(unsigned long result = 0)

  -     virtual IFrameWindow&
          enableNotification( bool enable = true )

  -     virtual IFrameWindow& endFlashing()

  -     virtual IRectangle
          frameRectFor( const IRectangle& clientRect ) const

  -     virtual IWindowHandle
          handleFor( const Style& standardControl ) const

  -     virtual IWindowHandle handleForChildCreation() const

  -     virtual IPointerHandle icon() const

  -     IFrameWindow( const IResourceId& resId,
                      const IFrameWindow::Style& style )

  -     IFrameWindow( const IResourceId& resId,
                      IWindow* owner = 0,
                      FrameSource source = tryDialogResource )

  -     IFrameWindow(const IWindowHandle& hwnd)

  -     IFrameWindow( const IResourceId& resId,
                      IWindow* parent,
                      IWindow* owner,
                      const IRectangle& initRect,
                      const IFrameWindow::Style& style = defaultStyle ( ),
                      const char* title = 0 )

  -     IFrameWindow( const IFrameWindow::Style& style,
                      const IResourceId& resId = IC_DEFAULT_FRAME_ID )

  -     IFrameWindow( unsigned long id = IC_DEFAULT_FRAME_ID,
                      FrameSource source = tryDialogResource )

  -     IFrameWindow( const IResourceId& resId,
                      IWindow* parent,
                      IWindow* owner,
                      FrameSource source = tryDialogResource )

  -     IFrameWindow( const char* title,
                      const IResourceId& resId = IC_DEFAULT_FRAME_ID,
                      const IFrameWindow::Style& style = defaultStyle ( ) )

  -     virtual bool isAnExtension(const IWindow* window) const

  -     bool isFlashing() const

  -     bool isMaximized() const

  -     bool isMinimized() const

  -     bool isModal() const

  -     virtual IWindowHandle
          matchForMnemonic( unsigned short character ) const

  -     virtual IFrameWindow& maximize()

  -     virtual IRectangle maximizeRect() const

  -     virtual ISize maximumFrameSize() const

  -     virtual IFrameWindow& minimize()

  -     virtual IRectangle minimizeRect() const

  -     virtual ISize minimumFrameSize() const

  -     virtual IFrameWindow&
          moveSizeToClient( const IRectangle& clientRect )

  -     static IRectangle nextShellRect()

  -     virtual IFrameWindow&
          notifyOwner( unsigned long id,
                       ICommandEvent::Source source = ICommandEvent::unknown,
                       bool pointerDevice = false )

  -     virtual IFrameWindow&
          removeExtension( IWindow* extension,
                           bool updateDisplay = true )

  -     virtual IFrameWindow& removeFromWindowList()

  -     virtual IFrameWindow& resetBackgroundColor()

  -     virtual IFrameWindow& resetDisabledBackgroundColor()

  -     virtual IFrameWindow& restore()

  -     virtual IRectangle restoreRect() const

  -     virtual unsigned long result() const

  -     IFrameWindow& setBorderHeight(unsigned long cy)

  -     IFrameWindow&
          setBorderSize( unsigned long cx,
                         unsigned long cy )

  -     IFrameWindow& setBorderSize(const ISize& size)

  -     IFrameWindow& setBorderSize(unsigned long cxcy)

  -     IFrameWindow& setBorderWidth(unsigned long cx)

  -     virtual IFrameWindow& setClient(IWindow* newClient)

  -     virtual IFrameWindow& setColorMap(IColorMap* colorMap)

  -     static void
          setDefaultOrdering( IWindow::SiblingOrder ordering )

  -     virtual IFrameWindow&
          setDestroyOnClose( bool destroy = true )

  -     virtual IFrameWindow&
          setExtensionSize( IWindow* extension,
                            int widthOrHeight )

  -     virtual IFrameWindow&
          setExtensionSize( IWindow* extension,
                            double widthOrHeight )

  -     virtual IFrameWindow&
          setExtensionSize( IWindow* extension,
                            unsigned long widthOrHeight )

  -     virtual IWindow& setFont(const IFont& font)

  -     virtual IFrameWindow& setIcon(unsigned long iconResId)

  -     virtual IFrameWindow& setIcon(const IPointerHandle& icon)

  -     virtual IFrameWindow& setIcon(const IResourceId& iconResId)

  -     IFrameWindow&
          setLayoutDistorted( unsigned long layoutAttributesOn,
                              unsigned long layoutAttributesOff )

  -     virtual IFrameWindow&
          setMaximumFrameSize( const ISize& maximumFrameSize )

  -     virtual IFrameWindow&
          setMinimumFrameSize( const ISize& minimumFrameSize )

  -     virtual IFrameWindow&
          setRestoreRect( const IRectangle& rect )

  -     virtual IFrameWindow& setResult(unsigned long result)

  -     virtual IFrameWindow&
          setTitleText( const IResourceId& titleResId )

  -     virtual IFrameWindow& setTitleText(const char* titleText)

  -     IFrameWindow& setToolBarList(IToolBarList* toolBarList)

  -     virtual IFrameWindow& shareParentDBCSStatus()

  -     virtual IFrameWindow& show(bool showWindow = true)

  -     virtual unsigned long showModally()

  -     virtual IString titleText() const

  -     IToolBarList* toolBarList() const

  -     virtual IFrameWindow& update(bool forceUpdate = false)

  -     virtual IFrameWindow&
          useExtensionMinimumSize( IWindow* extension )

  -     bool usesDialogBackground() const

  -     bool willDestroyOnClose() 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

  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

  -     static DataHandle
          dataHandleWithKey( const char* dataKeyName )

  -     static SiblingOrder defaultOrdering()

  -     static IWindow* desktopWindow()

  -     virtual IWindow& disable()

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

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

  -     virtual IRectangle layoutAdjustment() const

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

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

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

  IFrameWindow

  -     static const Style accelerator

  -     static INotificationId const activateId

  -     static const Style alignNoAdjust

  -     static const Style animated

  -     static const Style appDBCSStatus

  -     static const Style border

  -     static INotificationId const closeId

  -     static INotificationId const deactivateId

  -     static const Style dialogBackground

  -     static const Style dialogBorder

  -     static const Style hideButton

  -     static const Style horizontalScroll

  -     static const Style maximizeButton

  -     static const Style maximized

  -     static const Style menuBar

  -     static const Style minimizeButton

  -     static const Style minimized

  -     static const Style minimizedIcon

  -     static const Style noMoveWithOwner

  -     static const Style shellPosition

  -     static const Style sizingBorder

  -     static const Style systemMenu

  -     static const Style systemModal

  -     static const Style titleBar

  -     static INotificationId const titleTextId

  -     static const Style verticalScroll

  -     static const Style windowList

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

#### Inherited Protected Functions

  IFrameWindow

  -     IFrameWindow& addDefaultHandler()

  -     IWindowHandle
          create( unsigned long id,
                  const char* title,
                  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 )

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

  -     IWindowHandle
          create( unsigned long id,
                  const char* title,
                  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 )

  -     IWindowHandle
          create( unsigned long id,
                  const char* title,
                  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 ( ) )

  -     IFrameExtensions* extensions() const

  -     unsigned findExtension(IWindow* window)

  -     IFrameWindow&
          initialize( const IResourceId& resId,
                      const Style& style,
                      IWindow* parent = 0,
                      IWindow* owner = 0,
                      const IRectangle& initRect = nextShellRect ( ),
                      const char* title = 0 )

  -     virtual bool passEventToOwner(IEvent& event)

  -     unsigned long
          registerFrameClass( const Style& style,
                              const IResourceId& resId )

  -     IFrameWindow& removeDefaultHandler()

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

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

  -     virtual IFrameWindow&
          setDefaultPushButton( const IWindowHandle& defaultPushButton )

  -     IFrameWindow& setExtensions(IFrameExtensions* extensions)

  -     IFrameWindow& start(const IWindowHandle& hwnd)

  -     IFrameWindow&
          tryToLoadDialog( const IResourceId& resId,
                           IWindow* parent = 0,
                           IWindow* owner = 0,
                           FrameSource source = tryDialogResource )

  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)

  -     virtual ISize calcMinimumSize() const

  -     IColor
          color( unsigned long colorArea,
                 const IColor& defaultColor ) const

  -     IColor color(unsigned long colorArea) const

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

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

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

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

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

  -     IWindow&
          setWindowData( long index,
                         unsigned short 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,
                          const IInterest& interest )

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

#### Inherited Protected Data

  IFrameWindow

  -     static const Style deferCreation