/**
  * Retrieves the currently selected legend in the tree and shows the corresponding dialog in the
  * card layout; shows the empty panel if no legend is selected.
  */
 protected void showDialogForCurrentlySelectedLegend() {
   ISELegendPanel selected = legendTree.getSelectedPanel();
   if (selected != null) {
     cardLayout.show(dialogContainer, selected.getId());
   } else {
     cardLayout.show(dialogContainer, NO_LEGEND_ID);
   }
 }
 /**
  * Remove the given panel from the card layout and refresh the display.
  *
  * @param panel Panel
  */
 public void legendRemoved(ISELegendPanel panel) {
   cardLayout.removeLayoutComponent(panel.getComponent());
   showDialogForCurrentlySelectedLegend();
 }
 // TODO: Should this method be moved to LegendTree?
 public void legendAdded(ISELegendPanel panel) {
   panel.setId(createNewID());
   dialogContainer.add(panel.getId(), getJScrollPane(panel));
   showDialogForCurrentlySelectedLegend();
 }
 /** Shows the dialog for the given legend in the card layout. */
 protected void showDialogForLegend(ISELegendPanel selected) {
   cardLayout.show(dialogContainer, selected.getId());
 }
 /**
  * Gets a new {@link JScrollPane} on the given panel, setting the scroll increments appropriately.
  *
  * @param panel Panel
  * @return A new {@link JScrollPane} on the given panel
  */
 private JScrollPane getJScrollPane(ISELegendPanel panel) {
   JScrollPane jsp = new JScrollPane(panel.getComponent());
   jsp.getHorizontalScrollBar().setUnitIncrement(INCREMENT);
   jsp.getVerticalScrollBar().setUnitIncrement(INCREMENT);
   return jsp;
 }