} else if (ChannelButton.CHANNEL_COLOR_PROPERTY.equals(propName)) {
} else if (ChannelButton.CHANNEL_COLOR_PROPERTY.equals(propName) || ChannelColorMenuItem.CHANNEL_COLOR_PROPERTY.equals(propName)) {
    public void propertyChange(PropertyChangeEvent pce)    {        String propName = pce.getPropertyName();         if (ImViewer.Z_SELECTED_PROPERTY.equals(propName)) {            view.setZSection(((Integer) pce.getNewValue()).intValue());        } else if (ImViewer.T_SELECTED_PROPERTY.equals(propName)) {            view.setTimepoint(((Integer) pce.getNewValue()).intValue());        } else if (ChannelButton.CHANNEL_SELECTED_PROPERTY.equals(propName)) {            Map map = (Map) pce.getNewValue();            if (map == null) return;            if (map.size() != 1) return;            Iterator i = map.keySet().iterator();            Integer index;            while (i.hasNext()) {                index = (Integer) i.next();                model.setChannelSelection(index.intValue(),                                     ((Boolean) map.get(index)).booleanValue());            }        } else if (ZoomAction.ZOOM_PROPERTY.equals(propName)) {            view.setZoomFactor((ViewerAction) pce.getNewValue());        } else if (RateImageAction.RATE_IMAGE_PROPERTY.equals(propName)) {            view.setRatingFactor((ViewerAction) pce.getNewValue());        } else if (LoadingWindow.CLOSED_PROPERTY.equals(propName)) {            model.discard();        } else if (Renderer.RENDER_PLANE_PROPERTY.equals(propName)) {            model.renderXYPlane();        } else if (Renderer.SELECTED_CHANNEL_PROPERTY.equals(propName)) {            if (model.getColorModel().equals(ImViewer.GREY_SCALE_MODEL)) {                int c = ((Integer) pce.getNewValue()).intValue();                for (int i = 0; i < model.getMaxC(); i++)                    model.setChannelActive(i, i == c);                model.displayChannelMovie();            }        } else if (ChannelButton.INFO_PROPERTY.equals(propName)) {            int index = ((Integer) pce.getNewValue()).intValue();            ChannelMetadata data = model.getChannelMetadata(index);            if (data != null) {                InfoDialog dialog = new InfoDialog(model.getUI(), data);                dialog.addPropertyChangeListener(this);                UIUtilities.setLocationRelativeToAndShow(view, dialog);            } else {                UserNotifier un = ImViewerAgent.getRegistry().getUserNotifier();                un.notifyInfo("Channel info", "No metadata for the " +                        "selected channel.");            }        } else if (ChannelButton.CHANNEL_COLOR_PROPERTY.equals(propName)) {            colorPickerIndex = ((Integer) pce.getNewValue()).intValue();            Color c = model.getChannelColor(colorPickerIndex);            ColourPicker dialog = new ColourPicker(view, c);            dialog.addPropertyChangeListener(this);            UIUtilities.setLocationRelativeToAndShow(view, dialog);        } else if (ColourPicker.COLOUR_PROPERTY.equals(propName)) {             Color c = (Color) pce.getNewValue();            if (colorPickerIndex != -1) {                model.setChannelColor(colorPickerIndex, c);            }        } else if (UnitBarSizeDialog.UNIT_BAR_VALUE_PROPERTY.equals(propName)) {            double v = ((Double) pce.getNewValue()).doubleValue();            model.setUnitBarSize(v);        } else if (InfoDialog.UPDATE_PROPERTY.equals(propName)) {            //TODO: implement method        }    }