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

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

# Exponent::GUI::Controls::CControl Class Reference

Inheritance diagram for Exponent::GUI::Controls::CControl:

List of all members.

## Detailed Description

Basic implementation of a do nothing control.

Date:
  19/03/2005

Author:
  Paul Chana

Version:
  1.0.0 Initial version

  1.0.1 Added drawPrimaryImage

  1.0.2 Added NO_ID_REQUIRED static

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

Definition at line 39 of file CControl.hpp.

## Public Member Functions

- CControl (IControlRoot *root, const long uniqueId, const CRect &area, IActionListener *listener=NULL)
- virtual void controlIsDropFileEnabled (const bool dropEnabled=true)
- virtual void controlIsEnabledFor (const CString &identifier)
- virtual void controlIsKeyEnabled (const bool keyEnabled=true)
- virtual void controlIsMouseEnabled (const bool mouseEnabled=true)
- virtual void dereference ()
- virtual void disableControl ()
- virtual void doDefaultDrawing (const bool doDefaultDraw)
- virtual void drawControl (CGraphics &graphics)
- virtual void enableControl ()
- virtual const CRect & getAbsoluteRect () const
- virtual const CRect & getArea () const
- virtual const CDimension & getDimension () const
- virtual const CRect & getNormalisedArea () const
- virtual void getObjectDescription (char *string, const long size) const
- virtual IControl * getParentControl () const
- virtual long getReferenceCount () const
- virtual IControlRoot * getRootControl () const
- virtual long getUniqueId () const
- virtual double getValue () const
- virtual void handleDoubleClick (CMouseEvent &event)
- virtual void handleFileDrop (const CDropEvent &event)
- virtual bool handleKeyDown (const CKeyboardEvent &event)
- virtual bool handleKeyUp (const CKeyboardEvent &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 bool isContainer () const
- virtual bool isDropFileEnabled () const
- virtual bool isEnabledFor (const CString &identifier)
- virtual bool isKeyEnabled () const
- virtual bool isMouseEnabled () const
- virtual bool needsRightClick () const
- virtual void referenced ()
- virtual void registerActionListener (IActionListener *listener)
- virtual bool serializeFromNode (CXMLNode &node)
- virtual bool serializeToNode (CXMLNode &node)
- virtual void setArea (const CRect &area)
- virtual void setControlRoot (IControlRoot *controlRoot)
- virtual void setDefaultControlColours (const CAlphaColour &backgroundColour=CAlphaColour::CALPHACOLOUR_WHITE, const CAlphaColour &frameColour=CAlphaColour::CALPHACOLOUR_BLACK)
- virtual void setDisabledImage (IImage *theImage)
- virtual void setParentControl (IControl *parent)
- virtual void setPrimaryImage (IImage *theImage)
- virtual void setUniqueId (const long id)
- virtual void setValue (const double value)
- virtual void update ()
- virtual ~CControl ()

## Static Public Attributes

- static const long CCONTROL_NO_ID_REQUIRED = -1

## Protected Member Functions

- virtual bool drawEnabledControl (CGraphics &graphics)
- virtual void drawPrimaryImage (CGraphics &graphics, const bool drawFrameIfNoImage)
- virtual bool drawPrimaryImage (CGraphics &graphics)

## Protected Attributes

- CRect m_absoluteArea
- IActionListener * m_actionListener
- CRect m_area
- CAlphaColour m_backgroundColour
- CDimension m_dimension
- IImage * m_disabledImage
- bool m_doDefaultDrawing
- bool m_dropEnabled
- bool m_enabled
- CAlphaColour m_frameColour
- bool m_keyboardEnabled
- bool m_mouseEnabled
- bool m_needsRightClick
- CRect m_normalisedArea
- IControl * m_parentControl
- IImage * m_primaryImage
- long m_referenceCount
- IControlRoot * m_rootControl
- long m_uniqueId
- double m_value

## Constructor & Destructor Documentation

Exponent::GUI::Controls::CControl::CControl | ( | IControlRoot * | root,
|  | const long | uniqueId,
|  | const CRect & | area,
|  | IActionListener * | listener = `NULL` |
| ) |  |  |

Construction

Parameters:

  | root | The root control that this control is being added to
  | uniqueId | The unique Identifier of this control or CCONTROL_NO_ID_REQUIRED if no id is required
  | area | The area of this control relative to the root controls top left
  | listener | The action listener

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

Destruction

## Member Function Documentation

virtual void Exponent::GUI::Controls::CControl::controlIsDropFileEnabled | ( | const bool | dropEnabled = `true` | ) | `[inline, virtual]`

Does the control accept dropped files?

Parameters:

  | dropEnabled | If true control accepts drop file events, if false doesnt

Implements Exponent::GUI::Controls::IControl.

Definition at line 115 of file CControl.hpp.

References m_dropEnabled.

virtual void Exponent::GUI::Controls::CControl::controlIsEnabledFor | ( | const CString & | identifier | ) | `[inline, virtual]`

Reserved for Future use

Parameters:

  | identifier | The future identifiers

Implements Exponent::GUI::Controls::IControl.

Definition at line 127 of file CControl.hpp.

virtual void Exponent::GUI::Controls::CControl::controlIsKeyEnabled | ( | const bool | keyEnabled = `true` | ) | `[inline, virtual]`

Does the control accept key messages

Parameters:

  | keyEnabled | If true control accepts key events, if false doesnt

Implements Exponent::GUI::Controls::IControl.

Definition at line 121 of file CControl.hpp.

References m_keyboardEnabled.

virtual void Exponent::GUI::Controls::CControl::controlIsMouseEnabled | ( | const bool | mouseEnabled = `true` | ) | `[inline, virtual]`

Does the control accept mouse messages?

Parameters:

  | mouseEnabled | If true control accepts mouse events, if false doesnt

Implements Exponent::GUI::Controls::IControl.

Definition at line 109 of file CControl.hpp.

References m_mouseEnabled.

virtual void Exponent::GUI::Controls::CControl::dereference | ( |  | ) | `[virtual]`

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

Reimplemented in Exponent::GUI::Controls::CControlPanel.

Referenced by Exponent::GUI::Controls::CControlPanel::dereference().

virtual void Exponent::GUI::Controls::CControl::disableControl | ( |  | ) | `[virtual]`

Disable the control

Implements Exponent::GUI::Controls::IControl.

Reimplemented in Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CControl::doDefaultDrawing | ( | const bool | doDefaultDraw | ) | `[inline, virtual]`

Should the default drawing take place?

Parameters:

  | doDefaultDraw | If true default drawing takes place, if false, drawing doesnt take place

Definition at line 411 of file CControl.hpp.

References m_doDefaultDrawing.

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

Draw the control

Parameters:

  | graphics | The graphics context

Note:
  By the time a draw has been called on your control, the IControlRoot parent that holds your control will have setup
  the clipping area and updated the graphics context to be drawing relative to your top left. Note this again, because its very
  important All drawing inside drawControl is done relative to your own top left
  So for example if you wished to draw a box around your own entire area, you would use the following code:

       // Long hand drawing
       graphics.drawRectangle(CRect(0, 0, this->getArea().getWidth(), this->getArea().getHeight()));

       // Note that for convenience, a normalised (0, 0 based) rect is setup for you during your construtor or calls to set rect.
       // This gives you a quick way to get this rectangle
       graphics.drawRectangle(m_normalisedArea);

  There are three key stages during the drawing of a control.
  1. First you must check To see if the control must actually be drawn. You can do this in two ways. The default and normal way of checking for drawing is
     with a call to drawEnabledControl. If this returns true you are enabled to draw. This function will check if the control is enabled and if it is not, and there
     is a disabled image (setDisabledImage) available, this will be drawn in to our area.
     The second way that you can check if drawing should take place is to directly check the protected variable m_enabled. If this is true, you can draw normally. If this is false
     you should draw your control in a way that indicates that it is disabled
  2. Next you have the option of drawing the primary image. The primary image is normally the background image of the control. If you choose to draw this (either manually or
     with a call to drawPrimaryImage you also have the option of using the default drawing routine (usually this involves drawing a bounding rect around the controls area
     Default drawing option is set via the m_doDefaultDrawing protected variable.
  3. Finally you would draw your controls specific graphics needs

       void CMyControl::drawControl(CGraphics &graphics)
       {
              // First check if we can allow the standard handler to draw the disabled control
              if (!this->drawEnabledControl(graphics))
              {
                  return;
              }

              // Draw the background
              this->drawPrimaryImage(graphics, m_doDefaultDrawing);

              // At this point, do your specific drawing
       }

Reimplemented in Exponent::GUI::Controls::CADSREditor, Exponent::GUI::Controls::CAnimation, Exponent::GUI::Controls::CAnimationFrame, Exponent::GUI::Controls::CAreaBox, Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CComboBox, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CImageLabel, Exponent::GUI::Controls::CLatchingButton, Exponent::GUI::Controls::CLevelMeter, Exponent::GUI::Controls::CMenuItemDisplay, Exponent::GUI::Controls::CMenuItemDisplay::CMenuItemSubMenuPointer, Exponent::GUI::Controls::CMenuItemDisplay::CMenuItemSelectable, Exponent::GUI::Controls::CModulatedSlider, Exponent::GUI::Controls::CModulatedXYPad, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CPresetBrowser::CPresetBrowserSelector::CPresetTextLabel, Exponent::GUI::Controls::CProgressBar, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CRolloverButton, Exponent::GUI::Controls::CScrollBar, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CSlider, Exponent::GUI::Controls::CSliderArray, Exponent::GUI::Controls::CTextEdit, Exponent::GUI::Controls::CTextLabel, Exponent::GUI::Controls::CTriStateImage, Exponent::GUI::Controls::CWaveCycle, Exponent::GUI::Controls::CWindowDragTab, and Exponent::GUI::Controls::CXYPad.

virtual bool Exponent::GUI::Controls::CControl::drawEnabledControl | ( | CGraphics & | graphics | ) | `[protected, virtual]`

Check if the control is enabled. If it isnt, draw the disabled background and return

Parameters:

  | graphics | The graphics context to draw with

Return values:

  | bool | If true the control should be drawn, if false the control should not be drawn

Reimplemented in Exponent::GUI::Controls::CControlPanel, and Exponent::GUI::Controls::CSlider.

virtual void Exponent::GUI::Controls::CControl::drawPrimaryImage | ( | CGraphics & | graphics,
|  | const bool | drawFrameIfNoImage |
| ) |  |  | `[protected, virtual]`

Draw the background

Parameters:

  | graphics | The graphics context to draw with
  | drawFrameIfNoImage | If true the frame is drawn if there is no primary image

Return values:

  | bool | If true the control should be drawn, if false the control should not be drawn

virtual bool Exponent::GUI::Controls::CControl::drawPrimaryImage | ( | CGraphics & | graphics | ) | `[protected, virtual]`

Draw the background

Parameters:

  | graphics | The graphics context to draw with

Return values:

  | bool | If true the control should be drawn, if false the control should not be drawn

virtual void Exponent::GUI::Controls::CControl::enableControl | ( |  | ) | `[virtual]`

Enable a control

Implements Exponent::GUI::Controls::IControl.

Reimplemented in Exponent::GUI::Controls::CControlPanel.

virtual const CRect& Exponent::GUI::Controls::CControl::getAbsoluteRect | ( |  | ) | const`[inline, virtual]`

Get the position on the window

Return values:

  | const | CRect& The position of the control relative to the window hosting controls top left

Implements Exponent::GUI::Controls::IControl.

Definition at line 224 of file CControl.hpp.

References m_absoluteArea.

virtual const CRect& Exponent::GUI::Controls::CControl::getArea | ( |  | ) | const`[inline, virtual]`

Get the position relative to their root

Return values:

  | const | CRect& The position of the control relative to the root controls top left

Implements Exponent::GUI::Controls::IControl.

Definition at line 218 of file CControl.hpp.

References m_area.

virtual const CDimension& Exponent::GUI::Controls::CControl::getDimension | ( |  | ) | const`[inline, virtual]`

Get the size of the control

Return values:

  | const | CDimension& The dimensions of the cotnrol

Implements Exponent::GUI::Controls::IControl.

Definition at line 230 of file CControl.hpp.

References m_dimension.

virtual const CRect& Exponent::GUI::Controls::CControl::getNormalisedArea | ( |  | ) | const`[inline, virtual]`

Get the normalised control area (0, 0, width, height)

Return values:

  | const | CRect& The area of the control with a 0,0 top left

Definition at line 236 of file CControl.hpp.

References m_normalisedArea.

virtual void Exponent::GUI::Controls::CControl::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 IControl* Exponent::GUI::Controls::CControl::getParentControl | ( |  | ) | const`[inline, virtual]`

Get the parent control

Return values:

  | IControl* | The parent control of this control, not necessarily == getControlRoot()

Implements Exponent::GUI::Controls::IControl.

Definition at line 93 of file CControl.hpp.

References m_parentControl.

virtual long Exponent::GUI::Controls::CControl::getReferenceCount | ( |  | ) | const`[inline, virtual]`

Get the reference count

Return values:

  | long | The reference count

Definition at line 429 of file CControl.hpp.

References m_referenceCount.

virtual IControlRoot* Exponent::GUI::Controls::CControl::getRootControl | ( |  | ) | const`[inline, virtual]`

Get the root control

Return values:

  | IControlRoot* | The control root that this control is a child of

Implements Exponent::GUI::Controls::IControl.

Definition at line 81 of file CControl.hpp.

References m_rootControl.

virtual long Exponent::GUI::Controls::CControl::getUniqueId | ( |  | ) | const`[inline, virtual]`

Get the id of the control

Return values:

  | long | The unique id of the control

Implements Exponent::GUI::Controls::IControl.

Definition at line 186 of file CControl.hpp.

References m_uniqueId.

Referenced by Exponent::GUI::Controls::CRepeatingButton::getTimerId().

virtual double Exponent::GUI::Controls::CControl::getValue | ( |  | ) | const`[inline, virtual]`

Get the value of the control

Return values:

  | double | The value of the control ranged 0 - 1

Implements Exponent::GUI::Controls::IControl.

Definition at line 198 of file CControl.hpp.

References m_value.

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

Handle a double click on the left button

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CKnob, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CPresetBrowser::CPresetBrowserSelector::CPresetTextLabel, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CTextEdit, and Exponent::GUI::Controls::CXYPad.

Definition at line 378 of file CControl.hpp.

virtual void Exponent::GUI::Controls::CControl::handleFileDrop | ( | const CDropEvent & | event | ) | `[inline, virtual]`

Handle a file drop

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel, and Exponent::GUI::Controls::CTextLabel.

Definition at line 332 of file CControl.hpp.

virtual bool Exponent::GUI::Controls::CControl::handleKeyDown | ( | const CKeyboardEvent & | event | ) | `[inline, virtual]`

Handle key down events

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel.

Definition at line 340 of file CControl.hpp.

virtual bool Exponent::GUI::Controls::CControl::handleKeyUp | ( | const CKeyboardEvent & | event | ) | `[inline, virtual]`

Handle key up events

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel.

Definition at line 346 of file CControl.hpp.

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

Handle left button being clicked

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CADSREditor, Exponent::GUI::Controls::CAnimationFrame, Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CComboBox, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CKnob, Exponent::GUI::Controls::CLatchingButton, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CPresetBrowser::CPresetBrowserSelector::CPresetTextLabel, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CRepeatingButton, Exponent::GUI::Controls::CRolloverButton, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CSlider, Exponent::GUI::Controls::CSliderArray, Exponent::GUI::Controls::CTextEdit, Exponent::GUI::Controls::CWindowDragTab, and Exponent::GUI::Controls::CXYPad.

Definition at line 354 of file CControl.hpp.

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

Handle left button being released

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CADSREditor, Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CKnob, Exponent::GUI::Controls::CLatchingButton, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CPopupButton, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CRepeatingButton, Exponent::GUI::Controls::CRolloverButton, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CSlider, Exponent::GUI::Controls::CSliderArray, Exponent::GUI::Controls::CWindowDragTab, and Exponent::GUI::Controls::CXYPad.

Definition at line 360 of file CControl.hpp.

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

Handle a mouse leaving the root area

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CADSREditor, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CRolloverButton, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CSlider, and Exponent::GUI::Controls::CSliderArray.

Definition at line 396 of file CControl.hpp.

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

Handle the mouse movement

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CADSREditor, Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CKnob, Exponent::GUI::Controls::CLatchingButton, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CRepeatingButton, Exponent::GUI::Controls::CRolloverButton, Exponent::GUI::Controls::CScrollPanel, Exponent::GUI::Controls::CSlider, Exponent::GUI::Controls::CSliderArray, Exponent::GUI::Controls::CWindowDragTab, and Exponent::GUI::Controls::CXYPad.

Definition at line 390 of file CControl.hpp.

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

Handle the scroll wheel

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CControlPanel, Exponent::GUI::Controls::CKnob, Exponent::GUI::Controls::CRangeSlider, Exponent::GUI::Controls::CScrollPanel, and Exponent::GUI::Controls::CSlider.

Definition at line 384 of file CControl.hpp.

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

Handle the right button being clicked

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel, and Exponent::GUI::Controls::CScrollPanel.

Definition at line 366 of file CControl.hpp.

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

Handle the right button being released

Parameters:

  | event | The event to handle

Reimplemented in Exponent::GUI::Controls::CControlPanel, and Exponent::GUI::Controls::CScrollPanel.

Definition at line 372 of file CControl.hpp.

virtual bool Exponent::GUI::Controls::CControl::isContainer | ( |  | ) | const`[inline, virtual]`

Is this control a container of other controls

Return values:

  | bool | True if this control is a container

See also:
  CControlPanel

  IControlRoot

Implements Exponent::GUI::Controls::IControl.

Reimplemented in Exponent::GUI::Controls::CControlPanel.

Definition at line 244 of file CControl.hpp.

virtual bool Exponent::GUI::Controls::CControl::isDropFileEnabled | ( |  | ) | const`[inline, virtual]`

Is the control drop enabled

Return values:

  | bool | True if the control accepts drop file events, false otherwise

Implements Exponent::GUI::Controls::IControl.

Definition at line 141 of file CControl.hpp.

References m_dropEnabled.

virtual bool Exponent::GUI::Controls::CControl::isEnabledFor | ( | const CString & | identifier | ) | `[inline, virtual]`

Is the control enabled for (future use)

Parameters:

  | identifier | The future identifiers

Return values:

  | bool | True if the control accepts the events, false otherwise

Implements Exponent::GUI::Controls::IControl.

Definition at line 154 of file CControl.hpp.

virtual bool Exponent::GUI::Controls::CControl::isKeyEnabled | ( |  | ) | const`[inline, virtual]`

Is the control key enabled

Return values:

  | bool | True if the control accepts key events, false otherwise

Implements Exponent::GUI::Controls::IControl.

Definition at line 147 of file CControl.hpp.

References m_keyboardEnabled.

virtual bool Exponent::GUI::Controls::CControl::isMouseEnabled | ( |  | ) | const`[inline, virtual]`

Is the control mouse enabled

Return values:

  | bool | True if the control accepts mouse events, false otherwise

Implements Exponent::GUI::Controls::IControl.

Definition at line 135 of file CControl.hpp.

References m_mouseEnabled.

virtual bool Exponent::GUI::Controls::CControl::needsRightClick | ( |  | ) | const`[inline, virtual]`

Does the control require a right click feed?

Return values:

  | bool | True if the control require a right click, false otherwise

Implements Exponent::GUI::Controls::IControl.

Definition at line 160 of file CControl.hpp.

References m_needsRightClick.

virtual void Exponent::GUI::Controls::CControl::referenced | ( |  | ) | `[virtual]`

Increment the reference count

Reimplemented in Exponent::GUI::Controls::CControlPanel.

Referenced by Exponent::GUI::Controls::CControlPanel::referenced().

virtual void Exponent::GUI::Controls::CControl::registerActionListener | ( | IActionListener * | listener | ) | `[inline, virtual]`

Register the action listener

Parameters:

  | listener | The listener for events

Definition at line 101 of file CControl.hpp.

References m_actionListener.

virtual bool Exponent::GUI::Controls::CControl::serializeFromNode | ( | CXMLNode & | node | ) | `[virtual]`

Serialise the control from a filename

Parameters:

  | node | The node that you should setup from

Return values:

  | bool | True if loaded from node properly, false otherwise

Note:
  FOR FUTURE USE, DO NOT USE YET!

virtual bool Exponent::GUI::Controls::CControl::serializeToNode | ( | CXMLNode & | node | ) | `[virtual]`

Serialise the control from a filename

Parameters:

  | node | The node that you should setup

Return values:

  | bool | True if saved to node properly, false otherwise

Note:
  FOR FUTURE USE, DO NOT USE YET!

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

Set the area of the control

Parameters:

  | area | The area of the control relative to the root controls top left

Reimplemented in Exponent::GUI::Controls::CControlPanel, and Exponent::GUI::Controls::CRadioButton.

virtual void Exponent::GUI::Controls::CControl::setControlRoot | ( | IControlRoot * | controlRoot | ) | `[virtual]`

Set the root control that this control is sitting on

Parameters:

  | controlRoot | The control root that this control is a child of

Implements Exponent::GUI::Controls::IControl.

Reimplemented in Exponent::GUI::Controls::CControlPanel.

virtual void Exponent::GUI::Controls::CControl::setDefaultControlColours | ( | const CAlphaColour & | backgroundColour = `CAlphaColour::CALPHACOLOUR_WHITE`,
|  | const CAlphaColour & | frameColour = `CAlphaColour::CALPHACOLOUR_BLACK` |
| ) |  |  | `[virtual]`

Set the colours to draw with by default

Parameters:

  | frameColour | The colour of the frame
  | backgroundColour | The background colour of the control

virtual void Exponent::GUI::Controls::CControl::setDisabledImage | ( | IImage * | theImage | ) | `[virtual]`

Set the disabled image

Parameters:

  | theImage | The image to draw when the control is disabled

virtual void Exponent::GUI::Controls::CControl::setParentControl | ( | IControl * | parent | ) | `[inline, virtual]`

Set the parent control

Parameters:

  | parent | The parent control of this control, not necessarily == getControlRoot()

Implements Exponent::GUI::Controls::IControl.

Definition at line 87 of file CControl.hpp.

References m_parentControl.

virtual void Exponent::GUI::Controls::CControl::setPrimaryImage | ( | IImage * | theImage | ) | `[virtual]`

Set the primary (usually background) image

Parameters:

  | theImage | The image to draw as the primary image (usually the control background, but control specific)

virtual void Exponent::GUI::Controls::CControl::setUniqueId | ( | const long | id | ) | `[inline, virtual]`

Set hte id of the control

Parameters:

  | id | The id of the control

Implements Exponent::GUI::Controls::IControl.

Definition at line 192 of file CControl.hpp.

References m_uniqueId.

virtual void Exponent::GUI::Controls::CControl::setValue | ( | const double | value | ) | `[inline, virtual]`

Set the vlaue of the control

Parameters:

  | value | The value of the control ranged 0 - 1

Implements Exponent::GUI::Controls::IControl.

Reimplemented in Exponent::GUI::Controls::CCenterSlider, Exponent::GUI::Controls::CLatchingButton, Exponent::GUI::Controls::CLevelMeter, Exponent::GUI::Controls::CMomentaryButton, Exponent::GUI::Controls::CProgressBar, and Exponent::GUI::Controls::CSlider.

Definition at line 204 of file CControl.hpp.

References m_value.

virtual void Exponent::GUI::Controls::CControl::update | ( |  | ) | `[virtual]`

Force Update the control (redraw it)

Implements Exponent::GUI::Controls::IControl.

Referenced by Exponent::GUI::Controls::CMenuItemDisplay::CMenuItemSubMenuPointer::setPointerColours().

## Member Data Documentation

const long Exponent::GUI::Controls::CControl::CCONTROL_NO_ID_REQUIRED = -1`[static]`

Control does not require unique id

Definition at line 51 of file CControl.hpp.

CRect Exponent::GUI::Controls::CControl::m_absoluteArea`[protected]`

The absolute position of the control, relative to window's top left

Definition at line 486 of file CControl.hpp.

Referenced by getAbsoluteRect().

IActionListener* Exponent::GUI::Controls::CControl::m_actionListener`[protected]`

The action listener for the control

Definition at line 470 of file CControl.hpp.

Referenced by registerActionListener().

CRect Exponent::GUI::Controls::CControl::m_area`[protected]`

The area of the control, relative to the control roots top left (0, 0 point)

Definition at line 484 of file CControl.hpp.

Referenced by getArea().

CAlphaColour Exponent::GUI::Controls::CControl::m_backgroundColour`[protected]`

The background colour

Definition at line 493 of file CControl.hpp.

CDimension Exponent::GUI::Controls::CControl::m_dimension`[protected]`

the dimension of the cotnrol

Definition at line 485 of file CControl.hpp.

Referenced by getDimension().

IImage* Exponent::GUI::Controls::CControl::m_disabledImage`[protected]`

The disabled image

Definition at line 490 of file CControl.hpp.

bool Exponent::GUI::Controls::CControl::m_doDefaultDrawing`[protected]`

Should the default drawing take place?

Definition at line 479 of file CControl.hpp.

Referenced by doDefaultDrawing().

bool Exponent::GUI::Controls::CControl::m_dropEnabled`[protected]`

Is the control drop enabled

Definition at line 476 of file CControl.hpp.

Referenced by controlIsDropFileEnabled(), and isDropFileEnabled().

bool Exponent::GUI::Controls::CControl::m_enabled`[protected]`

is the control enabled??

Definition at line 478 of file CControl.hpp.

CAlphaColour Exponent::GUI::Controls::CControl::m_frameColour`[protected]`

The frame colour

Definition at line 492 of file CControl.hpp.

bool Exponent::GUI::Controls::CControl::m_keyboardEnabled`[protected]`

Is the control keyboard enabled

Definition at line 475 of file CControl.hpp.

Referenced by controlIsKeyEnabled(), and isKeyEnabled().

bool Exponent::GUI::Controls::CControl::m_mouseEnabled`[protected]`

Is the control able to accept mouse commands

Definition at line 474 of file CControl.hpp.

Referenced by controlIsMouseEnabled(), and isMouseEnabled().

bool Exponent::GUI::Controls::CControl::m_needsRightClick`[protected]`

Does the control need a right click??

Definition at line 477 of file CControl.hpp.

Referenced by needsRightClick().

CRect Exponent::GUI::Controls::CControl::m_normalisedArea`[protected]`

The area as a 0, 0 position rect

Definition at line 487 of file CControl.hpp.

Referenced by getNormalisedArea().

IControl* Exponent::GUI::Controls::CControl::m_parentControl`[protected]`

The parent container

Definition at line 472 of file CControl.hpp.

Referenced by getParentControl(), and setParentControl().

IImage* Exponent::GUI::Controls::CControl::m_primaryImage`[protected]`

The primary image for the control

Definition at line 489 of file CControl.hpp.

long Exponent::GUI::Controls::CControl::m_referenceCount`[protected]`

How many things point to this item?

Definition at line 469 of file CControl.hpp.

Referenced by getReferenceCount().

IControlRoot* Exponent::GUI::Controls::CControl::m_rootControl`[protected]`

The root control

Definition at line 471 of file CControl.hpp.

Referenced by getRootControl().

long Exponent::GUI::Controls::CControl::m_uniqueId`[protected]`

The identifier

Definition at line 481 of file CControl.hpp.

Referenced by Exponent::GUI::Controls::CAutoAnimation::getTimerId(), getUniqueId(), and setUniqueId().

double Exponent::GUI::Controls::CControl::m_value`[protected]`

The current value (0 - 1.0 value)

Definition at line 482 of file CControl.hpp.

Referenced by getValue(), and setValue().