-
Notifications
You must be signed in to change notification settings - Fork 263
Using Properties in ATF
Applications typically create and edit data, so editing data objects' properties is one of the fundamental purposes of an application. For instance, one of the main functions of a vector graphics application is to change graphical object's properties, such as line width, thickness, and color.
Applications usually provide property editor controls for the application's data objects. These editors may go by various names, such as object inspectors, but their function is the same. Typically the property editor displays a collection of properties belonging to the selected object or properties common to all selected objects. For each property, the editor must provide an appropriate value editor control for that property's data type. A color editor control is very different from a numerical editor control, for instance.
Because the property editor shows properties for a selection, it is dependent on the current context. Property editors can only be used when there is a selection and the active context is one in which properties can be edited. ATF uses the context to determine which property editors are appropriate. For more information, see Selection Property Editing Context and ATF Contexts.
If an application uses a data model for its application data based on the ATF Document Object Model (DOM), ATF provides a great deal of support for property editors of the attributes of the application's data types. The DOM defines the data types used in the application. Property editing support is even better when the DOM uses the XML Schema Definition (XSD) to specify the data types. A data type can have attributes, which are equivalent to properties. For more details on the ATF DOM, see the ATF Programmer's Guide: Document Object Model (DOM), which you can download at ATF Documentation.
ATF provides several kinds of classes to handle property editing: a selection property editing context, property descriptors, value editors, value editing controls, value converters, and property editors. Although these classes integrate well with the ATF DOM, they can be useful for property editing even if the application does not use the ATF DOM.
The default context for property editors is SelectionPropertyEditingContext
, which is constructed when property editors are created. The SelectionPropertyEditingContext
class supports property editing on any ISelectionContext
, which provides properties and methods to get the selected items, last selected item, and so forth. This interface also provides events for selection changes. For details, see Selection Property Editing Context.
A property descriptor is a metadata class describing a property/attribute of a data type. It contains information about the property, such as its name, description, and an appropriate editor for the property, given its data type. Property descriptors provide the information needed to actually edit properties.
Property descriptors can be described in a variety of ways: from constructors and from XML Schemas in the ATF DOM.
For more information, see Property Descriptors.
Every data object property has a data type, which may be defined in the application's data model. ATF provides a large set of value editors for the various kinds of data types, listed in Value Editors and Value Editing Controls. For example, the BoundedIntEditor
edits bounded integers. Value editors use a value editing control for the user to interact with in modifying the property value.
Every value editor has a corresponding value editing control that users employ to set the desired property value. A value editing control for a Boolean value could simply be a CheckBox
control, for instance. A bounded integer could use a spinner control. A color editor can use a color picker control. For details, see Value Editors and Value Editing Controls.
The value converter converts the property value between its internal data representation in a value editor and a form that that appears in a value editing control. For instance, a value converter for an integer value could go back and forth between an internal int
value and a string representation of the integer that can be displayed in a value editing control. The conversion typically goes in both directions. For more information, see Value converters.
Property editor controls contain the value editing control components. There are two main classes: GridView
and PropertyGridView
, which both derive from PropertyView
. PropertyGridView
is used for two column style editors. GridView
shows a spreadsheet view, listing properties of several items.
You don't need to use GridView
and PropertyGridView
directly. A GridView
is usually provided by the GridPropertyEditor
component, PropertyGridView
by the PropertyEditor
component. These components make these property editor controls very easy to use.
These property editors are designed to show the common properties of selected objects, so you must set up the selection context for the items whose properties you want to edit. These editors ultimately require a list of property descriptors for the properties to be edited.
For details, see Property Editor Components.
- Using Properties in ATF: Overview of the ATF property editing process.
-
Selection Property Editing Context: How the
SelectionPropertyEditingContext
class is used in editing properties. -
Property Descriptors: Discusses various kinds of
PropertyDescriptor
classes and how they are created from constructors or XML Schema annotations. - Value Editors: Types of value editors and how they are implemented.
- Value Editors and Value Editing Controls: Survey of the various kinds of ATF value editors and their associated value controls.
- Value Converters: How value converters convert values between value editors and value controls.
- Property Editor Components: Discussion of widely used ATF property editor components.
- Implementing a Property Editor: How to implement a property editor.
- Home
- Getting Started
- Features & Benefits
- Requirements & Dependencies
- Gallery
- Technology & Samples
- Adoption
- News
- Release Notes
- ATF Community
- Searching Documentation
- Using Documentation
- Videos
- Tutorials
- How To
- Programmer's Guide
- Reference
- Code Samples
- Documentation Files
© 2014-2015, Sony Computer Entertainment America LLC