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

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

# Exponent::GUI::Controls::CScrollPanel Class Reference

Inheritance diagram for Exponent::GUI::Controls::CScrollPanel:

List of all members.

## Detailed Description

Scrollable control panel.

Date:
  21/04/2005

Author:
  Paul Chana

Version:
  1.0.0 Initial version

  1.0.1 Added getVirtualArea function

  1.0.2 Added resetViewPort function

  1.0.3 Updated to new format, fixing standard functionality so that it now works :)

  1.0.4 Added child sorting

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
  CScrollPanel.hpp,v 1.5 2007/02/08 21:07:54 paul Exp

Definition at line 41 of file CScrollPanel.hpp.

## Public Member Functions

- CScrollPanel (IControlRoot *root, const long uniqueId, const CRect &area, const CRect &virtualArea)
- virtual void drawControl (CGraphics &graphics)
- const CRect & getVirtualArea () const
- virtual void getWindowCoordinatesOfControl (IControl *control, CPoint &point)
- virtual CPoint getWindowOffset ()
- virtual void handleDoubleClick (CMouseEvent &event)
- virtual void handleLeftButtonDown (CMouseEvent &event)
- virtual void handleLeftButtonUp (CMouseEvent &event)
- virtual void handleMouseLeavingArea (CMouseEvent &event)
- virtual void handleMouseMovement (CMouseEvent &event)
- virtual void handleMouseScroll (CMouseEvent &event)
- virtual void handleRightButtonDown (CMouseEvent &event)
- virtual void handleRightButtonUp (CMouseEvent &event)
- virtual void handleScrollEvent (const CScrollEvent &event)
- void setVirtualArea (const CRect &virtualArea)
- void sortChildControls ()
- virtual void updateArea (const CRect &area)
- virtual void updateControl (IControl *control)
- virtual ~CScrollPanel ()

## Protected Attributes

- CPoint m_inverseViewPointPosition
- CPoint m_viewPointPosition
- CRect m_virtualArea

## Constructor & Destructor Documentation

Exponent::GUI::Controls::CScrollPanel::CScrollPanel | ( | IControlRoot * | root,
|  | const long | uniqueId,
|  | const CRect & | area,
|  | const CRect & | virtualArea |
| ) |  |  |

Construction

Parameters:

  | root | The root panel
  | uniqueId | The unique panel id
  | area | The controls onscreen area (NOT VIRTUAL AREA!!!
  | virtualArea | The total virtual area that the scroll panel convers

virtual Exponent::GUI::Controls::CScrollPanel::~CScrollPanel | ( |  | ) | `[virtual]`

Destruction

## Member Function Documentation

virtual void Exponent::GUI::Controls::CScrollPanel::drawControl | ( | CGraphics & | graphics | ) | `[virtual]`

Draw the control

Parameters:

  | graphics | The graphics context to draw with

Reimplemented from Exponent::GUI::Controls::CControlPanel.

const CRect& Exponent::GUI::Controls::CScrollPanel::getVirtualArea | ( |  | ) | const`[inline]`

Get the virtual area

Return values:

  | const | CRect & The virtual area

Definition at line 99 of file CScrollPanel.hpp.

References m_virtualArea.

virtual void Exponent::GUI::Controls::CScrollPanel::getWindowCoordinatesOfControl | ( | IControl * | control,
|  | CPoint & | point |
| ) |  |  | `[virtual]`

Get the global location of the control

Parameters:

  | control | The control to get the location of
  | point | The point to store the window position in

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual CPoint Exponent::GUI::Controls::CScrollPanel::getWindowOffset | ( |  | ) | `[virtual]`

Get the window offset of a control

Return values:

  | CPoint* | The window offset as a new point that you own

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleDoubleClick | ( | CMouseEvent & | event | ) | `[virtual]`

Handle a double click on the left button

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleLeftButtonDown | ( | CMouseEvent & | event | ) | `[virtual]`

Handle left button being clicked

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleLeftButtonUp | ( | CMouseEvent & | event | ) | `[virtual]`

Handle left button being released

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleMouseLeavingArea | ( | CMouseEvent & | event | ) | `[virtual]`

Handle a mouse leaving the root area

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleMouseMovement | ( | CMouseEvent & | event | ) | `[virtual]`

Handle the mouse movement

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleMouseScroll | ( | CMouseEvent & | event | ) | `[virtual]`

Handle the scroll wheel

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleRightButtonDown | ( | CMouseEvent & | event | ) | `[virtual]`

Handle the right button being clicked

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleRightButtonUp | ( | CMouseEvent & | event | ) | `[virtual]`

Handle the right button being released

Parameters:

  | event | The event to handle

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::handleScrollEvent | ( | const CScrollEvent & | event | ) | `[virtual]`

Handle scrolling events

Parameters:

  | event | The scrolling event to handle

void Exponent::GUI::Controls::CScrollPanel::setVirtualArea | ( | const CRect & | virtualArea | ) |

Set the virtual area

Parameters:

  | virtualArea | The new virtual area

void Exponent::GUI::Controls::CScrollPanel::sortChildControls | ( |  | ) |

Sort the children controls, removing NULL controls

virtual void Exponent::GUI::Controls::CScrollPanel::updateArea | ( | const CRect & | area | ) | `[virtual]`

Update an area

Parameters:

  | area | The area to update

Reimplemented from Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CScrollPanel::updateControl | ( | IControl * | control | ) | `[virtual]`

Update (redraw) a control

Parameters:

  | control | The control to redraw

Reimplemented from Exponent::GUI::Controls::CControlPanel.

## Member Data Documentation

CPoint Exponent::GUI::Controls::CScrollPanel::m_inverseViewPointPosition`[protected]`

Negative view point position

Definition at line 210 of file CScrollPanel.hpp.

CPoint Exponent::GUI::Controls::CScrollPanel::m_viewPointPosition`[protected]`

The amount of offset that we have to apply, aka the view port top left

Definition at line 209 of file CScrollPanel.hpp.

CRect Exponent::GUI::Controls::CScrollPanel::m_virtualArea`[protected]`

The virtual area to be convered

Definition at line 208 of file CScrollPanel.hpp.

Referenced by getVirtualArea().