Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.vinculum.processeditor.model
Class DimensionPropertySource  view DimensionPropertySource download DimensionPropertySource.java

java.lang.Object
  extended bycom.vinculum.processeditor.model.DimensionPropertySource
All Implemented Interfaces:
org.eclipse.ui.views.properties.IPropertySource

public class DimensionPropertySource
extends java.lang.Object
implements org.eclipse.ui.views.properties.IPropertySource


Field Summary
protected static org.eclipse.ui.views.properties.IPropertyDescriptor[] descriptors
           
protected  Dimension dimension
           
static java.lang.String ID_HEIGHT
           
static java.lang.String ID_WIDTH
           
 
Constructor Summary
DimensionPropertySource(Dimension dimension)
           
 
Method Summary
 java.lang.Object getEditableValue()
          Returns a value for this property source that can be edited in a property sheet.
 org.eclipse.ui.views.properties.IPropertyDescriptor[] getPropertyDescriptors()
          Returns the list of property descriptors for this property source.
 java.lang.Object getPropertyValue(java.lang.Object propName)
          Returns the value of the property with the given id if it has one.
 java.lang.Object getPropertyValue(java.lang.String propName)
           
 Dimension getValue()
           
 boolean isPropertySet(java.lang.Object propName)
          Returns whether the value of the property with the given id has changed from its default value.
 boolean isPropertySet(java.lang.String propName)
           
 void resetPropertyValue(java.lang.Object propName)
          Resets the property with the given id to its default value if possible.
 void resetPropertyValue(java.lang.String propName)
           
 void setPropertyValue(java.lang.Object propName, java.lang.Object value)
          Sets the property with the given id if possible.
 void setPropertyValue(java.lang.String propName, java.lang.Object value)
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ID_WIDTH

public static java.lang.String ID_WIDTH

ID_HEIGHT

public static java.lang.String ID_HEIGHT

descriptors

protected static org.eclipse.ui.views.properties.IPropertyDescriptor[] descriptors

dimension

protected Dimension dimension
Constructor Detail

DimensionPropertySource

public DimensionPropertySource(Dimension dimension)
Method Detail

getEditableValue

public java.lang.Object getEditableValue()
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Returns a value for this property source that can be edited in a property sheet.

This value is used when this IPropertySource is appearing in the property sheet as the value of a property of some other IPropertySource

This value is passed as the input to a cell editor opening on an IPropertySource.

This value is also used when an IPropertySource is being used as the value in a setPropertyValue message. The reciever of the message would then typically use the editable value to update the original property source or construct a new instance.

For example an email address which is a property source may have an editable value which is a string so that it can be edited in a text cell editor. The email address would also have a constructor or setter that takes the edited string so that an appropriate instance can be created or the original instance modified when the edited value is set.

This behavior is important for another reason. When the property sheet is showing properties for more than one object (multiple selection), a property sheet entry will display and edit a single value (typically coming from the first selected object). After a property has been edited in a cell editor, the same value is set as the property value for all of the objects. This is fine for primitive types but otherwise all of the objects end up with a reference to the same value. Thus by creating an editable value and using it to update the state of the original property source object, one is able to edit several property source objects at once (multiple selection).

Specified by:
getEditableValue in interface org.eclipse.ui.views.properties.IPropertySource

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.Object propName)
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Returns the value of the property with the given id if it has one. Returns null if the property's value is null value or if this source does not have the specified property.

Specified by:
getPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.String propName)

getValue

public Dimension getValue()

setPropertyValue

public void setPropertyValue(java.lang.Object propName,
                             java.lang.Object value)
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Sets the property with the given id if possible. Does nothing if the property's value cannot be changed or if this source does not have the specified property.

In general, a property source should not directly reference the value parameter unless it is an atomic object that can be shared, such as a string.

An important reason for this is that several property sources with compatible descriptors could be appearing in the property sheet at the same time. An editor produces a single edited value which is passed as the value parameter of this message to all the property sources. Thus to avoid a situation where all of the property sources reference the same value they should use the value parameter to create a new instance of the real value for the given property.

There is another reason why a level of indirection is useful. The real value of property may be a type that cannot be edited with a standard cell editor. However instead of returning the real value in getPropertyValue, the value could be converted to a String which could be edited with a standard cell editor. The edited value will be passed to this method which can then turn it back into the real property value.

Another variation on returning a value other than the real property value in getPropertyValue is to return a value which is an IPropertySource (or for which the property sheet can obtain an IPropertySource). In this case the value to edit is obtained from the child property source using getEditableValue. It is this editable value that will be passed back via this method when it has been editted

Specified by:
setPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource

setPropertyValue

public void setPropertyValue(java.lang.String propName,
                             java.lang.Object value)

getPropertyDescriptors

public org.eclipse.ui.views.properties.IPropertyDescriptor[] getPropertyDescriptors()
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Returns the list of property descriptors for this property source. The getPropertyValue and setPropertyValue methods are used to read and write the actual property values by specifying the property ids from these property descriptors.

Implementors should cache the descriptors as they will be asked for the descriptors with any edit/update. Since descriptors provide cell editors, returning the same descriptors if possible allows for efficient updating.

Specified by:
getPropertyDescriptors in interface org.eclipse.ui.views.properties.IPropertySource

resetPropertyValue

public void resetPropertyValue(java.lang.String propName)

resetPropertyValue

public void resetPropertyValue(java.lang.Object propName)
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Resets the property with the given id to its default value if possible.

Does nothing if the notion of a default value is not meaningful for the specified property, or if the property's value cannot be changed, or if this source does not have the specified property.

Callers will check if this IPropertySource implements IPropertySource2 and this method will only be called if IPropertySource2#isPropertyResettable(Object) returns true for the property with the given id.

Specified by:
resetPropertyValue in interface org.eclipse.ui.views.properties.IPropertySource

isPropertySet

public boolean isPropertySet(java.lang.Object propName)
Description copied from interface: org.eclipse.ui.views.properties.IPropertySource
Returns whether the value of the property with the given id has changed from its default value. Returns false if this source does not have the specified property.

If the notion of default value is not meaningful for the specified property than true is returned.

Specified by:
isPropertySet in interface org.eclipse.ui.views.properties.IPropertySource

isPropertySet

public boolean isPropertySet(java.lang.String propName)

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).