com.swfm.mica.editors
Class MiRuler

java.lang.Object
  extended bycom.swfm.mica.core.MiPart
      extended bycom.swfm.mica.core.MiContainer
          extended bycom.swfm.mica.layouts.MiLayout
              extended bycom.swfm.mica.core.MiVisibleContainer
                  extended bycom.swfm.mica.widgets.MiWidget
                      extended bycom.swfm.mica.editors.MiRuler
All Implemented Interfaces:
MiiActionHandler, MiiActionTypes, MiiAttributeTypes, MiiCopyable, MiiDragAndDropParticipant, MiiEventTypes, MiiLayout, MiiNames, MiiPropertyTypes, MiiTypes

public class MiRuler
extends MiWidget
implements MiiActionHandler

Version:
%I% %G%
Author:
Michael L. Davis

Field Summary
static java.lang.String Mi_LABEL_COLOR_NAME
           
static java.lang.String Mi_LABEL_FONT_NAME
           
static java.lang.String Mi_LABEL_JUSTIFICATION_NAME
           
static java.lang.String Mi_LABEL_SIZE_NAME
           
static java.lang.String Mi_LOCATION_TICK_COLOR_NAME
           
static java.lang.String Mi_LOCATION_TICK_THICKNESS_NAME
           
static java.lang.String Mi_TICK_COLOR_NAME
           
static java.lang.String Mi_TICK_JUSTIFICATION_NAME
           
static java.lang.String Mi_TICK_RESOLUTION_NAME
           
                   
Constructor Summary
MiRuler()
          Constructs a new MiRuler with a horizontal orientation.
MiRuler(int orientation)
          Constructs a new MiRuler with the given orientation.
 
Method Summary
 void appendAnnotation(MiPart part, double locationValue, int justification)
           
 void calcMinimumSize(MiSize size)
          Gets the minimum size of this MiPart.
 void calcPreferredSize(MiSize size)
          Gets the preferred size of this MiPart.
 void getAnnotations(MiParts parts, DoubleVector locations, IntVector justifications)
           
 java.awt.Color getLabelColor()
           
 MiFont getLabelFont()
           
 int getLabelJustification()
           
 int getLabelPointSize()
           
 MiPart getMouseLocationTick()
           
 java.awt.Color getMouseLocationTickColor()
           
 int getMouseLocationTickJustification()
           
 double getMouseLocationTickThickness()
           
 int getOrientation()
           
 MiPart getPage()
           
 boolean getPageOriginAtUpperLeft()
           
 double getPageSizeInUnits()
           
 MiPropertyDescriptions getPropertyDescriptions()
          Gets the descriptions of all of the properties.
 java.lang.String getPropertyValue(java.lang.String name)
          Gets the textual value of the property with the given name.
 double getReferenceTickLocationOnTargetPage()
           
 java.awt.Color getTickColor()
           
 int getTickJustification()
           
 double getTickResolution()
           
 double getTickSpacingOnTargetPage(double tickResolution)
           
 boolean processAction(MiiAction action)
          Processes the given action.
 void removeAnnotation(MiPart part)
           
 void setConfiguration(double[] tickResolutions, MiParts tickLabels, MiParts ticks, int tickJustification)
           
 void setLabelColor(java.awt.Color color)
           
 void setLabelFont(MiFont font)
           
 void setLabelJustification(int justification)
           
 void setLabelPointSize(int size)
           
 void setMouseLocationTick(MiPart tick)
           
 void setMouseLocationTickColor(java.awt.Color color)
           
 void setMouseLocationTickJustification(int justification)
           
 void setMouseLocationTickThickness(double width)
           
 void setOrientation(int orientation)
           
 void setPage(MiPart page)
           
 void setPageOriginAtUpperLeft(boolean flag)
           
 void setPageSizeInUnits(double pageWidthInUnits)
           
 void setPropertyValue(java.lang.String name, java.lang.String value)
          Sets the property with the given name to the given value.
 void setTickColor(java.awt.Color color)
           
 void setTickJustification(int justification)
           
 void setTickLabelResolutions(int[] labelResolutions)
           
 void setTickResolution(double max)
           
 void updateMouseLocationTick()
           
 
