/******************************************************************************* * Copyright (c) 2010 Oak Ridge National Laboratory. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ package org.csstudio.swt.widgets.figures; import org.csstudio.swt.widgets.figureparts.RoundScale; import org.csstudio.swt.widgets.figureparts.RoundScaledRamp; import org.csstudio.swt.widgets.figureparts.RoundScaledRamp.Threshold; import org.eclipse.swt.graphics.Color; /** * Abstract figure with a round ramp and a round scale. * @author Xihui Chen * */ public class AbstractRoundRampedFigure extends AbstractMarkedWidgetFigure { protected boolean gradient = true; protected RoundScaledRamp ramp; public AbstractRoundRampedFigure() { scale = new RoundScale(); ramp = new RoundScaledRamp((RoundScale) scale); // if(SWT.getPlatform().startsWith("rap"))//$NON-NLS-1$ // ramp.setVisible(false); } @Override public void setShowMarkers(boolean showMarkers) { super.setShowMarkers(showMarkers); // if(SWT.getPlatform().startsWith("rap"))//$NON-NLS-1$ // ramp.setVisible(false); // else ramp.setVisible(showMarkers); } @Override public void setLoloLevel(double loloLevel) { super.setLoloLevel(loloLevel); ramp.setThresholdValue(Threshold.LOLO, loloLevel); } @Override public void setLoLevel(double loLevel) { super.setLoLevel(loLevel); ramp.setThresholdValue(Threshold.LO, loLevel); } @Override public void setHiLevel(double hiLevel) { super.setHiLevel(hiLevel); ramp.setThresholdValue(Threshold.HI, hiLevel); } @Override public void setHihiLevel(double hihiLevel) { super.setHihiLevel(hihiLevel); ramp.setThresholdValue(Threshold.HIHI, hihiLevel); } @Override public void setShowLolo(boolean showLolo) { super.setShowLolo(showLolo); ramp.setThresholdVisibility(Threshold.LOLO, showLolo); } @Override public void setShowLo(boolean showLo) { super.setShowLo(showLo); ramp.setThresholdVisibility(Threshold.LO, showLo); } @Override public void setShowHi(boolean showHi) { super.setShowHi(showHi); ramp.setThresholdVisibility(Threshold.HI, showHi); } @Override public void setShowHihi(boolean showHihi) { super.setShowHihi(showHihi); ramp.setThresholdVisibility(Threshold.HIHI, showHihi); } @Override public void setLoloColor(Color color) { super.setLoloColor(color); ramp.setThresholdColor(Threshold.LOLO, color.getRGB()); repaint(); } @Override public void setLoColor(Color color) { super.setLoColor(color); ramp.setThresholdColor(Threshold.LO, color.getRGB()); repaint(); } @Override public void setHiColor(Color color) { super.setHiColor(color); ramp.setThresholdColor(Threshold.HI, color.getRGB()); repaint(); } @Override public void setHihiColor(Color color) { super.setHihiColor(color); ramp.setThresholdColor(Threshold.HIHI, color.getRGB()); repaint(); } /** * @param gradient the gradient to set */ public void setGradient(boolean gradient) { if(this.gradient == gradient) return; this.gradient = gradient; ramp.setGradient(gradient); repaint(); } @Override public void setRange(double min, double max) { super.setRange(min, max); ramp.setDirty(true); } @Override public void setLogScale(boolean logScale) { super.setLogScale(logScale); ramp.setDirty(true); } /** * @return the gradient */ public boolean isGradient() { return gradient; } }