All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Variables
Qtilities::Core::Properties Namespace Reference

Namespace containing reserved observer properties used inside the Core Module. More...

Variables

const char *const qti_prop_ACCESS_MODE = "qti.core.AccessMode"
 Object Access Mode Property.
const char *const qti_prop_ACTIVITY_MAP = "qti.filters.ActivityMap"
 Object Activity Property.
const char *const qti_prop_ALIAS_MAP = "qti.filters.AliasMap"
 Instance Names Property.
const char *const qti_prop_BACKGROUND = "qti.role.Background"
 Object Background Role Property.
const char *const qti_prop_CATEGORY_MAP = "qti.core.CategoryMap"
 Object Category Property.
const char *const qti_prop_DECORATION = "qti.role.Decoration"
 Object Decoration Role Property.
const char *const qti_prop_DISPLAYED_ALIAS_MAP = "qti.filters.DisplayedAliasMap"
 Displayed Object Name Property.
const char *const qti_prop_FONT = "qti.role.Font"
 Object Font Role Property.
const char *const qti_prop_FOREGROUND = "qti.role.Foreground"
 Object Foreground Role Property.
const char *const qti_prop_LIMITED_EXPORTS = "qti.core.ExcludeObj"
 Object Limited Exports Property.
const char *const qti_prop_NAME = "qti.filters.Name"
 Object Name Property.
const char *const qti_prop_NAME_MANAGER_ID = "qti.filters.NameManagerID"
 Object Name Manager ID Property.
const char *const qti_prop_OBSERVER_LIMIT = "qti.core.ObserverLimit"
 Observer Limit Property
const char *const qti_prop_OBSERVER_MAP = "qti.core.ObserverMap"
 Observer Subject IDs Property
const char *const qti_prop_OWNERSHIP = "qti.core.Ownership"
 Object Ownership Property.
const char *const qti_prop_PARENT_ID = "qti.core.ParentID"
 Observer Parent Property
const char *const qti_prop_SIZE_HINT = "qti.role.SizeHint"
 Object Size Hint Role Property.
const char *const qti_prop_STATUSTIP = "qti.role.StatusTip"
 Object Status Tip Role Property.
const char *const qti_prop_SUBJECT_IGNORE_MODIFICATION_STATE = "qti.core.IgnoreModificationState"
 Ignore Subject Modification State Property.
const char *const qti_prop_TEXT_ALIGNMENT = "qti.role.TextAlignment"
 Object Text Alignment Property.
const char *const qti_prop_TOOLTIP = "qti.role.Tooltip"
 Object Tooltip Role Property.
const char *const qti_prop_TREE_ITERATOR_SOURCE_OBS = "qti.core.TreeIteratorSourceObs"
 Source Observer During Tree Iteration.
const char *const qti_prop_VISITOR_ID = "qti.core.VisitorID"
 Observer Visitor ID Property
const char *const qti_prop_WHATS_THIS = "qti.role.WhatsThis"
 Object Whats This Role Property.

Detailed Description

Namespace containing reserved observer properties used inside the Core Module.

This namespace contains a set of properties which are defined and used in Qtilities. For each property a set of permissions are given along with short description and an example of how to use it.

For an overview of the different kind of properties, see the Dynamic properties used and managed by Observers section of the Observers article, or Qtilities::Core::QtilitiesProperty. QtilitiesProperty provides static functions to check the permissions etc. of a property at runtime. Note that all properties used by Qtilities starts with "qti_prop". For an overview of property changes and changing properties see the Monitoring property changes and changing properties section of the Observers article.

Note that you can inspect all Qtilities property on an object through the Qtilities::CoreGui::DynamicObjectPropertyBrowser widget which allows you to inspect dynamic properties on QObjects at runtime. This widget allows you to display the following type of properties:


Variable Documentation

const char* const Qtilities::Core::Properties::qti_prop_ACCESS_MODE = "qti.core.AccessMode"

Object Access Mode Property.

Observer table and tree models uses this property when adding icons to the object access column for non-observer subjects. For observers the Qtilities::Core::Observer::accessMode() function is used to determine the access column icon as well as how the hierahcy below the observer is displayed.

Permission: Read/Write