Methods inherited from class com.swfm.mica.widgets.MiWidget
copy, doExport, getContents, getEnterKeyFocusAttributes, getEnterKeyFocusBackgroundColor, getEnterKeyFocusBorderLook, getEnterKeyFocusColor, getEnterKeyFocusStatusHelp, getInSensitiveAttributes, getInSensitiveBackgroundColor, getInSensitiveBorderLook, getInSensitiveColor, getInSensitiveStatusHelp, getKeyboardFocusAttributes, getKeyboardFocusBackgroundColor, getKeyboardFocusBorderLook, getKeyboardFocusColor, getKeyboardFocusStatusHelp, getMouseFocusAttributes, getMouseFocusBackgroundColor, getMouseFocusBorderLook, getMouseFocusColor, getMouseFocusStatusHelp, getNormalAttributes, getNormalBackgroundColor, getNormalBorderLook, getNormalColor, getNormalStatusHelp, getRadioStateEnforcer, getSelectedAttributes, getSelectedBackgroundColor, getSelectedBorderLook, getSelectedColor, getSelectedStatusHelp, getToolkit, getValue, getWidgetAttributes, isAutoAttributesEnabled, isDesignTime, select, setAttributes, setAutoAttributesEnabled, setContents, setCurrentBackgroundColor, setCurrentColor, setEnterKeyFocus, setEnterKeyFocusAttributes, setEnterKeyFocusBackgroundColor, setEnterKeyFocusBorderLook, setEnterKeyFocusColor, setEnterKeyFocusStatusHelpMessage, setInSensitiveAttributes, setInSensitiveBackgroundColor, setInSensitiveBorderLook, setInSensitiveColor, setInSensitiveStatusHelpMessage, setKeyboardFocus, setKeyboardFocusAttributes, setKeyboardFocusBackgroundColor, setKeyboardFocusBorderLook, setKeyboardFocusColor, setKeyboardFocusStatusHelpMessage, setMouseFocus, setMouseFocusAttributes, setMouseFocusBackgroundColor, setMouseFocusBorderLook, setMouseFocusColor, setMouseFocusStatusHelpMessage, setNormalAttributes, setNormalBackgroundColor, setNormalBorderLook, setNormalColor, setNormalStatusHelpMessage, setPropertyValues, setRadioStateEnforcer, setSelectedAttributes, setSelectedBackgroundColor, setSelectedBorderLook, setSelectedColor, setSelectedStatusHelpMessage, setSensitive, setValue, setWidgetAttributes, setWidgetAttributes
 
Methods inherited from class com.swfm.mica.core.MiVisibleContainer
getContainerLayoutSpec, getDisplaysFocusBorder, getInnerBounds, getIntersectionWithLine, getOKToDrawOutsideInnerBounds, getShadowShape, getShape, getTotalMargins, getVisibleContainerAutomaticLayoutEnabled, invalidateArea, isShapeShrinkToFitEnabled, pick, setContainerLayoutSpec, setDisplaysFocusBorder, setMargins, setOKToDrawOutsideInnerBounds, setShape, setShape, setShapeShrinkToFitEnabled, setVisibleContainerAutomaticLayoutEnabled
 
Methods inherited from class com.swfm.mica.layouts.MiLayout
determinesPreferredAndMinimumSizes, getAlleyHSpacing, getAlleyMargins, getAlleyVSpacing, getCellMargins, getCellMargins, getElementHJustification, getElementHSizing, getElementVJustification, getElementVSizing, getInsetMargins, getInsetMargins, getLastElementJustification, getTarget, getUniqueElementIndex, getUniqueElementSizing, isEnabled, isIndependantOfTargetPosition, isScalingOfPartsWhenBoundsChangesHandledDuringLayout, layoutParts, makeCopy, setAlleyHSpacing, setAlleySpacing, setAlleyVSpacing, setCellMargins, setCellMargins, setElementHJustification, setElementHSizing, setElementJustification, setElementSizing, setElementVJustification, setElementVSizing, setEnabled, setInsetMargins, setInsetMargins, setLastElementJustification, setScalingOfPartsWhenBoundsChangesHandledDuringLayout, setTarget, setUniqueElementIndex, setUniqueElementSizing, toString
 
