The IViewPort class provides scrolling support for another window. The window being scrolled is termed the view window. Typically, the view window does not readily support resizing. Because of this, you must support scrolling so users can scroll the view window to see clipped information.
View window candidates include the following classes:
You specify the view window by making it a child window of the view port. A view port supports multiple view windows. Only one view window is visible in the view rectangle at a time. Hidden view windows can be made visible in the view rectangle using IViewPort::setViewWindow. As a hidden view window is made visible, the prior view window is always hidden.
The IViewPort object optionally includes horizontal and vertical scroll bars. You can specify scroll bars that are the following:
If the view port has nothing to scroll because the view window is entirely visible, the scroll bars are hidden.
Logical sizes specified through IViewPort::setViewWindowSize are limited to 0x3FFF0000. If you do not call setViewWindowSize, the size of a view window is limited to 32 K. If the view window has no size and does not use a logical size, IViewPort sizes the view window to its minimum size. If you use the IViewPort::expandableViewWindow style and no logical size, IViewPort can grow the view window larger than its minimum size.
In AIX the Open Class Library does not support the style combination
of one scroll bar displayed as needed and the other scroll bar always displayed.
If this combination of styles is used, both scroll bars are always displayed.
Motif supports all other combinations for displaying the view port scroll bars.
Note:
By default the last child window of the view port will be the view window displayed in the view rectangle. Any child window of the view port can be designated the view window using IViewPort::setViewWindow.
Use the view port protected function handleForChildCreation to get the window handle of the parent to use for creating a view window.
When the view port contains scroll bars, the underlying widgets manage the size of the scroll bars' scroll boxes, and updates their positions as your view window is scrolled.
By default the first child window of the view port will be the view window displayed in the view rectangle. Any child window of the view port can be designated the view window using IViewPort::setViewWindow.
The view port changes the parent window of the view window to a scrollable rectangular window to properly clip the child window. The window identifier (ID) of the scrollable rectangular window is IC_VIEWPORT_VIEWRECTANGLE. If you enable the view window for direct manipulation, the direct manipulation events are dispatched to the scrollable rectangular window.
When the view port contains scroll bars, the view port manages the size of the scroll bars' scroll boxes, and updates their positions as it scrolls your view window.
By default the first child window of the view port will be the view window displayed in the view rectangle. Any child window of the view port can be designated the view window using IViewPort::setViewWindow.
The view port changes the parent window of the view window to a scrollable rectangular window to properly clip the child window. The window identifier (ID) of the scrollable rectangular window is IC_VIEWPORT_VIEWRECTANGLE. If you enable the view window for direct manipulation, the direct manipulation events are dispatched to the scrollable rectangular window.
When the view port contains scroll bars, the view port manages the size of the scroll bars' scroll boxes, and updates their positions as it scrolls your view window.
Constructors & DestructorYou can construct and destruct objects of this class. You cannot copy or assign IViewPort objects because both the copy constructor and assignment operator are private functions.
![]() |
public:
virtual ~IViewPort()
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
IViewPort( unsigned long windowIdentifier, IWindow* parent, IWindow* owner, const IRectangle& initialSize = IRectangle ( ), const Style& style = defaultStyle ( ) )
We recommend that you do the following:
The OS/2 and Windows versions of the IViewPort class reserve the following window identifiers for child windows that it creates:
| IInvalidParameter | style contains an invalid combination of styles. style cannot contain more than one horizontal scroll bar style (IViewPort::alwaysHorizontalScrollBar, IViewPort::asNeededHorizontalScrollBar, and IViewPort::noHorizontalScrollBar), or more than one vertical scroll bar style (IViewPort::alwaysVerticalScrollBar, IViewPort::asNeededVerticalScrollBar, and IViewPort::noVerticalScrollBar). |
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Child CreationOverride these functions to provide information necessary for creating child windows.
![]() |
protected:
virtual IWindowHandle handleForChildCreation() const
Returns the handle that should be used when creating children of the IViewPort.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Child Scroll BarsUse these members to access the scroll bar windows created by the IViewPort window.
![]() |
public:
IScrollBar* horizontalScrollBar() const
Returns the address of the horizontal scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
IScrollBar* verticalScrollBar() const
Returns the address of the vertical scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Layout SupportLayout members determine how this class sizes and positions its child windows or how this window will be laid out on another canvas.
![]() |
public:
virtual bool hasChildrenToLayout() const
Indicates whether the view port is managing the scrolling (or sizing and positioning) of any child windows.
This version returns true if any of the following is true:
Otherwise it returns false.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IViewPort& setLayoutDistorted( unsigned long layoutAttributeOn, unsigned long layoutAttributeOff )
Processes a size change as a layout change.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
virtual ISize calcMinimumSize() const
Returns the recommended minimum size for this IViewPort object. The size is based on the minimum size of the vertical and horizontal scroll bars.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
virtual IViewPort& layout()
Positions the scroll bars, scroll rectangle window, and view window.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Notification MembersThese members allow observers to process changes to the window.
![]() |
public:
static INotificationId const viewWindowSizeId
Notification identifier provided to observers when the logical size of the view port's view window changes. IViewPort provides a pointer to an ISize object for the new size in the eventData field of the INotificationEvent.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
StylesUse these members to customize a window at the time you construct it. Most styles have equivalent member functions, which allow you to similarly modify a window after creating it. You can use these styles with the styles defined by the following nested classes:
Once you have constructed an IViewPort object, you can use IViewPort, ICanvas, and IWindow member functions to query and change individual styles.
![]() |
public:
virtual unsigned long convertToGUIStyle( const IBitFlag& style, bool extendedOnly = false ) const
Converts a style object into a value appropriate for the underlying 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, will be returned if you set extendedOnly to true.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static Style defaultStyle()
Returns the default style. The default style is classDefaultStyle unless you change the style using setDefaultStyle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static void setDefaultStyle(const Style& style)
Sets the default style for all subsequent view ports.
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.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style alwaysHorizontalScrollBar
Specifies that the view port never removes the horizontal scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style alwaysVerticalScrollBar
Specifies that the view port never removes the vertical scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style asNeededHorizontalScrollBar
Specifies that the view port removes the horizontal scroll bar when the entire width of the view window is visible and there is no data to scroll horizontally.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style asNeededVerticalScrollBar
Specifies that the view port removes the vertical scroll bar when the entire height of the view window is visible and there is no data to scroll vertically.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style classDefaultStyle
Specifies the original default style for this class, which is IViewPort::asNeededHorizontalScrollBar | IViewPort::asNeededVerticalScrollBar | IWindow::visible.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style expandableViewWindow
Specifies that the view port will size its view window to completely fill the view port by sizing the view window to the larger of the following:
When the view port sizes the view window to its minimum size, it allows the user to scroll the view window if it is not completely visible.
Use this style when using an
IMultiCellCanvas
with expandable rows or columns as the view window.
Note:
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style noHorizontalScrollBar
Specifies that the view port never shows the horizontal scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style noVerticalScrollBar
Specifies that the view port never shows the vertical scroll bar.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
static const Style noViewWindowFill
Specifies that the view port does not paint the portion of the view rectangle
occupied by the view window.
Note:
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
View WindowUse these members to change the appearance of the view window in the view port.
![]() |
public:
virtual IViewPort& scrollViewHorizontallyTo( unsigned long leftOffset )
Scrolls the view window horizontally. The value you specify is the offset in pels from the left edge of the view window to the point you want to see at the left edge of the view rectangle. Specify the value 0 to line up the left edge of the view window with the left edge of the view rectangle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IViewPort& scrollViewVerticallyTo( unsigned long topOffset )
Scrolls the view window vertically. The value you specify is the offset in pels from the top edge of the view window to the point you want to see at the top edge of the view rectangle. Specify the value 0 to line up the top edge of the view window with the top edge of the view rectangle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IViewPort& setViewWindow( const IWindowHandle& viewWindow )
Changes the view window that displays in the view rectangle. The specified view window must be a child window of the view port. The prior view window is hidden.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IViewPort& setViewWindowSize(const ISize& size)
Changes the logical size of the window being scrolled. The logical size does not have to match the real size of the window.
If you call this function, you will manage the appearance of the view window. IViewPort processes the position and size of the scroll boxes of its scroll bars, but you are responsible for changing the position or repainting the view window to give the appearance of scrolling.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual IWindowHandle viewWindow()
Returns the handle of the window bounded by the view port.
| IInvalidRequest | The view port has found more than one view window. A view port can have only one child window. |
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
Use the view port protected function handleForChildCreation to get the window handle of the parent to use for creating a view window.
The parent of the view window is changed to the scrollable rectangular window so that the view window is properly clipped.
The parent of the view window is changed to the scrollable rectangular window so that the view window is properly clipped.
![]() |
public:
virtual IRectangle viewWindowDrawRectangle() const
Returns the area of the view window that is currently visible in the view port.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
public:
virtual ISize viewWindowSize() const
Returns the logical size of the window being scrolled. If you have not called IViewPort::setViewWindowSize to set a logical size, the real size of the view window is returned.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
virtual IViewPort& positionViewWindow( const IWindowHandle& viewWindow, const IRectangle& viewRectangle )
Positions the view window within the view rectangle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
virtual IViewPort& setTopLeftViewPoint( const IPoint& topLeft )
Sets the view window coordinate, in origin lower-left coordinates, that displays in the upper-left corner of the view rectangle.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
virtual IViewPort& setupScrollBars()
Sizes, shows, or hides scroll bars for the view port window, as appropriate. This function also positions and sizes the scroll rectangle window that bounds the view window. IViewPort calls this function before calling positionViewWindow.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
![]() |
protected:
IPoint topLeftViewPoint() const
Returns the view window coordinate that displays in the upper-left corner of the view rectangle in origin lower-left coordinates.
| Windows | OS/2 | AIX |
| Yes | Yes | Yes |
virtual ~ICanvas()
virtual ICanvas& addBorder()
virtual IColor backgroundColor() const
virtual IColor borderColor() const
IText borderText() const
IPoint bottomRightLayoutOffset() const
virtual IFont font() const
virtual bool hasBorder() const
ICanvas( unsigned long windowIdentifier,
IWindow* parent,
IWindow* owner,
const IRectangle& initial = IRectangle ( ),
const Style& style = defaultStyle ( ) )
virtual bool isTabStop() const
virtual IWindowHandle matchForMnemonic( unsigned short character ) const
virtual ICanvas& removeBorder()
virtual ICanvas& resetBorderColor()
virtual ICanvas& resetFont()
virtual ICanvas& setBorderColor(const IColor& borderColor)
virtual ICanvas& setBorderText( const IText& borderText, bool showBorder = true )
virtual ICanvas& setBorderText( const IResourceId& borderText, bool showBorder = true )
virtual ICanvas& setFont(const IFont& font)
virtual ICanvas&
setLayoutDistorted( unsigned long layoutAttributesOn,
unsigned long layoutAttributesOff )
IPoint topLeftLayoutOffset() const
virtual ~IControl()
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
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()
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 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 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
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 )
IMessageQueueHandle messageQueue() const
ISize minimumSize(bool windowCalculatedSize = false) const
virtual IPointerHandle mousePointer() const
static void movePointerTo(const IPoint& position)
virtual IWindow& moveSizeTo( const IRectangle& newSizeAndPosition )
virtual IWindow& moveTo(const IPoint& newPosition)
virtual IRectangle nativeRect() const
virtual INotifierAddress notifierAddress() const
virtual IWindow& notifyObservers( const INotificationEvent& event )
virtual IWindow& notifyObserversAsync( const INotificationEvent& event )
static IWindow* objectWindow()
virtual IWindow* owner() const
IWindow* parent() const
virtual ISize parentSize() const
static ISize parentSize(const IWindowHandle& windowHandle)
static IPoint pointerPosition()
virtual IPoint position() const
virtual IWindow& positionBehindSibling( const IWindowHandle& siblingWindow )
virtual IWindow& positionBehindSiblings()
virtual IWindow& positionOnSiblings()
virtual const IWindow& postEvent(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(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 )
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
static INotificationId const allChangesId
static INotificationId const deleteId
static const Style border
static INotificationId const textId
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, unsigned long style, const char* windowClass, const IWindowHandle& parent, const IWindowHandle& owner, const IRectangle& initRect, const void* ctlData, const void* presParams, IWindow::SiblingOrder ordering = defaultOrdering ( ), unsigned long extendedStyle = 0 )
virtual IWindowHandle create( unsigned long id, const char* text, const IBitFlag& style, IXmCreateFunction createFunction, const IWindow* parent, const IWindow* owner, const IRectangle& initRect, IWindow::SiblingOrder ordering = defaultOrdering ( ) )
virtual IWindowHandle create( unsigned long id, const char* text, unsigned long style, IXmCreateFunction createFunction, const IWindowHandle& parent, const IWindowHandle& owner, const IRectangle& initRect, const void* callerArgList, unsigned int callerNumberArguments, IWindow::SiblingOrder ordering = defaultOrdering ( ), unsigned long extendedStyle = 0 )
virtual IWindowHandle create( unsigned long id, const char* text, const IBitFlag& style, const char* windowClass, const IWindow* parent, const IWindow* owner, const IRectangle& initRect, const void* ctlData, const void* presParams, IWindow::SiblingOrder ordering = defaultOrdering ( ) )
IWindow& defaultProcedure(IEvent& event)
bool deleteIsInProcess() const
bool dispatch(IEvent& event)
virtual unsigned long extendedStyle() const
bool isBoundToMessageQueue() const
virtual bool isDragStarting(IEvent& event)
bool isPrimaryWindow() const
bool isUserWindowWordReserved() const
IWindow()
IWindowNotifyHandler* notificationHandler() const
virtual IWindow& notifyObservers( const INotificationId& notification )
IObserverList& observerList( const IInterest* interest = 0 ) const
virtual 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
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
bool areChildrenReversed() const
virtual IWindowPosBuffer fixupChildren()
ICanvas()
ICanvas&
initialize( unsigned long windowIdentifier,
IWindow* parent,
IWindow* owner,
const IRectangle& initialRect,
unsigned long style,
unsigned long extendedStyle )
virtual ICanvas& layout()
ISize layoutSize() const
virtual bool passEventToOwner(IEvent& event)
IRectangle rectangleInsideBorder( const ISize& sizeWithBorder ) const
virtual ICanvas& setBidiSettings( const IBidiSettings& bidiSettings, bool childInherit, bool refresh )
ICanvas& setLayoutSize(const ISize& size)
ISize sizeWithBorder(const ISize& sizeWithoutBorder) const
IControl()