public FigShallowHistoryState() {
    _bigPort = new FigCircle(x, y, width, height, Color.cyan, Color.cyan);
    _head = new FigCircle(x, y, width, height, Color.black, Color.white);
    _name = new FigText(x + 5, y + 5, width - 10, height - 10);
    _name.setText("H");
    _name.setTextColor(Color.black);
    _name.setFilled(false);
    _name.setLineWidth(0);

    // add Figs to the FigNode in back-to-front order
    addFig(_bigPort);
    addFig(_head);
    addFig(_name);

    setBlinkPorts(false); // make port invisble unless mouse enters
    Rectangle r = getBounds();
  }
 protected void textEdited(FigText ft) throws PropertyVetoException {
   // super.textEdited(ft);
   MComponentInstance coi = (MComponentInstance) getOwner();
   if (ft == _name) {
     String s = ft.getText().trim();
     // why this???
     //       if (s.length()>0) {
     //         s = s.substring(0, (s.length() - 1));
     //       }
     ParserDisplay.SINGLETON.parseComponentInstance(coi, s);
   }
 }