Methods inherited from class com.swfm.mica.core.MiContainer
appendPart, containsPart, deepCopy, doImport, getIndexOfPart, getKeepConnectionsBelowNodes, getNumberOfParts, getPart, getPart, getSupportedImportFormats, hasEventHandlers, hasValidCachedEventHandlerInfo, insertPart, invalidateCachedEventHandlerInfo, isContainerOf, isContainerOf, isContainerOfWithAttachments, pickDeepListContents, pickObject, removeAllParts, removePart, removePart, setKeepConnectionsBelowNodes, setPart, translate
 
Methods inherited from class com.swfm.mica.core.MiPart
_reCalcBounds, _render, _replaceBounds, _setContainer, _setDrawManager, _setValidatingLayout, appendActionHandler, appendActionHandler, appendActionHandler, appendActionHandler, appendActionHandler, appendAttachment, appendAttachment, appendCommandHandler, appendCommandHandler, appendCommandHandler, appendConnection, appendContainer, appendEventHandler, appendItem, appendPoint, appendPoint, applyCustomLookAndFeel, containsItem, containsOpaqueRectangles, copy, deleteAllConnections, deleteAllParts, deleteSelf, dispatchAction, dispatchAction, dispatchAction, dispatchActionRequest, dispatchActionRequest, dispatchActionRequest, dispatchEvent, draw, drawNow, drawNow, flip, flip, freeAccessLock, get1DShapeStrokeBackgroundColor, get1DShapeStrokesFilled, getAccessLock, getActionHandler, getActionsGenerated, getActionsLocallyGenerated, getActionsRequestedFromParts, getAfterRenderer, getAlphaCompositeRenderMode, getAnnotationPointManager, getAssociatedParts, getAttachment, getAttachment, getAttachmentMargins, getAttachments, getAttributeLockMask, getAttributePublicMask, getAttributes, getAttributeValue, getBackgroundColor, getBackgroundImage, getBackgroundRenderer, getBackgroundTile, getBalloonHelp, getBeforeRenderer, getBlackColor, getBorderHiliteColor, getBorderHiliteWidth, getBorderLook, getBorderRenderer, getBounds, getBounds, getCenter, getCenter, getCenterOfRotation, getCenterX, getCenterY, getColor, getConnection, getConnectionPointManager, getContainer, getContainerRequestedActions, getContainingEditor, getContainingWindow, getContextCursor, getContextMenu, getContextMenu, getControlPointManager, getCustomLookAndFeels, getCustomLookAndFeels, getDarkColor, getDeepConnection, getDeepConnection, getDeepConnections, getDeeplyInvalidateAreas, getDefaultAttributes, getDialogHelp, getDoubleBuffer, getDragAndDropBehavior, getDrawBounds, getDrawManager, getEventHandler, getEventHandler, getEventHandlerWithClass, getEventHandlingDisabledByContainer, getEventHandlingEnabled, getFlipped, getFont, getFontHorizontalJustification, getFontPointSize, getFontVerticalJustification, getHasBorderHilite, getHasShadow, getHeight, getID, getIncomingInvalidLayoutNotificationsEnabled, getIndexOfItem, getInnerBounds, getInvalidAreaNotificationsEnabled, getInvalidLayoutNotificationsEnabled, getItem, getItem, getKeyFocusTraversalGroup, getLayout, getLayoutManipulator, getLightColor, getLineEndSize, getLineEndsRenderer, getLineEndsSizeFnOfLineWidth, getLineEndStyle, getLineStartSize, getLineStartStyle, getLineStyle, getLineWidth, getLocallyRequestedEventTypes, getManipulator, getMargins, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumPickAreaSize, getMinimumSize, getMinimumWidth, getName, getNumberOfActionHandlers, getNumberOfAttachments, getNumberOfConnections, getNumberOfContainers, getNumberOfDeepConnections, getNumberOfEventHandlers, getNumberOfItems, getNumberOfPoints, getNumberOfResources, getOutgoingInvalidLayoutNotificationsEnabled, getPoint, getPoint, getPointEntryAngle, getPointExitAngle, getPointX, getPointY, getPreferredSize, getPrototypeManipulator, getRelativeLocation, getResource, getResourceName, getRootWindow, getRotation, getSelectionGraphics, getShadowColor, getShadowDirection, getShadowLength, getShadowRenderer, getShadowStyle, getSize, getSnapPointManager, getStatusHelp, getSupportedExportFormats, getThisOrPartHasInvalidArea, getToolHintHelp, getTotalNumberOfPartsCreated, getTransform, getTransparency, getValidatingLayout, getVisibilityAnimator, getWhiteColor, getWidth, getWriteMode, getXmax, getXmin, getXorColor, getYmax, getYmin, hasAttachment, hasAttribute, hasEnterKeyFocus, hasEventHandler, hasFixedAspectRatio, hasFixedHeight, hasFixedWidth, hasKeyboardFocus, hasMouseFocus, hasOverriddenMinimumSize, hasOverriddenPreferredSize, hasProperty, hasTotallyInvalidArea, hasValidLayout, insertActionHandler, insertActionHandler, insertActionHandler, insertConnection, insertContainer, insertEventHandler, insertItem, insertPoint, insertPoint, invalidateArea, invalidateLayout, isAcceptingEnterKeyFocus, isAcceptingKeyboardFocus, isAcceptingMouseFocus, isAcceptingTabKeys, isActionDispatchingEnabled, isConnectable, isConnectedTo, isCopyable, isCopyableAsPartOfCopyable, isDeletable, isDoubleBuffered, isDragAndDropSource, isDragAndDropTarget, isFilled, isFontBold, isFontItalic, isFontUnderlined, isHidden, isMovable, isOpaqueRectangle, isPickable, isPickableWhenTransparent, isPrintable, isSavable, isSelectable, isSelected, isSensitive, isShowing, isSnappable, isUngroupable, isValidConnectionDestination, isValidConnectionSource, isVisible, makeImageFromArea, makeLayoutManipulator, makeManipulator, optimizedInvalidateArea, optimizedInvalidateDrawBoundsArea, overrideAttributes, overrideEventHandlingDisabledByContainer, packLayout, pickDeepList, preRenderToDoubleBuffer, refreshBounds, refreshLookAndFeel, refreshLookAndFeel, removeActionHandler, removeActionHandler, removeActionHandlers, removeAllActionHandlers, removeAllAttachments, removeAllConnections, removeAllEventHandlers, removeAllItems, removeAllManipulators, removeAttachment, removeAttachment, removeCommandHandler, removeCommandHandler, removeConnection, removeConnection, removeContainer, removeContainer, removeEventHandler, removeFromAllContainers, removeItem, removeItem, removePoint, removeResource, removeSelf, replaceDrawBounds, replaceSelf, requestEnterKeyFocus, requestKeyboardFocus, rotate, rotate, rotateTo, scale, scale, scale, set1DShapeStrokeBackgroundColor, set1DShapeStrokesFilled, setAcceptingEnterKeyFocus, setAcceptingKeyboardFocus, setAcceptingMouseFocus, setAcceptingTabKeys, setActionDispatchingEnabled, setAfterRenderer, setAlphaCompositeRenderMode, setAnnotationPointManager, setAttachmentDrawnAfter, setAttachmentMargins, setAttachmentsVisibility, setAttributeLockMask, setAttributePublicMask, setAttributeValue, setAttributeValue, setAttributeValue, setAttributeValue, setAttributeValue, setBackgroundColor, setBackgroundColor, setBackgroundImage, setBackgroundRenderer, setBackgroundTile, setBalloonHelp, setBalloonHelpMessage, setBeforeRenderer, setBlackColor, setBorderHiliteColor, setBorderHiliteWidth, setBorderLook, setBorderRenderer, setBounds, setBounds, setCenter, setCenter, setCenterX, setCenterY, setColor, setColor, setConnectable, setConnectionPointManager, setContextCursor, setContextMenu, setControlPointManager, setCopyable, setCopyableAsPartOfCopyable, setCustomLookAndFeels, setCustomLookAndFeels, setDarkColor, setDeeplyInvalidateAreas, setDefaultAttributes, setDeletable, setDialogHelp, setDialogHelpMessage, setDoubleBuffer, setDoubleBuffered, setDragAndDropBehavior, setEventHandlingEnabled, setFilled, setFixedAspectRatio, setFixedHeight, setFixedWidth, setFont, setFontBold, setFontHorizontalJustification, setFontItalic, setFontPointSize, setFontUnderlined, setFontVerticalJustification, setHasBorderHilite, setHasShadow, setHeight, setHidden, setIncomingInvalidLayoutNotificationsEnabled, setInvalidAreaNotificationsEnabled, setInvalidLayoutNotificationsEnabled, setIsDragAndDropSource, setIsDragAndDropTarget, setIsOpaqueRectangle, setItem, setKeyFocusTraversalGroup, setLayout, setLightColor, setLineEndSize, setLineEndSizeFnOfLineWidth, setLineEndsRenderer, setLineEndStyle, setLineStartSize, setLineStartStyle, setLineStyle, setLineWidth, setMaximumHeight, setMaximumWidth, setMinimumHeight, setMinimumPickAreaSize, setMinimumSize, setMinimumWidth, setMovable, setName, setNumberOfPoints, setOutgoingInvalidLayoutNotificationsEnabled, setPickable, setPickableWhenTransparent, setPoint, setPoint, setPreferredSize, setPrintable, setPrototypeManipulator, setResource, setSavable, setSelectable, setSelectionGraphics, setShadowColor, setShadowDirection, setShadowLength, setShadowRenderer, setShadowStyle, setSize, setSize, setSnappable, setSnapPointManager, setStatusHelp, setStatusHelpMessage, setSupportedImportFormats, setToolHintHelp, setToolHintMessage, setTransparency, setTransparency, setUngroupable, setVisibilityAnimator, setVisible, setWhiteColor, setWidth, setWriteMode, setXmax, setXmin, setXorColor, setYmax, setYmin, supportsImportOfSpecificInstance, translate, translate, translatePoint, validateLayout, validatePropertyValue, waitUntilRedrawn
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.swfm.mica.layouts.MiiLayout
getMinimumSize, getPreferredSize, invalidateLayout
 

