Class RMSplitShape

All Implemented Interfaces:
RMArchiver.Archiving, Cloneable
Direct Known Subclasses:
RMTable

public class RMSplitShape extends RMShape
This shape subclass is like a JSplitPane for shapes. It holds a numer of horizontally stacked children with dividers between them and lets the user resize them and correctly moves adjacent rows.
  • Constructor Details

    • RMSplitShape

      public RMSplitShape()
      Creates a new unitialized split shape.
  • Method Details

    • getChildWithTitle

      public RMShape getChildWithTitle(String title)
      Returns a specific child with the given name.
    • getTitleForChild

      public String getTitleForChild(RMShape aShape)
      Returns the title for a given child.
    • addChild

      public void addChild(RMShape child)
      Overrides shape method to incorporate a null title.
      Overrides:
      addChild in class RMShape
    • addChildWithTitle

      public void addChildWithTitle(RMShape child, String title)
      Adds a child to the split shape with the associated title.
    • removeChild

      public void removeChild(int anIndex)
      Overrides the shape method to also remove child from title map.
      Overrides:
      removeChild in class RMShape
    • arrangeChildren

      public void arrangeChildren()
      Resets the location of children.
    • setWidthDeep

      public void setWidthDeep(float value, boolean constrain)
      Overrides shape method to directly propagate to children (is this really needed?).
      Overrides:
      setWidthDeep in class RMShape
    • setHeightDeep

      public void setHeightDeep(float value, boolean constrain)
      Overrides shape method to short circuit height deep propagation and reset children.
      Overrides:
      setHeightDeep in class RMShape
    • getResizeBarBounds

      public RMRect getResizeBarBounds(int index)
      Returns the bounds rect of the resize bar for the child at the given index.
    • getResizeBarAtPoint

      public int getResizeBarAtPoint(RMPoint aPoint)
      Returns the index of the resize bar that is hit by the given point.
    • clone

      public Object clone()
      Standard clone implementation.
      Overrides:
      clone in class RMShape
    • initWithArchiver

      public Object initWithArchiver(RMArchiver anArchiver)
      Legacy unarchival.
      Specified by:
      initWithArchiver in interface RMArchiver.Archiving
      Overrides:
      initWithArchiver in class RMShape
    • superSelectable

      public boolean superSelectable()
      Editor method - indicates that split shape is super selectable.
      Overrides:
      superSelectable in class RMShape
    • childrenSuperSelectImmediately

      public boolean childrenSuperSelectImmediately()
      Editor method - indicates that children should super select immediately when split shape is super selected.
      Overrides:
      childrenSuperSelectImmediately in class RMShape
    • canBeUngrouped

      public boolean canBeUngrouped()
      Editor method - indicates that split shapes can't be ungrouped.
      Overrides:
      canBeUngrouped in class RMShape