Browse Prior Art Database

An Infrastructure to Implement Property Sheet Designs Efficiently

IP.com Disclosure Number: IPCOM000015238D
Original Publication Date: 2001-Dec-09
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 75K

Publishing Venue

IBM

Abstract

Efficient, Flexible Java* Property Sheet GUI (Graphic User Interface) Design Infrastructure

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 38% of the total text.

Page 1 of 3

An Infrastructure to Implement Property Sheet Designs Efficiently

Efficient, Flexible Java* Property Sheet GUI (Graphic User Interface) Design Infrastructure

Disclosed is an infrastructure for implementing Java* property sheet GUIs efficiently. This infrastructure greatly increases the reusability of code and is able to meet complex design requirements.

A property sheet is a GUI screen that allows users to view and/or modify properties of an object. This disclosed infrastructure extends the property and property editor concepts in JavaBeans* to build property sheets. The infrastructure addresses three aspects in property sheet designs: 1) the composition of property sheet appearance, 2) the access logic of the underlying objects, and 3) the actions and events in property sheets. In this way, a property sheet is separated into smaller, simpler modules. All those modules can be reused in the current property sheet as well as other property sheets.

First of all, a complex property type is decomposed into multiple simpler nested property types in the infrastructure. For example, if a property type "X" has two sub-property types "Configuration" and " Value", then "X" is considered as the composition of " Configuration" and "Value". Nested property types can be decomposed recursively in the same way. For instance, Configuration property type can contain sub-property types: "Name", "Dimension" and "Color". Thus, the whole structure of "X" is:

X -> (Configuration, Value)

Configuration -> (Name, Dimension, Color)

To implement this hierarchical structure, two new classes are introduced: Property and PropertyGroup. Property class models a single property type, and includes reference to the property editor and other attributes of the property. PropertyGroup class models a complex property type that contains multiple sub-properties, where each sub-property is of some property type.

The infrastructure provides a mechanism to construct the property editor of a complex property type from the property editors of its nested property types. As described above, a complex property type can always be decomposed into multiple levels of nested primitive property types (such as Integer, Long, String and etc.). Thus, the property editor for any complex property type can be built from a limited number of property editors of primitive property types by going down the infrastructure recursively as long as property editors for primitive property types are implemented. The advantage lies in that JavaBeans already provides property editors for majority of primitive property types. A property sheet in essence is a property editor for an object with nested property types, so a desired property sheet can be composed easily through nested property types. The implementation is PropertyGroupEditor class, which implements PropertyEditor interface in JavaBeans*. PropertyGroupEditor is a property editor usually associated with a PropertyGroup and generates GUI appearance...