- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Exponent::GUI::Windowing::CWindow Class Reference

Inheritance diagram for Exponent::GUI::Windowing::CWindow:

List of all members.

## Detailed Description

Implementation of a window.

Date:
  20/03/2005

Author:
  Paul Chana

Version:
  1.0.0 Initial version

Note:
  All contents of this source code are copyright 2005 Exp Digital Uk.
  This source file is covered by the licence conditions of the Infinity API. You should have recieved a copy
  with the source code. If you didnt, please refer to http://www.expdigital.co.uk All content is the Intellectual property of Exp Digital Uk.
  Certain sections of this code may come from other sources. They are credited where applicable.
  If you have comments, suggestions or bug reports please visit http://support.expdigital.co.uk

Id
  CWindow.hpp,v 1.10 2007/03/03 02:59:20 paul Exp

Definition at line 61 of file CWindow.hpp.

## Public Member Functions

- virtual void addTimedObject (ITimedObject *timedObject)
- virtual void clearTimedObjects ()
- virtual void closeWindow ()
- CWindow (const CRect &size)
- virtual void dereference ()
- virtual void disableWindow ()
- virtual void draw (CGraphics &graphics)
- virtual void enableWindow ()
- virtual void gainedFocus (IWindow *window)
- virtual IControlRoot * getControlRoot () const
- virtual CMouse * getMouse ()
- virtual IToolTip * getMutableToolTip () const
- virtual SWindowHandle * getMutableWindowHandle () const
- virtual void getObjectDescription (char *string, const long size) const
- virtual IWindow * getParentWindow () const
- virtual long getReferenceCount () const
- virtual const IToolTip * getToolTip () const
- virtual CWindowAttributes * getWindowAttributes () const
- virtual const SWindowHandle * getWindowHandle () const
- virtual const CPoint & getWindowPosition () const
- virtual const CRect & getWindowPositionAndSize () const
- virtual const CDimension & getWindowSize () const
- virtual void handleTimerEvent (const long id)
- virtual void initialiseWindow (CWindowAttributes *windowAttributes, const bool showWindow)
- virtual bool isDropFileEnabled () const
- virtual bool isKeyboardEnabled () const
- virtual bool isMouseEnabled () const
- virtual void lostFocus (IWindow *window)
- virtual void openWindow ()
- virtual void redrawWindow ()
- virtual void redrawWindow (const CRect &area)
- virtual void referenced ()
- virtual void registerChildWindow (IWindow *child)
- virtual void registerDropFileListener (IDropFileListener *listener)
- virtual void registerFocusListener (IFocusListener *listener)
- virtual void registerKeyboardListener (IKeyboardListener *listener)
- virtual void registerMouseListener (IMouseListener *listener)
- virtual void registerWindowChangeListener (IWindowChangeListener *listener)
- virtual void removeTimedObject (ITimedObject *timedObject)
- virtual void setParentWindow (IWindow *parent)
- virtual void setToolTip (IToolTip *toolTip=NULL)
- virtual void setWindowAlpha (const double alpha)
- virtual void setWindowPosition (const CPoint &position)
- virtual void setWindowPositionAndSize (const CRect &positionAndSize)
- virtual void setWindowSize (const CDimension &dimension)
- virtual void startTimer (const long id, const long timeInMilliseconds)
- virtual void stopTimer (const long id)
- virtual void uninitialiseWindow ()
- virtual void unregisterAllChildWindows ()
- virtual void unregisterChldWindow (IWindow *child)
- virtual void updateWindow ()
- virtual bool windowClosed (IWindow *window)
- virtual void windowMaximised (IWindow *window)
- virtual void windowMinimised (IWindow *window)
- virtual void windowMoved (IWindow *window, const CPoint &newTopLeft)
- virtual void windowOpened (IWindow *window)
- virtual void windowSized (IWindow *window, const CDimension &newDimension)
- virtual ~CWindow ()

## Protected Member Functions

- virtual void constructKeyboardEvent (EventRef theEvent)
- virtual void constructMousePosition (EventRef theEvent)
- virtual void constructMousePosition (LPARAM lParam)
- virtual bool createWindow ()
- virtual void destroyWindow ()
- virtual pascal OSErr handleDropEvent (WindowRef window, DragRef dragReference)
- virtual LRESULT handleKeyboardEvents (int nCode, WPARAM wParam, LPARAM lParam)
- LRESULT handleMouseWheelEvents (int nCode, WPARAM wParam, LPARAM lParam)
- virtual pascal OSStatus handleWindowEvents (EventHandlerCallRef handler, EventRef theEvent)
- virtual LRESULT handleWindowEvents (HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam)
- virtual void startTrackMouseEvent ()
- virtual void unhookKeyboardHandler ()
- void unhookWheelHandler ()