Data Type: int, cast to Observer::AccessMode to get the access mode
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Yes by default, depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add the qti_prop_ACCESS_MODE property to an object.

QObject* obj = new QObject();
SharedProperty access_property(qti_prop_ACCESS_MODE,QVariant((int) Observer::ReadOnlyAccess));
ObjectManager::setSharedProperty(obj, access_property);
const char* const Qtilities::Core::Properties::qti_prop_ACTIVITY_MAP = "qti.filters.ActivityMap"

Object Activity Property.

When the object is attached to one or more observers which have Qtilities::Core::ActivityPolicyFilter filters installed, this property holds the activity for each of those contexts.

Permission: Read/Write
Data Type: QMap<int,bool>, where the keys are observer IDs and the values are the corresponding activities
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: Yes
Change Notifications: Yes
Removable: No

const char* const Qtilities::Core::Properties::qti_prop_ALIAS_MAP = "qti.filters.AliasMap"

Instance Names Property.

Different instance names for the object in different unique contexts. For more information on instance names see the Qtilities::CoreGui::NamingPolicyFilter class documentation.

Permission: Read/Write
Data Type: QMap<int,QString>, where the keys are observer IDs and the values are the corresponding instance names
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: No
Change Notifications: Yes
Removable: No

Note:
This property is only created for naming policy filters that use ProhibitDuplicateNames uniqueness policy.
const char* const Qtilities::Core::Properties::qti_prop_BACKGROUND = "qti.role.Background"

Object Background Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::BackgroundRole.

Permission: Read/Write
Data Type: QBrush
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_BACKGROUND,QBrush(Qt::NoBrush));
const char* const Qtilities::Core::Properties::qti_prop_CATEGORY_MAP = "qti.core.CategoryMap"

Object Category Property.

Use the object category property to specify the category to use for an object when attaching it to an observer which has its Qtilities::Core::Observer::HierarchicalDisplay hint set to categorized hierarchy.

Permission: Read/Write
Data Type: QtilitiesCategory
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: Yes
Change Notifications: Yes
Removable: Yes

Below is an example of how to add the qti_prop_CATEGORY_MAP property to an object.

Observer* obs = new Observer("My Observer","Observer showing categories");
obs->setHierarchicalDisplayHint(ObserverHints::CategorizedHierarchy);
QObject* obj = new QObject();
MultiContextProperty category_property(qti_prop_CATEGORY_MAP);
category_property.setValue(qVariantFromValue(QtilitiesCategory("Category 1")),obs->observerID());
obs->attachSubject(obj);
const char* const Qtilities::Core::Properties::qti_prop_DECORATION = "qti.role.Decoration"

Object Decoration Role Property.

Observer table and tree models uses this icon property for decoration if present.

Permission: Read/Write
Data Type: QColor, QIcon or QPixmap
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_DECORATION,QVariant(QIcon(QString(":/icon_name.png"))));
const char* const Qtilities::Core::Properties::qti_prop_DISPLAYED_ALIAS_MAP = "qti.filters.DisplayedAliasMap"

Displayed Object Name Property.

Different displayed aliases for the object in different unique contexts. For more information on displayed instance names see the Qtilities::CoreGui::NamingPolicyFilter class documentation.

Permission: Read/Write
Data Type: QString
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: No
Change Notifications: No
Removable: Yes

Below is an example of how you can create change the name displayed in Observer models showing this object.

Observer* obs = new Observer("My Observer");
QObject* obj = new QObject;
obs << obj;
MultiContextProperty category_property(qti_prop_DISPLAYED_ALIAS_MAP);
category_property.setValue("Displayed Name",obs->observerID());
See also:
qti_prop_NAME
const char* const Qtilities::Core::Properties::qti_prop_FONT = "qti.role.Font"

Object Font Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::FontRole.

Permission: Read/Write
Data Type: QFont
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_FONT,QFont("Arial"));
const char* const Qtilities::Core::Properties::qti_prop_FOREGROUND = "qti.role.Foreground"

Object Foreground Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::ForegroundRole.

Permission: Read/Write
Data Type: QBrush
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_FOREGROUND,QBrush(Qt::NoBrush));
const char* const Qtilities::Core::Properties::qti_prop_LIMITED_EXPORTS = "qti.core.ExcludeObj"

