Changeset 408 for trunk/loci/visbio/view


Ignore:
Timestamp:
05/26/05 13:21:01 (15 years ago)
Author:
curtis
Message:

Gray out some invalid stack link options based on current state.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/visbio/view/StackPanel.java

    r256 r408  
    7474    DataTransform trans = (DataTransform) transformList.getSelectedValue(); 
    7575    TransformLink tlink = trans == null ? null : handler.getLink(trans); 
    76     boolean b = tlink instanceof StackLink; 
    77     stackLabel.setEnabled(b); 
    78     stackBox.setEnabled(b); 
    79     toggleSlices.setEnabled(b); 
    80     sliceVisible.setEnabled(b); 
    81     highlight.setEnabled(b); 
    82     render.setEnabled(b); 
    83     renderRes.setEnabled(b); 
    84     if (b) { 
    85       StackLink link = (StackLink) tlink; 
    86  
     76    boolean isStack = tlink instanceof StackLink; 
     77    StackLink slink = isStack ? (StackLink) tlink : null; 
     78    boolean hasAxis = isStack && slink.getStackAxis() >= 0; 
     79    boolean isRendered = isStack && slink.isVolumeRendered(); 
     80    if (visible.isEnabled()) visible.setEnabled(!isRendered); 
     81    stackLabel.setEnabled(isStack && !isRendered); 
     82    stackBox.setEnabled(isStack && !isRendered); 
     83    toggleSlices.setEnabled(isStack && hasAxis && !isRendered); 
     84    sliceVisible.setEnabled(isStack && hasAxis && !isRendered); 
     85    highlight.setEnabled(isStack); 
     86    render.setEnabled(isStack && hasAxis); 
     87    renderRes.setEnabled(isStack && hasAxis); 
     88    if (isStack) { 
    8789      // update "stack axis" combo box 
    8890      String[] dims = trans.getDimTypes(); 
     
    101103        for (int i=0; i<items.length; i++) stackBox.addItem(items[i]); 
    102104      } 
    103       int stackAxis = link.getStackAxis(); 
     105      int stackAxis = slink.getStackAxis(); 
    104106      stackBox.setSelectedIndex(stackAxis + 1); 
    105107      stackBox.addActionListener(this); 
    106108 
    107109      // update "current slice visible" checkbox 
    108       int slice = link.getCurrentSlice(); 
    109       sliceVisible.setSelected(link.isSliceVisible(slice)); 
     110      int slice = slink.getCurrentSlice(); 
     111      sliceVisible.setSelected(slink.isSliceVisible(slice)); 
    110112 
    111113      // update "highlight current slice" checkbox 
    112       highlight.setSelected(link.isBoundingBoxVisible()); 
     114      highlight.setSelected(slink.isBoundingBoxVisible()); 
    113115 
    114116      // update "render as a volume" checkbox and spinner 
    115       render.setSelected(link.isVolumeRendered()); 
    116       renderRes.setValue(new Integer(link.getVolumeResolution())); 
     117      render.setSelected(slink.isVolumeRendered()); 
     118      renderRes.setValue(new Integer(slink.getVolumeResolution())); 
    117119    } 
    118120  } 
     
    153155      StackLink link = (StackLink) handler.getLink(trans); 
    154156      link.setVolumeRendered(render.isSelected()); 
     157      updateControls(); 
    155158    } 
    156159    else super.actionPerformed(e); 
Note: See TracChangeset for help on using the changeset viewer.