## Static Protected Member Functions

- static pascal OSErr handleDropMessages (WindowRef window, void *userData, DragRef dragReference)
- static void handleTimerMessages (CFRunLoopTimerRef timer, void *info)
- static LRESULT CALLBACK KeyboardProc (int nCode, WPARAM wParam, LPARAM lParam)
- static LRESULT CALLBACK MouseWheelProc (int nCode, WPARAM wParam, LPARAM lParam)
- static VOID CALLBACK TimerProc (HWND windowHandle, UINT message, UINT_PTR eventID, DWORD dwTime)
- static pascal OSStatus WindowProc (EventHandlerCallRef handler, EventRef theEvent, void *userData)
- static LRESULT CALLBACK WindowProc (HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam)

## Protected Attributes

- CWindowAttributes * m_attributes
- IDropFileListener * m_dropFileListener
- IFocusListener * m_focusListener
- CGraphics m_graphics
- HHOOK m_keyboardHook
- IKeyboardListener * m_keyboardListener
- CKeyboardEvent m_keyEvent
- bool m_leftClick
- CMouse m_mouse
- CMouseEvent m_mouseEvent
- HHOOK m_mouseHook
- IMouseListener * m_mouseListener
- CPoint m_mousePoint
- CRect m_redrawUpdateArea
- long m_referenceCount
- SETLAYERATTRIBUTE m_setLayeredWindowAttributes
- CControlRoot * m_theControlRoot
- TPointerCollection< ITimedObject > * m_timedObjects
- TPointerCollection< CTimerObject > * m_timerContexts
- IToolTip * m_toolTip
- bool m_updateAreaIsValid
- HIViewRef m_userWindow
- IWindowChangeListener * m_windowChangeListener
- CDimension m_windowDimension
- SWindowHandle * m_windowHandle
- bool m_windowInitialised
- IWindow * m_windowParent
- CPoint m_windowPosition
- CRect m_windowSize

## Static Protected Attributes

- static HWND m_hookWindowHandle

## Classes

- class CTimerObject
    Mac Specific inner timer object, ties together the CFTimer stuff and our timers. More...

## Constructor & Destructor Documentation

Exponent::GUI::Windowing::CWindow::CWindow | ( | const CRect & | size | ) |

Construction

Parameters:

  | size | The size of the window

virtual Exponent::GUI::Windowing::CWindow::~CWindow | ( |  | ) | `[virtual]`

Destruction

## Member Function Documentation

virtual void Exponent::GUI::Windowing::CWindow::addTimedObject | ( | ITimedObject * | timedObject | ) | `[virtual]`

Add a new timed object

Parameters:

  | timedObject | The object to add to the timer collection

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::clearTimedObjects | ( |  | ) | `[virtual]`

Clear the timed bojects

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::closeWindow | ( |  | ) | `[virtual]`

Close the widnow

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::constructKeyboardEvent | ( | EventRef | theEvent | ) | `[protected, virtual]`

Construct the keyboard event

Parameters:

  | theEvent | The mac key board event

virtual void Exponent::GUI::Windowing::CWindow::constructMousePosition | ( | EventRef | theEvent | ) | `[protected, virtual]`

Construct the mouse position

Parameters:

  | theEvent | The mac mouse event

virtual void Exponent::GUI::Windowing::CWindow::constructMousePosition | ( | LPARAM | lParam | ) | `[protected, virtual]`

Construct a mouse position

Parameters:

  | lParam | The windows mouse position

virtual bool Exponent::GUI::Windowing::CWindow::createWindow | ( |  | ) | `[protected, virtual]`

Create the window

virtual void Exponent::GUI::Windowing::CWindow::dereference | ( |  | ) | `[virtual]`

Decrement the reference count. Object is deleted if reference count is <= 0

virtual void Exponent::GUI::Windowing::CWindow::destroyWindow | ( |  | ) | `[protected, virtual]`

Destroy the widnow

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::disableWindow | ( |  | ) | `[virtual]`

