Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

CEGUI::Property Class Reference

An abstract class that defines the interface to access object properties by name. More...

#include <CEGUIProperty.h>

Inheritance diagram for CEGUI::Property:

Inheritance graph
[legend]
Collaboration diagram for CEGUI::Property:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Property (const String &name, const String &help, const String &defaultValue="")
 Creates a new Property object.
virtual ~Property (void)
 Destructor for Property objects.
const StringgetHelp (void) const
 Return a String that describes the purpose and usage of this Property.
const StringgetName (void) const
 Return a the name of this Property.
virtual String get (const PropertyReceiver *receiver) const =0
 Return the current value of the Property as a String.
virtual void set (PropertyReceiver *receiver, const String &value)=0
 Sets the value of the property.
virtual bool isDefault (const PropertyReceiver *receiver) const
 Returns whether the property is at it's default value.
virtual String getDefault (const PropertyReceiver *receiver) const
 Returns the default value of the Property as a String.

Protected Attributes

String d_name
 String that stores the Property name.
String d_help
 String that stores the Property help text.
String d_default
 String that stores the Property default value string.

Detailed Description

An abstract class that defines the interface to access object properties by name.

Property objects allow (via a PropertySet) access to certain properties of objects by using simple get/set functions and the name of the property to be accessed.

Definition at line 57 of file CEGUIProperty.h.


Constructor & Destructor Documentation

CEGUI::Property::Property const String name,
const String help,
const String defaultValue = ""
[inline]
 

Creates a new Property object.

Parameters:
name String containing the name of the new Property.
help String containing a description of the Property and it's usage.
defaultValue String holding the textual representation of the default value for this Property

Definition at line 73 of file CEGUIProperty.h.

virtual CEGUI::Property::~Property void   )  [inline, virtual]
 

Destructor for Property objects.

Definition at line 85 of file CEGUIProperty.h.


Member Function Documentation

virtual String CEGUI::Property::get const PropertyReceiver receiver  )  const [pure virtual]
 

Return the current value of the Property as a String.

Parameters:
receiver Pointer to the target object.
Returns:
String object containing a textual representation of the current value of the Property

