mjbWorld program

baseEditor

This is a support class to help build property editors.

Attributes

Name

Type

Description

enable_property_change

boolean

 

enteringtext

boolean

 

1.2 Operations

Name

Description

baseEditor

* Constructor for use by derived PropertyEditor classes.

baseEditor

* Constructor for use when a PropertyEditor is delegating to us.

*

* @param source The source to use for any events we fire.

actionPerformed

 

empty

 

setValue

* Set (or change) the object that is to be edited.

* @param value The new target object to be edited. Note that this

* object should not be modified by the PropertyEditor, rather

* the PropertyEditor should create a new object to hold any

* modified value.

getValue

* Gets the value of the property.

*

* @return The value of the property.

isPaintable

* Determines whether the class will honor the painValue method.

*

* @return True if the class will honor the paintValue method.

paintValue

* Paint a representation of the value into a given area of screen

* real estate. Note that the propertyEditor is responsible for doing

* its own clipping so that it fits into the given rectangle.

* <p>

* If the PropertyEditor doesn't honor paint requests (see isPaintable)

* this method should be a silent noop.

*

* @param gfx Graphics object to paint into.

* @param box Rectangle within graphics object into which we should paint.

getJavaInitializationString

* This method is intended for use when generating Java code to set

* the value of the property. It should return a fragment of Java code

* that can be used to initialize a variable with the current property

* value.

* <p>

* Example results are "2", "new Color(127,127,34)", "Color.orange", etc.

*

* @return A fragment of Java code representing an initializer for the

* current value.

getAsText

* Gets the property value as a string suitable for presentation

* to a human to edit.

*

* @return The property value as a string suitable for presentation

* to a human to edit.

* <p> Returns "null" is the value can't be expressed as a string.

* <p> If a non-null value is returned, then the PropertyEditor should

* be prepared to parse that string back in setAsText().

setAsText

* Sets the property value by parsing a given String. May raise

* java.lang.IllegalArgumentException if either the String is

* badly formatted or if this kind of property can't be expressed

* as text.

*

* @param text The string to be parsed.

getTags

* If the property value must be one of a set of known tagged values,

* then this method should return an array of the tag values. This can

* be used to represent (for example) enum values. If a PropertyEditor

* supports tags, then it should support the use of setAsText with

* a tag value as a way of setting the value.

*

* @return The tag values for this property. May be null if this

* property cannot be represented as a tagged value.

*

getCustomEditor

* A PropertyEditor may chose to make available a full custom Component

* that edits its property value. It is the responsibility of the

* PropertyEditor to hook itself up to its editor Component itself and

* to report property value changes by firing a PropertyChange event.

* <P>

* The higher-level code that calls getCustomEditor may either embed

* the Component in some larger property sheet, or it may put it in

* its own individual dialog, or ...

*

* @return A java.awt.Component that will allow a human to directly

* edit the current property value. May be null if this is

* not supported.

supportsCustomEditor

* Determines whether the propertyEditor can provide a custom editor.

*

* @return True if the propertyEditor can provide a custom editor.

firePropertyChange

* Report that we have been modified to any interested listeners.

*

* @param source The PropertyEditor that caused the event.


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

 

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to this site, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2017 Martin John Baker - All rights reserved - privacy policy.