Field Detail

Mi_TICK_RESOLUTION_NAME

public static final java.lang.String Mi_TICK_RESOLUTION_NAME
See Also:
Constant Field Values

Mi_TICK_COLOR_NAME

public static final java.lang.String Mi_TICK_COLOR_NAME
See Also:
Constant Field Values

Mi_LABEL_JUSTIFICATION_NAME

public static final java.lang.String Mi_LABEL_JUSTIFICATION_NAME
See Also:
Constant Field Values

Mi_TICK_JUSTIFICATION_NAME

public static final java.lang.String Mi_TICK_JUSTIFICATION_NAME
See Also:
Constant Field Values

Mi_LABEL_COLOR_NAME

public static final java.lang.String Mi_LABEL_COLOR_NAME
See Also:
Constant Field Values

Mi_LABEL_FONT_NAME

public static final java.lang.String Mi_LABEL_FONT_NAME
See Also:
Constant Field Values

Mi_LABEL_SIZE_NAME

public static final java.lang.String Mi_LABEL_SIZE_NAME
See Also:
Constant Field Values

Mi_LOCATION_TICK_COLOR_NAME

public static final java.lang.String Mi_LOCATION_TICK_COLOR_NAME
See Also:
Constant Field Values

Mi_LOCATION_TICK_THICKNESS_NAME