Object Limited Exports Property.

This is an internal property which is used during observer exporting in order to make sure an object found multiple times in a tree is only exported once.

Permission: Reserved
Data Type: int
Property Type: Qtilities::Core::SharedProperty
Is Exportable: No
Change Notifications: No
Removable: No

const char* const Qtilities::Core::Properties::qti_prop_NAME = "qti.filters.Name"

Object Name Property.

This property holds the name of the object which is sync'ed with objectName() by the name manager observer. For more information on this property and name managers see the Qtilities::CoreGui::NamingPolicyFilter class documentation.

Permission: Read/Write
Data Type: QString
Property Type: Qtilities::Core::SharedProperty
Is Exportable: No
Change Notifications: Yes
Removable: No

When you want to change the name of an object, set this property to make sure that the naming policy filter(s) managing names in context(s) where this object is attached can handle and validate the name change. Thus do not use the setObjectName() function on QObject.

Below is an example of how you can create a new name for an object. An alternative approach is to get the property, change it and add it again to the object. Both approaches yields the same result.

SharedProperty new_subject_name_property(qti_prop_NAME,QVariant(new_name));
new_subject_name_property.setIsExportable(false);
ObjectManager::setSharedProperty(obj,new_subject_name_property);
See also:
qti_prop_DISPLAYED_ALIAS_MAP
const char* const Qtilities::Core::Properties::qti_prop_NAME_MANAGER_ID = "qti.filters.NameManagerID"

Object Name Manager ID Property.

This property holds the observer ID of the observer which has the subject filter installed which manages the object name (sync'ing it with objectName()). For more information on name managers see the Qtilities::CoreGui::NamingPolicyFilter class documentation.

Permission: Reserved
Data Type: int
Property Type: Qtilities::Core::SharedProperty
Is Exportable: No
Change Notifications: No
Removable: No

const char* const Qtilities::Core::Properties::qti_prop_OBSERVER_LIMIT = "qti.core.ObserverLimit"

Observer Limit Property

Using the observer limit property it is possible to limit the number of observers which can observe any object at one time. The limit must be set before attaching the object to any observers and cannot be changed afterwards.

Permission: Read/Write, Reserved (after attachment)
Data Type: int
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Yes by default, depends on usage
Change Notifications: No
Removable: Yes

Below is an example of how to add the qti_prop_OBSERVER_LIMIT property to an object.

QObject* obj = new QObject();
SharedProperty observer_limit_property(qti_prop_OBSERVER_LIMIT,QVariant(1));
ObjectManager::setSharedProperty(obj, observer_limit_property);
const char* const Qtilities::Core::Properties::qti_prop_OBSERVER_MAP = "qti.core.ObserverMap"

Observer Subject IDs Property

This property is added to any object observed by one or more observers and is used to keep track in which contexts the object is visible.

Permission: Reserved
Data Type: QMap<int,int> where the keys are observer IDs of the contexts in which the object is visible and values are the unqiue IDs of the object in the different observers
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: No
Change Notifications: No
Removable: No

This property should never be used directly. To get a list of all contexts in which an object is observed you should use the function shown in the example below:

QObject* obj = new Object();
Observer* obs = new Observer("My Observer","");
obs->attachSubject(obj);
// Get the references of any objects' parents
QList<Observer*> parents = Observer::parentReferences(obj);
// Get the subject ID of an object within an observer context.
int subject_id = obs->getMultiContextPropertyValue(obj,qti_prop_OBSERVER_MAP).toInt();
const char* const Qtilities::Core::Properties::qti_prop_OWNERSHIP = "qti.core.Ownership"

Object Ownership Property.

When an object is attached to an observer, the observer adds this property to the object for each context in which it is attached storing the ownership of the object in that context.

Permission: Reserved
Data Type: int, cast to Observer::ObjectOwnership to get the ownership
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: No
Change Notifications: No
Removable: No

Below is an example to show how you can get the ownership of an object for a specific context.

Observer* obs = new Observer("My Observer","");
QObject* obj = new QObject();
obs->attachSubject(obj);
Observer::ObjectOwnership ownership = obs->subjectOwnershipInContext(obj);
// Alternatively, you can get the property's value in the context and cast it manually:
QVariant current_ownership = obs->getMultiContextPropertyValue(obj,qti_prop_OWNERSHIP);
ownership = (Observer::ObjectOwnership) current_ownership.toInt();
const char* const Qtilities::Core::Properties::qti_prop_PARENT_ID = "qti.core.ParentID"

Observer Parent Property

When an object is attached to an observer using specific ownership this property will contain the observer ID of the parent observer.

Permission: Reserved
Data Type: int, this int is the ObserverID of the observer parent.
Property Type: Qtilities::Core::SharedProperty
Is Exportable: No
Change Notifications: No
Removable: No

To get the specific parent observer can easily be done by just casting its parent() to Observer rather than first getting the parent property and then getting the parent through the object manager.

const char* const Qtilities::Core::Properties::qti_prop_SIZE_HINT = "qti.role.SizeHint"

Object Size Hint Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::SizeHintRole.

Permission: Read/Write
Data Type: QSize
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_SIZE_HINT,QSize(10,10));
const char* const Qtilities::Core::Properties::qti_prop_STATUSTIP = "qti.role.StatusTip"

