27#ifndef _CEGUIFalPropertyLinkDefinition_h_
28#define _CEGUIFalPropertyLinkDefinition_h_
30#include "CEGUI/falagard/FalagardPropertyBase.h"
31#include "CEGUI/falagard/XMLHandler.h"
32#include "CEGUI/IteratorBase.h"
37# pragma warning(disable : 4251)
96 LinkTargetCollection::const_iterator
i =
d_targets.begin();
121 typename Helper::safe_method_return_type
122 getNative_impl(
const PropertyReceiver* receiver)
const
124 const LinkTargetCollection::const_iterator i(
d_targets.begin());
126 const Window*
const target_wnd =
131 return Helper::fromString(FalagardPropertyBase<T>::d_initialValue);
135 return Helper::fromString(target_wnd->getProperty(i->second.empty() ?
140 void setNative_impl(PropertyReceiver* receiver,
141 typename Helper::pass_type value)
143 updateLinkTargets(receiver, value);
146 FalagardPropertyBase<T>::setNative_impl(receiver, value);
150 void updateLinkTargets(PropertyReceiver* receiver,
151 typename Helper::pass_type value)
const
153 LinkTargetCollection::const_iterator i =
d_targets.begin();
163 target_wnd->setProperty(propertyName, propertyValue);
164 target_wnd->banPropertyFromXML(propertyName);
174 writeDefinitionXMLAdditionalAttributes(
xml_stream);
188 void writeFalagardXMLAttributes(XMLSerializer& xml_stream)
const
195 LinkTargetCollection::const_iterator i(
d_targets.begin());
200 if (!i->first.empty())
203 if (!i->second.empty())
213 if (!i->first.empty())
216 if (!i->second.empty())
219 xml_stream.closeTag();
244 return const_cast<Window*
>(
249 typedef std::pair<String,String> StringPair;
267#if defined (_MSC_VER)
Definition FalagardPropertyBase.h:37
static const String TargetPropertyAttribute
Attribute name that stores a name of a target property.
Definition falagard/XMLHandler.h:172
static const String WidgetAttribute
Attribute name that stores the name of a widget (suffix).
Definition falagard/XMLHandler.h:163
static const String PropertyAttribute
Attribute name that stores the name of a property.
Definition falagard/XMLHandler.h:175
static const String GenericDataType
Default or unspecified value for the "dataType" attribute.
Definition falagard/XMLHandler.h:89
static const String PropertyLinkTargetElement
Tag name for property link target elements.
Definition falagard/XMLHandler.h:131
static const String HelpStringAttribute
Attribute name that stores a help string.
Definition falagard/XMLHandler.h:179
static const String PropertyLinkDefinitionHelpDefaultValue
Default value for the "type" attribute of PropertyLinkDefinition elements.
Definition falagard/XMLHandler.h:86
static const String ParentIdentifier
String value representing a parent link identifier.
Definition falagard/XMLHandler.h:93
static const String PropertyLinkDefinitionElement
Tag name for property link elements.
Definition falagard/XMLHandler.h:130
static const String TypeAttribute
Attribute name that stores a type string.
Definition falagard/XMLHandler.h:152
Helper class used to convert various data types to and from the format expected in Property strings.
Definition ForwardRefs.h:84
Class representing a property that links to another property defined on an attached child widget.
Definition PropertyLinkDefinition.h:52
std::vector< StringPair CEGUI_VECTOR_ALLOC(StringPair)> LinkTargetCollection
type used for the collection of targets.
Definition PropertyLinkDefinition.h:251
void initialisePropertyReceiver(PropertyReceiver *receiver) const
function to allow initialisation of a PropertyReceiver.
Definition PropertyLinkDefinition.h:107
LinkTargetCollection d_targets
collection of targets for this PropertyLinkDefinition.
Definition PropertyLinkDefinition.h:254
void addLinkTarget(const String &widget, const String &property)
add a new link target to property on widget (name).
Definition PropertyLinkDefinition.h:79
void clearLinkTargets()
clear all link targets from this link definition.
Definition PropertyLinkDefinition.h:86
void writeDefinitionXMLElementType(XMLSerializer &xml_stream) const
Write out the text of the XML element type. Note that you should not write the opening '<' character,...
Definition PropertyLinkDefinition.h:170
Window * getTargetWindow(PropertyReceiver *receiver, const String &name) const
Return a pointer to the target window with the given name.
Definition PropertyLinkDefinition.h:241
const Window * getTargetWindow(const PropertyReceiver *receiver, const String &name) const
Return a pointer to the target window with the given name.
Definition PropertyLinkDefinition.h:226
Dummy base class to ensure correct casting of receivers.
Definition Property.h:46
An abstract class that defines the interface to access object properties by name.
Definition Property.h:62
String d_name
String that stores the Property name.
Definition Property.h:244
String class used within the GUI system.
Definition String.h:64
bool empty(void) const
Returns true if the String is empty.
Definition String.h:633
base class for properties able to do native set/get
Definition TypedProperty.h:50
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition Window.h:151
Class used to create XML Document.
Definition XMLSerializer.h:87
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1
const String S_parentIdentifier