Property Editors (deprecated)
The extension method described in this chapter is deprecated and you should avoid using it for new development.
To creating Java plug-ins you need Java programming skills and knowledge of:
-
The Swing GUI component kit
-
The Escenic content model
When a Content Studio user opens a content item for editing, it is opened in a content editor: a tab displayed in the main editing area of the Content Studio window. Content editors are specialized for each content type: only the appropriate fields for each content type are displayed, and each field is displayed in a specialized control suited to the field's data type. A plain text field, for example, is displayed in a simple text field control, an HTML field is displayed in a rich text editing field, a boolean field is displayed as a check box, an enumeration field is displayed as a combo box and so on. These field editing controls are called property editors.
If the built-in property editors are not sufficient for your needs, you can implement more specialized property editors as plug-ins. You might, for example, want to build an editor composed of several inter-dependent controls to represent a complex field.
In order to make a custom property editor, you must be familiar with Swing. If you are familiar with Swing, making a property editor is quite straightforward. It involves the following tasks:
-
Define the mark-up that will be used in the
content-type
resource to identify the fields for which the custom property editor is to be used. -
Add the defined markup to the required fields in the
content-type
resource. -
Implement a class to display the custom property editor. This class must implements the
PropertyEditorUI
interface. -
Implement a
PropertyEditorSpi
subclass that responds to property descriptors containing the markup values you have defined by creating an instance of yourPropertyEditorUI
implementation. -
Create a JAR file containing your property editor components and a service loader definition file.
The first of the above tasks is straightforward Swing programming. For
detailed information about PropertyEditorUI
, see the
API Javadoc.