public static final java.lang.String Mi_LOCATION_TICK_THICKNESS_NAME
See Also:
Constant Field Values
Constructor Detail

MiRuler

public MiRuler()
Constructs a new MiRuler with a horizontal orientation.


MiRuler

public MiRuler(int orientation)
Constructs a new MiRuler with the given orientation.

Parameters:
orientation - either Mi_VERTICAL or Mi_HORIZONTAL
Method Detail

setTickLabelResolutions

public void setTickLabelResolutions(int[] labelResolutions)

setConfiguration

public void setConfiguration(double[] tickResolutions,
                             MiParts tickLabels,
                             MiParts ticks,
                             int tickJustification)

setTickResolution

public void setTickResolution(double max)

getTickResolution

public double getTickResolution()

setTickJustification

public void setTickJustification(int justification)

getTickJustification

public int getTickJustification()

setTickColor

public void setTickColor(java.awt.Color color)

getTickColor

public java.awt.Color getTickColor()

setMouseLocationTick

public void setMouseLocationTick(MiPart tick)

getMouseLocationTick

public MiPart getMouseLocationTick()

setMouseLocationTickJustification

public void setMouseLocationTickJustification(int justification)

getMouseLocationTickJustification

public int getMouseLocationTickJustification()

setMouseLocationTickColor