Disable the window

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::draw | ( | CGraphics & | graphics | ) | `[virtual]`

Draw the window images...

Parameters:

  | graphics | The graphics handle to use

virtual void Exponent::GUI::Windowing::CWindow::enableWindow | ( |  | ) | `[virtual]`

Enable the window

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::gainedFocus | ( | IWindow * | window | ) | `[virtual]`

Window gained the focus

Parameters:

  | window | The window that lost focus

Reimplemented in Exponent::GUI::Windowing::CMenuWindow.

virtual IControlRoot* Exponent::GUI::Windowing::CWindow::getControlRoot | ( |  | ) | const`[inline, virtual]`

Get the control root

Return values:

  | IControlRoot* | The control root of this window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 404 of file CWindow.hpp.

virtual CMouse* Exponent::GUI::Windowing::CWindow::getMouse | ( |  | ) | `[inline, virtual]`

Get the mouse

Return values:

  | CMouse* | The mouse for this window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 398 of file CWindow.hpp.

virtual IToolTip* Exponent::GUI::Windowing::CWindow::getMutableToolTip | ( |  | ) | const`[inline, virtual]`

Get the mutable tool tip

Return values:

  | IToolTip* | The tool tip

Implements Exponent::GUI::Windowing::IToolTipSupportingWindow.

Definition at line 387 of file CWindow.hpp.

References m_toolTip.

virtual SWindowHandle* Exponent::GUI::Windowing::CWindow::getMutableWindowHandle | ( |  | ) | const`[inline, virtual]`

Get the widow handle

Return values:

  | SWindowHandle* | The handle of this window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 157 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::getObjectDescription | ( | char * | string,
|  | const long | size |
| ) |  |  | const`[virtual]`

Get a description of the object

Parameters:

  | string | On return is filled with the description
  | size | The size of the stirng

virtual IWindow* Exponent::GUI::Windowing::CWindow::getParentWindow | ( |  | ) | const`[inline, virtual]`

Get hte parent window

Return values:

  | IWindow* | The parent window, may be NULL

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 121 of file CWindow.hpp.

virtual long Exponent::GUI::Windowing::CWindow::getReferenceCount | ( |  | ) | const`[virtual]`

Get the reference count

Return values:

  | long | The reference count

virtual const IToolTip* Exponent::GUI::Windowing::CWindow::getToolTip | ( |  | ) | const`[inline, virtual]`

Get the tool tip

Return values:

  | const | IToolTip* The tool tip

Implements Exponent::GUI::Windowing::IToolTipSupportingWindow.

Definition at line 390 of file CWindow.hpp.

References m_toolTip.

virtual CWindowAttributes* Exponent::GUI::Windowing::CWindow::getWindowAttributes | ( |  | ) | const`[inline, virtual]`

Get the widow attributes

Return values:

  | CWindowAttributes* | The attributes of this window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 163 of file CWindow.hpp.

virtual const SWindowHandle* Exponent::GUI::Windowing::CWindow::getWindowHandle | ( |  | ) | const`[inline, virtual]`

Get the widow handle

Return values:

  | const | SWindowHandle* The handle of this window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 151 of file CWindow.hpp.

virtual const CPoint& Exponent::GUI::Windowing::CWindow::getWindowPosition | ( |  | ) | const`[inline, virtual]`

Get the postion relative to the parent

Return values:

  | const | CPoint& The window position relative to the parent, usually the desktop

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 257 of file CWindow.hpp.

virtual const CRect& Exponent::GUI::Windowing::CWindow::getWindowPositionAndSize | ( |  | ) | const`[inline, virtual]`

Get the size and position

Return values:

  | const | CRect& The size and position of the window

See also:
  getWindowSize

  getWindowPosition

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 283 of file CWindow.hpp.

virtual const CDimension& Exponent::GUI::Windowing::CWindow::getWindowSize | ( |  | ) | const`[inline, virtual]`

Get the size of the window

Return values:

  | const | CDimension& The dimension of the window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 269 of file CWindow.hpp.

virtual pascal OSErr Exponent::GUI::Windowing::CWindow::handleDropEvent | ( | WindowRef | window,
|  | DragRef | dragReference |
| ) |  |  | `[protected, virtual]`

Handle a drag and drop event

Parameters:

  | window | The window dropped to
  | dragReference | A reference to the dragged object

Return values:

  | pascal | OSErr The error status, did we handle?