Implemented in CEGUI::WindowProperties::RelativeMinSize, CEGUI::WindowProperties::RelativeMaxSize, CEGUI::WindowProperties::AbsoluteMinSize, CEGUI::WindowProperties::AbsoluteMaxSize, CEGUI::WindowProperties::MetricsMode, CEGUI::WindowProperties::ID, CEGUI::WindowProperties::Alpha, CEGUI::WindowProperties::Font, CEGUI::WindowProperties::Text, CEGUI::WindowProperties::MouseCursorImage, CEGUI::WindowProperties::ClippedByParent, CEGUI::WindowProperties::InheritsAlpha, CEGUI::WindowProperties::AlwaysOnTop, CEGUI::WindowProperties::Disabled, CEGUI::WindowProperties::Visible, CEGUI::WindowProperties::RestoreOldCapture, CEGUI::WindowProperties::DestroyedByParent, CEGUI::WindowProperties::Width, CEGUI::WindowProperties::RelativeWidth, CEGUI::WindowProperties::AbsoluteWidth, CEGUI::WindowProperties::Height, CEGUI::WindowProperties::RelativeHeight, CEGUI::WindowProperties::AbsoluteHeight, CEGUI::WindowProperties::Size, CEGUI::WindowProperties::RelativeSize, CEGUI::WindowProperties::AbsoluteSize, CEGUI::WindowProperties::XPosition, CEGUI::WindowProperties::RelativeXPosition, CEGUI::WindowProperties::AbsoluteXPosition, CEGUI::WindowProperties::YPosition, CEGUI::WindowProperties::RelativeYPosition, CEGUI::WindowProperties::AbsoluteYPosition, CEGUI::WindowProperties::Position, CEGUI::WindowProperties::RelativePosition, CEGUI::WindowProperties::AbsolutePosition, CEGUI::WindowProperties::Rect, CEGUI::WindowProperties::RelativeRect, CEGUI::WindowProperties::AbsoluteRect, CEGUI::WindowProperties::ZOrderChangeEnabled, CEGUI::WindowProperties::WantsMultiClickEvents, CEGUI::WindowProperties::MouseButtonDownAutoRepeat, CEGUI::WindowProperties::AutoRepeatDelay, CEGUI::WindowProperties::AutoRepeatRate, CEGUI::ButtonBaseProperties::NormalTextColour, CEGUI::ButtonBaseProperties::HoverTextColour, CEGUI::ButtonBaseProperties::PushedTextColour, CEGUI::ButtonBaseProperties::DisabledTextColour, CEGUI::CheckboxProperties::Selected, CEGUI::ComboboxProperties::ReadOnly, CEGUI::ComboboxProperties::ValidationString, CEGUI::ComboboxProperties::CaratIndex, CEGUI::ComboboxProperties::EditSelectionStart, CEGUI::ComboboxProperties::EditSelectionLength, CEGUI::ComboboxProperties::MaxEditTextLength, CEGUI::ComboboxProperties::NormalEditTextColour, CEGUI::ComboboxProperties::SelectedEditTextColour, CEGUI::ComboboxProperties::ActiveEditSelectionColour, CEGUI::ComboboxProperties::InactiveEditSelectionColour, CEGUI::ComboboxProperties::SortList, CEGUI::ComboboxProperties::ForceVertScrollbar, CEGUI::ComboboxProperties::ForceHorzScrollbar, CEGUI::ComboboxProperties::SingleClickMode, CEGUI::EditboxProperties::ReadOnly, CEGUI::EditboxProperties::MaskText, CEGUI::EditboxProperties::MaskCodepoint, CEGUI::EditboxProperties::ValidationString, CEGUI::EditboxProperties::CaratIndex, CEGUI::EditboxProperties::SelectionStart, CEGUI::EditboxProperties::SelectionLength, CEGUI::EditboxProperties::MaxTextLength, CEGUI::EditboxProperties::NormalTextColour, CEGUI::EditboxProperties::SelectedTextColour, CEGUI::EditboxProperties::ActiveSelectionColour, CEGUI::EditboxProperties::InactiveSelectionColour, CEGUI::FrameWindowProperties::SizingEnabled, CEGUI::FrameWindowProperties::FrameEnabled, CEGUI::FrameWindowProperties::TitlebarEnabled, CEGUI::FrameWindowProperties::CloseButtonEnabled, CEGUI::FrameWindowProperties::RollUpEnabled, CEGUI::FrameWindowProperties::RollUpState, CEGUI::FrameWindowProperties::DragMovingEnabled, CEGUI::FrameWindowProperties::SizingBorderThickness, CEGUI::FrameWindowProperties::TitlebarFont, CEGUI::FrameWindowProperties::CaptionColour, CEGUI::ListboxProperties::Sort, CEGUI::ListboxProperties::MultiSelect, CEGUI::ListboxProperties::ForceVertScrollbar, CEGUI::ListboxProperties::ForceHorzScrollbar, CEGUI::ListHeaderProperties::ColumnsSizable, CEGUI::ListHeaderProperties::ColumnsMovable, CEGUI::ListHeaderProperties::SortSettingEnabled, CEGUI::ListHeaderProperties::SortDirection, CEGUI::ListHeaderProperties::SortColumnID, CEGUI::ListHeaderSegmentProperties::Sizable, CEGUI::ListHeaderSegmentProperties::Clickable, CEGUI::ListHeaderSegmentProperties::Dragable, CEGUI::ListHeaderSegmentProperties::SortDirection, CEGUI::MultiColumnListProperties::ColumnsSizable, CEGUI::MultiColumnListProperties::ColumnsMovable, CEGUI::MultiColumnListProperties::SortSettingEnabled, CEGUI::MultiColumnListProperties::SortDirection, CEGUI::MultiColumnListProperties::SortColumnID, CEGUI::MultiColumnListProperties::NominatedSelectionColumnID, CEGUI::MultiColumnListProperties::NominatedSelectionRow, CEGUI::MultiColumnListProperties::ForceVertScrollbar, CEGUI::MultiColumnListProperties::ForceHorzScrollbar, CEGUI::MultiColumnListProperties::SelectionMode, CEGUI::MultiLineEditboxProperties::ReadOnly, CEGUI::MultiLineEditboxProperties::WordWrap, CEGUI::MultiLineEditboxProperties::CaratIndex, CEGUI::MultiLineEditboxProperties::SelectionStart, CEGUI::MultiLineEditboxProperties::SelectionLength, CEGUI::MultiLineEditboxProperties::MaxTextLength, CEGUI::MultiLineEditboxProperties::NormalTextColour, CEGUI::MultiLineEditboxProperties::SelectedTextColour, CEGUI::MultiLineEditboxProperties::ActiveSelectionColour, CEGUI::MultiLineEditboxProperties::InactiveSelectionColour, CEGUI::ProgressBarProperties::CurrentProgress, CEGUI::ProgressBarProperties::StepSize, CEGUI::RadioButtonProperties::Selected, CEGUI::RadioButtonProperties::GroupID, CEGUI::ScrollbarProperties::DocumentSize, CEGUI::ScrollbarProperties::PageSize, CEGUI::ScrollbarProperties::StepSize, CEGUI::ScrollbarProperties::OverlapSize, CEGUI::ScrollbarProperties::ScrollPosition, CEGUI::SliderProperties::CurrentValue, CEGUI::SliderProperties::MaximumValue, CEGUI::SliderProperties::ClickStepSize, CEGUI::StaticImageProperties::Image, CEGUI::StaticImageProperties::ImageColours, CEGUI::StaticImageProperties::HorzFormatting, CEGUI::StaticImageProperties::VertFormatting, CEGUI::StaticProperties::FrameEnabled, CEGUI::StaticProperties::BackgroundEnabled, CEGUI::StaticProperties::FrameColours, CEGUI::StaticProperties::BackgroundColours, CEGUI::StaticProperties::BackgroundImage, CEGUI::StaticProperties::TopLeftFrameImage, CEGUI::StaticProperties::TopRightFrameImage, CEGUI::StaticProperties::BottomLeftFrameImage, CEGUI::StaticProperties::BottomRightFrameImage, CEGUI::StaticProperties::LeftFrameImage, CEGUI::StaticProperties::RightFrameImage, CEGUI::StaticProperties::TopFrameImage, CEGUI::StaticProperties::BottomFrameImage, CEGUI::StaticTextProperties::TextColours, CEGUI::StaticTextProperties::HorzFormatting, CEGUI::StaticTextProperties::VertFormatting, CEGUI::StaticTextProperties::VertScrollbar, CEGUI::StaticTextProperties::HorzScrollbar, CEGUI::TabControlProperties::TabHeight, CEGUI::TabControlProperties::AbsoluteTabHeight, CEGUI::TabControlProperties::RelativeTabHeight, CEGUI::TabControlProperties::TabTextPadding, CEGUI::TabControlProperties::AbsoluteTabTextPadding, CEGUI::TabControlProperties::RelativeTabTextPadding, CEGUI::ThumbProperties::HotTracked, CEGUI::ThumbProperties::VertFree, CEGUI::ThumbProperties::HorzFree, CEGUI::ThumbProperties::VertRange, CEGUI::ThumbProperties::HorzRange, CEGUI::TitlebarProperties::DraggingEnabled, and CEGUI::TitlebarProperties::CaptionColour.