Object Status Tip Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::StatusTipRole.

Permission: Read/Write
Data Type: QString
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_STATUSTIP,"Whats This Text");
const char* const Qtilities::Core::Properties::qti_prop_SUBJECT_IGNORE_MODIFICATION_STATE = "qti.core.IgnoreModificationState"

Ignore Subject Modification State Property.

When an object implementing Qtilities::Core::IModificationStateNotifier is attached to an Qtilities::Core::Observer, the observer will automatically monitor the modification state of the object. You can disable the modification state monitoring on a subject using the Qtilities::Core::Observer::

Permission: Read/Write
Data Type: QMap<int,bool>, where the keys are observer IDs and the values are the ignore states
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: Yes
Change Notifications: No
Removable: Yes

const char* const Qtilities::Core::Properties::qti_prop_TEXT_ALIGNMENT = "qti.role.TextAlignment"

Object Text Alignment Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::TextAlignmentRole.

Permission: Read/Write
Data Type: int, cast to Qt::AlignmentFlag
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_TEXT_ALIGNMENT,(int) Qt::AlignLeft);
const char* const Qtilities::Core::Properties::qti_prop_TOOLTIP = "qti.role.Tooltip"

Object Tooltip Role Property.

Observer table and tree models uses this string property for tooltip roles if present.

Permission: Read/Write
Data Type: QString
Property Type: Qtilities::Core::SharedProperty
Is Exportable: No by default, depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add the OBJECT_TOOLTIP property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_TOOLTIP,"Tooltip Text");
const char* const Qtilities::Core::Properties::qti_prop_TREE_ITERATOR_SOURCE_OBS = "qti.core.TreeIteratorSourceObs"

Source Observer During Tree Iteration.

This is an internal property which is used during iteration of trees where subjects are attached multiple times within the same tree.

Permission: Reserved
Data Type: int
Property Type: Qtilities::Core::MultiContextProperty
Is Exportable: No
Change Notifications: No
Removable: No

const char* const Qtilities::Core::Properties::qti_prop_VISITOR_ID = "qti.core.VisitorID"

Observer Visitor ID Property

This is an internal property which is used during construction of an Qtilities::Core::ObserverRelationalTable.

Permission: Reserved
Data Type: int
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Yes
Change Notifications: No
Removable: No

const char* const Qtilities::Core::Properties::qti_prop_WHATS_THIS = "qti.role.WhatsThis"

Object Whats This Role Property.

If an object has this property, the property's value will be used by observer item models when data is requested for the Qt::WhatsThisRole.

Permission: Read/Write
Data Type: QString
Property Type: Qtilities::Core::SharedProperty
Is Exportable: Depends on usage
Change Notifications: Yes
Removable: Yes

Below is an example of how to add this property to an object.

QObject* obj = new QObject();
SharedProperty property(qti_prop_WHATS_THIS,"Whats This Text");


Qtilities : Reference Documentation Back to top Copyright © 2009-2013, Jaco Naudé