static pascal OSErr Exponent::GUI::Windowing::CWindow::handleDropMessages | ( | WindowRef | window,
|  | void * | userData,
|  | DragRef | dragReference |
| ) |  |  | `[static, protected]`

Handle drag and drop messages

Parameters:

  | window | The window that had a drop message
  | userData | The user data assocuated with the window
  | dragReference | The object dropped

Return values:

  | pascal | OSErr The error status, did we handle?

Note:
  intended for internal use

virtual LRESULT Exponent::GUI::Windowing::CWindow::handleKeyboardEvents | ( | int | nCode,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[protected, virtual]`

Handle key hook events

Parameters:

  | nCode | The key code
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

See also:
  Windows hooks

LRESULT Exponent::GUI::Windowing::CWindow::handleMouseWheelEvents | ( | int | nCode,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[protected]`

Handle key hook events

Parameters:

  | nCode | The key code
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

See also:
  Windows hooks

virtual void Exponent::GUI::Windowing::CWindow::handleTimerEvent | ( | const long | id | ) | `[virtual]`

Handle a timer event happening - Intended for internal use

Parameters:

  | id | The id of the timer that has fired an event

Implements Exponent::GUI::Windowing::IWindow.

static void Exponent::GUI::Windowing::CWindow::handleTimerMessages | ( | CFRunLoopTimerRef | timer,
|  | void * | info |
| ) |  |  | `[static, protected]`

Handle timer events

Parameters:

  | timer | The timer that expired
  | info | The timer info

Note:
  intended for internal use

virtual pascal OSStatus Exponent::GUI::Windowing::CWindow::handleWindowEvents | ( | EventHandlerCallRef | handler,
|  | EventRef | theEvent |
| ) |  |  | `[protected, virtual]`

Handle window events

Parameters:

  | handler | The window handler
  | theEvent | The mac window event

Return values:

  | pascal | OSErr The error status, did we handle?

virtual LRESULT Exponent::GUI::Windowing::CWindow::handleWindowEvents | ( | HWND | windowHandle,
|  | UINT | message,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[protected, virtual]`

Handle window events

Parameters:

  | windowHandle | The handle to the window
  | message | The message to handle
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

virtual void Exponent::GUI::Windowing::CWindow::initialiseWindow | ( | CWindowAttributes * | windowAttributes,
|  | const bool | showWindow |
| ) |  |  | `[virtual]`

Initilalise the window

Parameters:

  | windowAttributes | The window attributes. (copy should be made, do not store this pointer - it may be deleted...)
  | showWindow | Should the window be shown immediately

Implements Exponent::GUI::Windowing::IWindow.

virtual bool Exponent::GUI::Windowing::CWindow::isDropFileEnabled | ( |  | ) | const`[inline, virtual]`

Can the window handle dropped files??

Return values:

  | bool | True if window can handle dropped files, false otherwise

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 379 of file CWindow.hpp.

virtual bool Exponent::GUI::Windowing::CWindow::isKeyboardEnabled | ( |  | ) | const`[inline, virtual]`

Can the window handle dropped files??

Return values:

  | bool | True if window can handle keyboard events, false otherwise

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 373 of file CWindow.hpp.

virtual bool Exponent::GUI::Windowing::CWindow::isMouseEnabled | ( |  | ) | const`[inline, virtual]`

Can the window handle dropped files??

Return values:

  | bool | True if window can handle mouse events, false otherwise

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 367 of file CWindow.hpp.

static LRESULT CALLBACK Exponent::GUI::Windowing::CWindow::KeyboardProc | ( | int | nCode,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[static, protected]`

Handle key hook events

Parameters:

  | nCode | The key code
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

See also:
  Windows hooks

virtual void Exponent::GUI::Windowing::CWindow::lostFocus | ( | IWindow * | window | ) | `[virtual]`

Window lost the focus

Parameters:

  | window | The window that lost focus

Reimplemented in Exponent::GUI::Windowing::CAboutWindow, and Exponent::GUI::Windowing::CMenuWindow.

static LRESULT CALLBACK Exponent::GUI::Windowing::CWindow::MouseWheelProc | ( | int | nCode,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[static, protected]`

Handle wheel hook events

Parameters:

  | nCode | The key code
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

See also:
  Windows hooks

virtual void Exponent::GUI::Windowing::CWindow::openWindow | ( |  | ) | `[virtual]`

Open the window

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::redrawWindow | ( |  | ) | `[virtual]`

Set the whole window dirty - generally use sparingly!!

Implements Exponent::GUI::Windowing::IWindow.

Reimplemented in Exponent::Vst::CVstWindow.

virtual void Exponent::GUI::Windowing::CWindow::redrawWindow | ( | const CRect & | area | ) | `[virtual]`

Set an area of the window dirty

Parameters:

  | area | The area of the window relative to its top left to draw

Reimplemented in Exponent::Vst::CVstWindow.

virtual void Exponent::GUI::Windowing::CWindow::referenced | ( |  | ) | `[virtual]`

Increment the reference count

virtual void Exponent::GUI::Windowing::CWindow::registerChildWindow | ( | IWindow * | child | ) | `[virtual]`

Register a child window

Parameters:

  | child | The child window

Note:
  For future use

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::registerDropFileListener | ( | IDropFileListener * | listener | ) | `[inline, virtual]`

Register a drop file listener

Parameters:

  | listener | The listener for drop file information

Definition at line 353 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::registerFocusListener | ( | IFocusListener * | listener | ) | `[inline, virtual]`

Register a focus listener

Parameters:

  | listener | The listener for window focus information

Definition at line 335 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::registerKeyboardListener | ( | IKeyboardListener * | listener | ) | `[inline, virtual]`

Register keyboard listener

Parameters:

  | listener | The listener for keyboard information

Definition at line 359 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::registerMouseListener | ( | IMouseListener * | listener | ) | `[inline, virtual]`

Register a mouse listener

Parameters:

  | listener | The listener for mouse information

Definition at line 347 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::registerWindowChangeListener | ( | IWindowChangeListener * | listener | ) | `[inline, virtual]`

Register a window change listener

Parameters:

  | listener | The listener for window change information

Definition at line 341 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::removeTimedObject | ( | ITimedObject * | timedObject | ) | `[virtual]`

Remove a timed objects

Parameters:

  | timedObject | The object to remove from timing

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::setParentWindow | ( | IWindow * | parent | ) | `[inline, virtual]`

Set the parent window of this window

Parameters:

  | parent | The parent window

Implements Exponent::GUI::Windowing::IWindow.

Definition at line 115 of file CWindow.hpp.

virtual void Exponent::GUI::Windowing::CWindow::setToolTip | ( | IToolTip * | toolTip = `NULL` | ) | `[inline, virtual]`

Set the tooltip to display

Parameters:

  | toolTip | The tool tip to display

Implements Exponent::GUI::Windowing::IToolTipSupportingWindow.

Definition at line 384 of file CWindow.hpp.

References m_toolTip.

virtual void Exponent::GUI::Windowing::CWindow::setWindowAlpha | ( | const double | alpha | ) | `[virtual]`

Set the window alpha value

Parameters:

  | alpha | The alpha level 0 - 1

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::setWindowPosition | ( | const CPoint & | position | ) | `[virtual]`

Set the position of the window relative to its parent

Parameters:

  | position | The position relative to the parent, usually the desktop

virtual void Exponent::GUI::Windowing::CWindow::setWindowPositionAndSize | ( | const CRect & | positionAndSize | ) | `[virtual]`

Set the size and position

Parameters:

  | positionAndSize | The new position and size of the window

virtual void Exponent::GUI::Windowing::CWindow::setWindowSize | ( | const CDimension & | dimension | ) | `[virtual]`

Set the size of the widnwo

Parameters:

  | dimension | The dimension of the window

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::startTimer | ( | const long | id,
|  | const long | timeInMilliseconds |
| ) |  |  | `[virtual]`

Start a timer

Parameters:

  | id | The unique id of the timer object to start
  | timeInMilliseconds | The time in milliseconds between updates

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::startTrackMouseEvent | ( |  | ) | `[protected, virtual]`

Start a track mouse event

virtual void Exponent::GUI::Windowing::CWindow::stopTimer | ( | const long | id | ) | `[virtual]`

Stop a timer

Parameters:

  | id | The unique id of the timer

Implements Exponent::GUI::Windowing::IWindow.

static VOID CALLBACK Exponent::GUI::Windowing::CWindow::TimerProc | ( | HWND | windowHandle,
|  | UINT | message,
|  | UINT_PTR | eventID,
|  | DWORD | dwTime |
| ) |  |  | `[static, protected]`

Handle timer events

Parameters:

  | windowHandle | The handle to the window being timed
  | message | The message
  | eventID | The id of the timer event
  | dwTime | The time position

See also:
  TimerProc in platform SDK

virtual void Exponent::GUI::Windowing::CWindow::unhookKeyboardHandler | ( |  | ) | `[protected, virtual]`

Unhook the keyboard handler

void Exponent::GUI::Windowing::CWindow::unhookWheelHandler | ( |  | ) | `[protected]`

Unhook the wheel handler

virtual void Exponent::GUI::Windowing::CWindow::uninitialiseWindow | ( |  | ) | `[virtual]`

Uninitialise the window

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::unregisterAllChildWindows | ( |  | ) | `[virtual]`

Unregister all child windows

Note:
  For future use

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::unregisterChldWindow | ( | IWindow * | child | ) | `[virtual]`

Unregister a specific child window

Parameters:

  | child | The child window to unregister

Note:
  For future use

Implements Exponent::GUI::Windowing::IWindow.

virtual void Exponent::GUI::Windowing::CWindow::updateWindow | ( |  | ) | `[virtual]`

Update the window redraws entire window

Implements Exponent::GUI::Windowing::IWindow.

virtual bool Exponent::GUI::Windowing::CWindow::windowClosed | ( | IWindow * | window | ) | `[virtual]`

Window has been closed

Parameters:

  | window | The window that was changed

Return values:

  | bool | Return true to close, return false to cancel closure

virtual void Exponent::GUI::Windowing::CWindow::windowMaximised | ( | IWindow * | window | ) | `[virtual]`

Window has been maximised

Parameters:

  | window | The window that was changed

virtual void Exponent::GUI::Windowing::CWindow::windowMinimised | ( | IWindow * | window | ) | `[virtual]`

Window has been minimised

Parameters:

  | window | The window that was changed

virtual void Exponent::GUI::Windowing::CWindow::windowMoved | ( | IWindow * | window,
|  | const CPoint & | newTopLeft |
| ) |  |  | `[virtual]`

Window has been moved

Parameters:

  | window | The window that was changed
  | newTopLeft | The new top left of the window

virtual void Exponent::GUI::Windowing::CWindow::windowOpened | ( | IWindow * | window | ) | `[virtual]`

Window has been opened

Parameters:

  | window | The window that was changed

static pascal OSStatus Exponent::GUI::Windowing::CWindow::WindowProc | ( | EventHandlerCallRef | handler,
|  | EventRef | theEvent,
|  | void * | userData |
| ) |  |  | `[static, protected]`

Main proc call back function for window

Parameters:

  | handler | The event handler
  | theEvent | The event to handler
  | userData | The window user data

Return values:

  | pascal | OSStatus The error status, did we handle?

Note:
  intended for internal use

static LRESULT CALLBACK Exponent::GUI::Windowing::CWindow::WindowProc | ( | HWND | windowHandle,
|  | UINT | message,
|  | WPARAM | wParam,
|  | LPARAM | lParam |
| ) |  |  | `[static, protected]`

Main proc call back function for windows

Parameters:

  | windowHandle | The handle to the window
  | message | The message to handle
  | wParam | The high bits
  | lParam | The low bits

Return values:

  | LRESULT | the result, did we handle?

virtual void Exponent::GUI::Windowing::CWindow::windowSized | ( | IWindow * | window,
|  | const CDimension & | newDimension |
| ) |  |  | `[virtual]`

Window has been resized

Parameters:

  | window | The window that was changed
  | newDimension | The new size of the window

## Member Data Documentation

CWindowAttributes* Exponent::GUI::Windowing::CWindow::m_attributes`[protected]`

Attributes of the window

Definition at line 679 of file CWindow.hpp.

IDropFileListener* Exponent::GUI::Windowing::CWindow::m_dropFileListener`[protected]`

Drop file listener

Definition at line 674 of file CWindow.hpp.

IFocusListener* Exponent::GUI::Windowing::CWindow::m_focusListener`[protected]`

Window focus changed listener

Definition at line 677 of file CWindow.hpp.

CGraphics Exponent::GUI::Windowing::CWindow::m_graphics`[protected]`

The graphics object

Definition at line 689 of file CWindow.hpp.

HWND Exponent::GUI::Windowing::CWindow::m_hookWindowHandle`[static, protected]`

The window hook

Definition at line 710 of file CWindow.hpp.

HHOOK Exponent::GUI::Windowing::CWindow::m_keyboardHook`[protected]`

The hook for keyboard events

Definition at line 708 of file CWindow.hpp.

IKeyboardListener* Exponent::GUI::Windowing::CWindow::m_keyboardListener`[protected]`

Keyboatd listener

Definition at line 675 of file CWindow.hpp.

CKeyboardEvent Exponent::GUI::Windowing::CWindow::m_keyEvent`[protected]`

The keyboard event

Definition at line 692 of file CWindow.hpp.

bool Exponent::GUI::Windowing::CWindow::m_leftClick`[protected]`

Is this a left click?

Definition at line 714 of file CWindow.hpp.

CMouse Exponent::GUI::Windowing::CWindow::m_mouse`[protected]`

The mouse

Definition at line 687 of file CWindow.hpp.

CMouseEvent Exponent::GUI::Windowing::CWindow::m_mouseEvent`[protected]`

The mouse event

Definition at line 691 of file CWindow.hpp.

HHOOK Exponent::GUI::Windowing::CWindow::m_mouseHook`[protected]`

The hook for mouse wheel events

Definition at line 709 of file CWindow.hpp.

IMouseListener* Exponent::GUI::Windowing::CWindow::m_mouseListener`[protected]`

Mouse listener

Definition at line 673 of file CWindow.hpp.

CPoint Exponent::GUI::Windowing::CWindow::m_mousePoint`[protected]`

Current mouse position

Definition at line 688 of file CWindow.hpp.

CRect Exponent::GUI::Windowing::CWindow::m_redrawUpdateArea`[protected]`

The area to update

Definition at line 716 of file CWindow.hpp.

long Exponent::GUI::Windowing::CWindow::m_referenceCount`[protected]`

How many things point to this item?

Definition at line 702 of file CWindow.hpp.

SETLAYERATTRIBUTE Exponent::GUI::Windowing::CWindow::m_setLayeredWindowAttributes`[protected]`

The layered window function

Definition at line 707 of file CWindow.hpp.

CControlRoot* Exponent::GUI::Windowing::CWindow::m_theControlRoot`[protected]`

The root control that all window have

Definition at line 700 of file CWindow.hpp.

TPointerCollection<ITimedObject>* Exponent::GUI::Windowing::CWindow::m_timedObjects`[protected]`

The timed objects

Definition at line 698 of file CWindow.hpp.

TPointerCollection<CTimerObject>* Exponent::GUI::Windowing::CWindow::m_timerContexts`[protected]`

The timer contexts..

Definition at line 715 of file CWindow.hpp.

IToolTip* Exponent::GUI::Windowing::CWindow::m_toolTip`[protected]`

The tool tip for this window

Definition at line 696 of file CWindow.hpp.

Referenced by getMutableToolTip(), getToolTip(), and setToolTip().

bool Exponent::GUI::Windowing::CWindow::m_updateAreaIsValid`[protected]`

Do we draw with the update area?

Definition at line 717 of file CWindow.hpp.

HIViewRef Exponent::GUI::Windowing::CWindow::m_userWindow`[protected]`

Hiview ref for the user pane

Definition at line 718 of file CWindow.hpp.

IWindowChangeListener* Exponent::GUI::Windowing::CWindow::m_windowChangeListener`[protected]`

Window changed listener

Definition at line 676 of file CWindow.hpp.

CDimension Exponent::GUI::Windowing::CWindow::m_windowDimension`[protected]`

The dimensions of the window

Definition at line 683 of file CWindow.hpp.

SWindowHandle* Exponent::GUI::Windowing::CWindow::m_windowHandle`[protected]`

Handle of the window

Definition at line 680 of file CWindow.hpp.

bool Exponent::GUI::Windowing::CWindow::m_windowInitialised`[protected]`

Is the window intialised?

Definition at line 694 of file CWindow.hpp.

IWindow* Exponent::GUI::Windowing::CWindow::m_windowParent`[protected]`

The parent of this window

Definition at line 681 of file CWindow.hpp.

CPoint Exponent::GUI::Windowing::CWindow::m_windowPosition`[protected]`

The position (globally) of the window

Definition at line 684 of file CWindow.hpp.

CRect Exponent::GUI::Windowing::CWindow::m_windowSize`[protected]`

The widow size

Definition at line 685 of file CWindow.hpp.