Referenced by isDefault().

String CEGUI::Property::getDefault const PropertyReceiver receiver  )  const [virtual]
 

Returns the default value of the Property as a String.

Parameters:
receiver Pointer to the target object.
Returns:
String object containing a textual representation of the default value for this property.

Reimplemented in CEGUI::WindowProperties::AbsoluteMaxSize, CEGUI::TabControlProperties::TabHeight, CEGUI::TabControlProperties::AbsoluteTabHeight, CEGUI::TabControlProperties::TabTextPadding, and CEGUI::TabControlProperties::RelativeTabTextPadding.

Definition at line 61 of file CEGUIProperty.cpp.

const String& CEGUI::Property::getHelp void   )  const [inline]
 

Return a String that describes the purpose and usage of this Property.

Returns:
String that contains the help text

Definition at line 95 of file CEGUIProperty.h.

Referenced by CEGUI::PropertySet::getPropertyHelp().

const String& CEGUI::Property::getName void   )  const [inline]
 

Return a the name of this Property.

Returns:
String containing the name of the Property

Definition at line 105 of file CEGUIProperty.h.

Referenced by CEGUI::PropertySet::addProperty().

bool CEGUI::Property::isDefault const PropertyReceiver receiver  )  const [virtual]
 

Returns whether the property is at it's default value.