public void setMouseLocationTickColor(java.awt.Color color)

getMouseLocationTickColor

public java.awt.Color getMouseLocationTickColor()

setMouseLocationTickThickness

public void setMouseLocationTickThickness(double width)

getMouseLocationTickThickness

public double getMouseLocationTickThickness()

setLabelFont

public void setLabelFont(MiFont font)

getLabelFont

public MiFont getLabelFont()

setLabelPointSize

public void setLabelPointSize(int size)

getLabelPointSize

public int getLabelPointSize()

setLabelColor

public void setLabelColor(java.awt.Color color)

getLabelColor

public java.awt.Color getLabelColor()

setLabelJustification

public void setLabelJustification(int justification)

getLabelJustification

public int getLabelJustification()

setPageSizeInUnits

public void setPageSizeInUnits(double pageWidthInUnits)

getPageSizeInUnits

public double getPageSizeInUnits()

setPage

public void setPage(MiPart page)

getPage

public MiPart getPage()

setOrientation

public void setOrientation(int orientation)

getOrientation

public int getOrientation()

setPageOriginAtUpperLeft

public void setPageOriginAtUpperLeft(boolean flag)

getPageOriginAtUpperLeft

public boolean getPageOriginAtUpperLeft()

appendAnnotation

public void appendAnnotation(MiPart part,
                             double locationValue,
                             int justification)

removeAnnotation

public void removeAnnotation(MiPart part)

getAnnotations

public void getAnnotations(MiParts parts,
                           DoubleVector locations,
                           IntVector justifications)

getReferenceTickLocationOnTargetPage

public double getReferenceTickLocationOnTargetPage()

getTickSpacingOnTargetPage

public double getTickSpacingOnTargetPage(double tickResolution)

updateMouseLocationTick

public void updateMouseLocationTick()

processAction

public boolean processAction(MiiAction action)
Processes the given action. The actions supported are:
    Mi_EDITOR_VIEWPORT_CHANGED_ACTION
    Mi_MOUSE_EXIT_ACTION
    Mi_MOUSE_ENTER_ACTION
 

Specified by:
processAction in interface MiiActionHandler
Parameters:
action - the action to process
Returns:
false if consumes the action

calcPreferredSize

public void calcPreferredSize(MiSize size)
Description copied from class: MiVisibleContainer
Gets the preferred size of this MiPart. Override this, if desired, as it implements the core functionality.

Overrides:
calcPreferredSize in class MiVisibleContainer
Parameters:
size - the (returned) preferred size
See Also:
MiPart.getPreferredSize(com.swfm.mica.core.MiSize)

calcMinimumSize

public void calcMinimumSize(MiSize size)
Description copied from class: MiVisibleContainer
Gets the minimum size of this MiPart. Override this, if desired, as it implements the core functionality.

Overrides:
calcMinimumSize in class MiVisibleContainer
Parameters:
size - the (returned) minimum size
See Also:
MiPart.getMinimumSize(com.swfm.mica.core.MiSize)

setPropertyValue

public void setPropertyValue(java.lang.String name,
                             java.lang.String value)
Sets the property with the given name to the given value.

Overrides:
setPropertyValue in class MiWidget
Parameters:
name - the name of an property
value - the value of the property

getPropertyValue

public java.lang.String getPropertyValue(java.lang.String name)
Gets the textual value of the property with the given name. If the value is null then MiiTypes.Mi_NULL_VALUE_NAME is returned.

Overrides:
getPropertyValue in class MiWidget
Parameters:
name - the name of a property
Returns:
the string value of the property

getPropertyDescriptions

public MiPropertyDescriptions getPropertyDescriptions()
Gets the descriptions of all of the properties. These can be used to see if an property is different from the default value or if a proposed value is valid or to get a list of all of the valid values of a property.

Overrides:
getPropertyDescriptions in class MiWidget
Returns:
the list of property descriptions