void respondToResize() {
    SIZE =
        Math.min(
                getContentPane().getHeight()
                    - settingsPanel.getPanel().getHeight()
                    - inputPanel.getPanel().getHeight(), // allow for buttons etc
                getContentPane().getWidth())
            - 30;

    DEB.out(3, "new size is " + getContentPane().getHeight() + "," + getContentPane().getWidth());
    DEB.out(3, "SIZE is " + SIZE);
    redraw();
  }
  private void goDraw(String description, int decomp_strategy, int recomp_strategy) {

    ConcreteDiagram cd = null;
    String failureMessage = null;
    try {
      AbstractDescription adr = AbstractDescription.makeForTesting(description);
      DEB.out(1, "draw " + adr.debug());
      DiagramCreator dc =
          new DiagramCreator(
              adr,
              DecompositionStrategy.getStrategy(decomp_strategy),
              RecompositionStrategy.getStrategy(recomp_strategy));
      cd = dc.createDiagram(SIZE);
    } catch (CannotDrawException x) {
      failureMessage = x.message;
    }
    resultPanel.show(description, failureMessage, cd, SIZE, useColors);
  }