Parameters:
receiver Pointer to the target object.
Returns:
  • true if the property has it's default value.
  • false if the property has been modified from it's default value.

Reimplemented in CEGUI::WindowProperties::AbsoluteMaxSize, CEGUI::TabControlProperties::TabHeight, CEGUI::TabControlProperties::AbsoluteTabHeight, CEGUI::TabControlProperties::TabTextPadding, and CEGUI::TabControlProperties::RelativeTabTextPadding.

Definition at line 53 of file CEGUIProperty.cpp.

References get().

virtual void CEGUI::Property::set PropertyReceiver receiver,
const String value
[pure virtual]
 

Sets the value of the property.

Parameters:
receiver Pointer to the target object.
value A String object that contains a textual representation of the new value to assign to the Property.
Returns:
Nothing.
Exceptions:
InvalidRequestException Thrown when the Property was unable to interpret the content of value.

Implemented in CEGUI::WindowProperties::RelativeMinSize, CEGUI::WindowProperties::RelativeMaxSize, CEGUI::WindowProperties::AbsoluteMinSize, CEGUI::WindowProperties::AbsoluteMaxSize, CEGUI::WindowProperties::MetricsMode, CEGUI::WindowProperties::ID, CEGUI::WindowProperties::Alpha, CEGUI::WindowProperties::Font, CEGUI::WindowProperties::Text, CEGUI::WindowProperties::MouseCursorImage, CEGUI::WindowProperties::ClippedByParent, CEGUI::WindowProperties::InheritsAlpha, CEGUI::WindowProperties::AlwaysOnTop, CEGUI::WindowProperties::Disabled, CEGUI::WindowProperties::Visible, CEGUI::WindowProperties::RestoreOldCapture, CEGUI::WindowProperties::DestroyedByParent, CEGUI::WindowProperties::Width, CEGUI::WindowProperties::RelativeWidth, CEGUI::WindowProperties::AbsoluteWidth, CEGUI::WindowProperties::Height, CEGUI::WindowProperties::RelativeHeight, CEGUI::WindowProperties::AbsoluteHeight, CEGUI::WindowProperties::Size, CEGUI::WindowProperties::RelativeSize, CEGUI::WindowProperties::AbsoluteSize, CEGUI::WindowProperties::XPosition, CEGUI::WindowProperties::RelativeXPosition, CEGUI::WindowProperties::AbsoluteXPosition, CEGUI::WindowProperties::YPosition, CEGUI::WindowProperties::RelativeYPosition, CEGUI::WindowProperties::AbsoluteYPosition, CEGUI::WindowProperties::Position, CEGUI::WindowProperties::RelativePosition, CEGUI::WindowProperties::AbsolutePosition, CEGUI::WindowProperties::Rect, CEGUI::WindowProperties::RelativeRect, CEGUI::WindowProperties::AbsoluteRect, CEGUI::WindowProperties::ZOrderChangeEnabled, CEGUI::WindowProperties::WantsMultiClickEvents, CEGUI::WindowProperties::MouseButtonDownAutoRepeat, CEGUI::WindowProperties::AutoRepeatDelay, CEGUI::WindowProperties::AutoRepeatRate, CEGUI::ButtonBaseProperties::NormalTextColour, CEGUI::ButtonBaseProperties::HoverTextColour, CEGUI::ButtonBaseProperties::PushedTextColour, CEGUI::ButtonBaseProperties::DisabledTextColour, CEGUI::CheckboxProperties::Selected, CEGUI::ComboboxProperties::ReadOnly, CEGUI::ComboboxProperties::ValidationString, CEGUI::ComboboxProperties::CaratIndex, CEGUI::ComboboxProperties::EditSelectionStart, CEGUI::ComboboxProperties::EditSelectionLength, CEGUI::ComboboxProperties::MaxEditTextLength, CEGUI::ComboboxProperties::NormalEditTextColour, CEGUI::ComboboxProperties::SelectedEditTextColour, CEGUI::ComboboxProperties::ActiveEditSelectionColour, CEGUI::ComboboxProperties::InactiveEditSelectionColour, CEGUI::ComboboxProperties::SortList, CEGUI::ComboboxProperties::ForceVertScrollbar, CEGUI::ComboboxProperties::ForceHorzScrollbar, CEGUI::ComboboxProperties::SingleClickMode, CEGUI::EditboxProperties::ReadOnly, CEGUI::EditboxProperties::MaskText, CEGUI::EditboxProperties::MaskCodepoint, CEGUI::EditboxProperties::ValidationString, CEGUI::EditboxProperties::CaratIndex, CEGUI::EditboxProperties::SelectionStart, CEGUI::EditboxProperties::SelectionLength, CEGUI::EditboxProperties::MaxTextLength, CEGUI::EditboxProperties::NormalTextColour, CEGUI::EditboxProperties::SelectedTextColour, CEGUI::EditboxProperties::ActiveSelectionColour, CEGUI::EditboxProperties::InactiveSelectionColour, CEGUI::FrameWindowProperties::SizingEnabled, CEGUI::FrameWindowProperties::FrameEnabled, CEGUI::FrameWindowProperties::TitlebarEnabled, CEGUI::FrameWindowProperties::CloseButtonEnabled, CEGUI::FrameWindowProperties::RollUpEnabled, CEGUI::FrameWindowProperties::RollUpState, CEGUI::FrameWindowProperties::DragMovingEnabled, CEGUI::FrameWindowProperties::SizingBorderThickness, CEGUI::FrameWindowProperties::TitlebarFont, CEGUI::FrameWindowProperties::CaptionColour, CEGUI::ListboxProperties::Sort, CEGUI::ListboxProperties::MultiSelect, CEGUI::ListboxProperties::ForceVertScrollbar, CEGUI::ListboxProperties::ForceHorzScrollbar, CEGUI::ListHeaderProperties::ColumnsSizable, CEGUI::ListHeaderProperties::ColumnsMovable, CEGUI::ListHeaderProperties::SortSettingEnabled, CEGUI::ListHeaderProperties::SortDirection, CEGUI::ListHeaderProperties::SortColumnID, CEGUI::ListHeaderSegmentProperties::Sizable, CEGUI::ListHeaderSegmentProperties::Clickable, CEGUI::ListHeaderSegmentProperties::Dragable, CEGUI::ListHeaderSegmentProperties::SortDirection, CEGUI::MultiColumnListProperties::ColumnsSizable, CEGUI::MultiColumnListProperties::ColumnsMovable, CEGUI::MultiColumnListProperties::SortSettingEnabled, CEGUI::MultiColumnListProperties::SortDirection, CEGUI::MultiColumnListProperties::SortColumnID, CEGUI::MultiColumnListProperties::NominatedSelectionColumnID, CEGUI::MultiColumnListProperties::NominatedSelectionRow, CEGUI::MultiColumnListProperties::ForceVertScrollbar, CEGUI::MultiColumnListProperties::ForceHorzScrollbar, CEGUI::MultiColumnListProperties::SelectionMode, CEGUI::MultiLineEditboxProperties::ReadOnly, CEGUI::MultiLineEditboxProperties::WordWrap, CEGUI::MultiLineEditboxProperties::CaratIndex, CEGUI::MultiLineEditboxProperties::SelectionStart, CEGUI::MultiLineEditboxProperties::SelectionLength, CEGUI::MultiLineEditboxProperties::MaxTextLength, CEGUI::MultiLineEditboxProperties::NormalTextColour, CEGUI::MultiLineEditboxProperties::SelectedTextColour, CEGUI::MultiLineEditboxProperties::ActiveSelectionColour, CEGUI::MultiLineEditboxProperties::InactiveSelectionColour, CEGUI::ProgressBarProperties::CurrentProgress, CEGUI::ProgressBarProperties::StepSize, CEGUI::RadioButtonProperties::Selected, CEGUI::RadioButtonProperties::GroupID, CEGUI::ScrollbarProperties::DocumentSize, CEGUI::ScrollbarProperties::PageSize, CEGUI::ScrollbarProperties::StepSize, CEGUI::ScrollbarProperties::OverlapSize, CEGUI::ScrollbarProperties::ScrollPosition, CEGUI::SliderProperties::CurrentValue, CEGUI::SliderProperties::MaximumValue, CEGUI::SliderProperties::ClickStepSize, CEGUI::StaticImageProperties::Image, CEGUI::StaticImageProperties::ImageColours, CEGUI::StaticImageProperties::HorzFormatting, CEGUI::StaticImageProperties::VertFormatting, CEGUI::StaticProperties::FrameEnabled, CEGUI::StaticProperties::BackgroundEnabled, CEGUI::StaticProperties::FrameColours, CEGUI::StaticProperties::BackgroundColours, CEGUI::StaticProperties::BackgroundImage, CEGUI::StaticProperties::TopLeftFrameImage, CEGUI::StaticProperties::TopRightFrameImage, CEGUI::StaticProperties::BottomLeftFrameImage, CEGUI::StaticProperties::BottomRightFrameImage, CEGUI::StaticProperties::LeftFrameImage, CEGUI::StaticProperties::RightFrameImage, CEGUI::StaticProperties::TopFrameImage, CEGUI::StaticProperties::BottomFrameImage, CEGUI::StaticTextProperties::TextColours, CEGUI::StaticTextProperties::HorzFormatting, CEGUI::StaticTextProperties::VertFormatting, CEGUI::StaticTextProperties::VertScrollbar, CEGUI::StaticTextProperties::HorzScrollbar, CEGUI::TabControlProperties::TabHeight, CEGUI::TabControlProperties::AbsoluteTabHeight, CEGUI::TabControlProperties::RelativeTabHeight, CEGUI::TabControlProperties::TabTextPadding, CEGUI::TabControlProperties::AbsoluteTabTextPadding, CEGUI::TabControlProperties::RelativeTabTextPadding, CEGUI::ThumbProperties::HotTracked, CEGUI::ThumbProperties::VertFree, CEGUI::ThumbProperties::HorzFree, CEGUI::ThumbProperties::VertRange, CEGUI::ThumbProperties::HorzRange, CEGUI::TitlebarProperties::DraggingEnabled, and CEGUI::TitlebarProperties::CaptionColour.


Member Data Documentation

String CEGUI::Property::d_default [protected]
 

String that stores the Property default value string.

Definition at line 168 of file CEGUIProperty.h.

String CEGUI::Property::d_help [protected]
 

String that stores the Property help text.

Definition at line 167 of file CEGUIProperty.h.

String CEGUI::Property::d_name [protected]
 

String that stores the Property name.

Definition at line 166 of file CEGUIProperty.h.


The documentation for this class was generated from the following files:
Generated on Wed Feb 16 12:41:10 2005 for Crazy Eddies GUI System by  doxygen 1.3.9.1