/* * This file is part of LaTeXDraw. * Copyright (c) 2005-2017 Arnaud BLOUIN * LaTeXDraw is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later version. * LaTeXDraw is distributed without any warranty; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. */ package net.sf.latexdraw.actions.shape; import java.util.Collections; import java.util.List; import net.sf.latexdraw.models.interfaces.shape.ArcStyle; import net.sf.latexdraw.models.interfaces.shape.ArrowStyle; import net.sf.latexdraw.models.interfaces.shape.AxesStyle; import net.sf.latexdraw.models.interfaces.shape.BorderPos; import net.sf.latexdraw.models.interfaces.shape.Color; import net.sf.latexdraw.models.interfaces.shape.DotStyle; import net.sf.latexdraw.models.interfaces.shape.FillingStyle; import net.sf.latexdraw.models.interfaces.shape.FreeHandStyle; import net.sf.latexdraw.models.interfaces.shape.IGroup; import net.sf.latexdraw.models.interfaces.shape.IPoint; import net.sf.latexdraw.models.interfaces.shape.LineStyle; import net.sf.latexdraw.models.interfaces.shape.PlotStyle; import net.sf.latexdraw.models.interfaces.shape.PlottingStyle; import net.sf.latexdraw.models.interfaces.shape.TextPosition; import net.sf.latexdraw.models.interfaces.shape.TicksStyle; import net.sf.latexdraw.util.LangTool; /** * Defines shape properties. * @author Arnaud Blouin */ public enum ShapeProperties { /** Plot style. **/ PLOT_STYLE { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setPlotStyle((PlotStyle)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setPlotStyleList((List<PlotStyle>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<PlotStyle>emptyList() : group.getPlotStyleList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof PlotStyle; } }, /** Polar or cartesian coordinates. **/ PLOT_POLAR { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setPolar((Boolean)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setPlotPolarList((List<Boolean>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getPlotPolarList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } }, /** The equation of plots. **/ PLOT_EQ { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setPlotEquation((String)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setPlotEquationList((List<String>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<String>emptyList() : group.getPlotEquationList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof String; } }, /** Y-scale. **/ Y_SCALE { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setYScale((Double)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setYScaleList((List<Double>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getYScaleList();} @Override public String getMessage() { return "shape scale"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** X-scale. **/ X_SCALE { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setXScale((Double)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setXScaleList((List<Double>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getXScaleList();} @Override public String getMessage() { return "shape scale"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The max-x of a plot. **/ PLOT_MAX_X { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setPlotMaxX((Double)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setPlotMaxXList((List<Double>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getPlotMaxXList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The min-x of a plot. **/ PLOT_MIN_X { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setPlotMinX((Double)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setPlotMinXList((List<Double>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getPlotMinXList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The number of plotted points. **/ PLOT_NB_PTS { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setNbPlottedPoints((Integer)value);} @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setNbPlottedPointsList((List<Integer>)values);} @Override public List<?> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getNbPlottedPointsList();} @Override public String getMessage() { return "plot's parameters"; } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } }, /** Show/Hide the origin of the axes. */ SHOW_POINTS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.12"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getShowPointsList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setShowPts((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setShowPointsList((List<Boolean>)values); } }, /** Show/Hide the origin of the axes. */ AXES_SHOW_ORIGIN { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getAxesShowOriginList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setShowOrigin((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesShowOriginList((List<Boolean>)values); } }, /** The increment of the axes' labels. */ AXES_LABELS_DIST { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof IPoint; } @Override public List<IPoint> getPropertyValues(final IGroup group) { return group==null ? Collections.<IPoint>emptyList() : group.getAxesDistLabelsList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDistLabels((IPoint)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesDistLabelsList((List<IPoint>)values); } }, /** The increment of the axes' labels. */ AXES_LABELS_INCR { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof IPoint; } @Override public List<IPoint> getPropertyValues(final IGroup group) { return group==null ? Collections.<IPoint>emptyList() : group.getAxesIncrementsList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setIncrement((IPoint)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesIncrementsList((List<IPoint>)values); } }, /** How the labels of axes are displayed. */ AXES_LABELS_SHOW { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof PlottingStyle; } @Override public List<PlottingStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<PlottingStyle>emptyList() : group.getAxesLabelsDisplayedList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setLabelsDisplayed((PlottingStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesLabelsDisplayedList((List<PlottingStyle>)values); } }, /** How the ticks of axes are displayed. */ AXES_TICKS_SHOW { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof PlottingStyle; } @Override public List<PlottingStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<PlottingStyle>emptyList() : group.getAxesTicksDisplayedList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setTicksDisplayed((PlottingStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesTicksDisplayedList((List<PlottingStyle>)values); } }, /** The width of the sub-grids. */ GRID_SUBGRID_WIDTH { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getSubGridWidthList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setSubGridWidth((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setSubGridWidthList((List<Double>)values); } }, /** Defines if the free hand shapes are open. */ FREEHAND_OPEN { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.15"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getFreeHandOpenList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setOpen((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setFreeHandOpenList((List<Boolean>)values); } }, /** The interval between the points of free hand shapes. */ FREEHAND_INTERVAL { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.15"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } @Override public List<Integer> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getFreeHandIntervalList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setInterval((Integer)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setFreeHandIntervalList((List<Integer>)values); } }, /** The division the sub-lines of grids. */ GRID_SUBGRID_DIV { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } @Override public List<Integer> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getSubGridDivList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setSubGridDiv((Integer)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setSubGridDivList((List<Integer>)values); } }, /** The number of dots composing the sub-lines of grids. */ GRID_SUBGRID_DOTS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } @Override public List<Integer> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getSubGridDotsList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setSubGridDots((Integer)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setSubGridDotsList((List<Integer>)values); } }, /** The number of dots composing the main lines of grids. */ GRID_DOTS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } @Override public List<Integer> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getGridDotsList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGridDots((Integer)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridDotsList((List<Integer>)values); } }, /** The width of the grids. */ GRID_WIDTH { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getGridWidthList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGridWidth((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridWidthList((List<Double>)values); } }, // /** The size of the ticks of axes. */ // AXES_TICKS_SIZE { // @Override // public String getMessage() { // return "axe's parameters"; // } // // @Override // public boolean isValueValid(final Object obj) { // return obj instanceof Double; // } // // @Override // public List<Double> getPropertyValues(final IGroup group) { // return group==null ? Collections.EMPTY_LIST : group.getAxesTicksSizeList(); // } // // @Override // public void setPropertyValue(final IGroup group, final Object value) { // if(group!=null && isValueValid(value)) // group.setTicksSize((Double)value); // } // // @SuppressWarnings("unchecked") // @Override // public void setPropertyValueList(final IGroup group, final List<?> values) { // if(group!=null) // group.setAxesTicksSizeList((List<Double>)values); // } // }, /** The style of the ticks of axes. */ AXES_TICKS_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof TicksStyle; } @Override public List<TicksStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<TicksStyle>emptyList() : group.getAxesTicksStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setTicksStyle((TicksStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesTicksStyleList((List<TicksStyle>)values); } }, /** The style of axes. */ FREEHAND_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.15"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof FreeHandStyle; } @Override public List<FreeHandStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<FreeHandStyle>emptyList() : group.getFreeHandTypeList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setType((FreeHandStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setFreeHandTypeList((List<FreeHandStyle>)values); } }, /** The style of axes. */ AXES_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.13"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof AxesStyle; } @Override public List<AxesStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<AxesStyle>emptyList() : group.getAxesStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setAxesStyle((AxesStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAxesStyleList((List<AxesStyle>)values); } }, /** The X-coordinate of the grid's labels. */ GRID_LABEL_POSITION_X { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getGridYLabelWestList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setYLabelWest((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridYLabelWestList((List<Boolean>)values); } }, /** The Y-coordinate of the grid's labels. */ GRID_LABEL_POSITION_Y { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.getGridXLabelSouthList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setXLabelSouth((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridXLabelSouthList((List<Boolean>)values); } }, /** The size of the labels of grids. */ GRID_SIZE_LABEL { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer; } @Override public List<Integer> getPropertyValues(final IGroup group) { return group==null ? Collections.<Integer>emptyList() : group.getGridLabelSizeList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setLabelsSize((Integer)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridLabelSizeList((List<Integer>)values); } }, /** The t bar num of arrows. */ ARROW_T_BAR_SIZE_DIM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setTBarSizeDim((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setTBarSizeDimList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getTBarSizeDimList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The t bar num of arrows. */ ARROW_T_BAR_SIZE_NUM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setTBarSizeNum((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setTBarSizeNumList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getTBarSizeNumList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The dot size dim of arrows. */ ARROW_DOT_SIZE_NUM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setDotSizeNum((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDotSizeNumList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getDotSizeNumList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The dot size dim of arrows. */ ARROW_DOT_SIZE_DIM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setDotSizeDim((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDotSizeDimList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getDotSizeDimList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The bracket num of arrows. */ ARROW_BRACKET_NUM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setBracketNum((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setBracketNumList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getBracketNumList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The round bracket num of arrows. */ ARROW_R_BRACKET_NUM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setRBracketNum((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setRBracketNumList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getRBracketNumList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The size num of arrows. */ ARROW_SIZE_NUM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setArrowSizeNum((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowSizeNumList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getArrowSizeNumList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The size dim of arrows. */ ARROW_SIZE_DIM { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setArrowSizeDim((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowSizeDimList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getArrowSizeDimList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, ARROW_LENGTH { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setArrowLength((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowLengthList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getArrowLengthList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** The inset of arrows. */ ARROW_INSET { @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null) group.setArrowInset((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowInsetList((List<Double>)values); } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getArrowInsetList(); } @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } }, /** Modification of the starting position of grids. */ GRID_END { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof IPoint; } @Override public List<IPoint> getPropertyValues(final IGroup group) { return group==null ? Collections.<IPoint>emptyList() : group.getGridEndList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) { final IPoint pt = (IPoint)value; group.setGridEnd(pt.getX(), pt.getY()); } } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridEndList((List<IPoint>)values); } }, /** Modification of the starting position of grids. */ GRID_ORIGIN { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof IPoint; } @Override public List<IPoint> getPropertyValues(final IGroup group) { return group==null ? Collections.<IPoint>emptyList() : group.getGridOriginList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) { final IPoint pt = (IPoint)value; group.setOrigin(pt.getX(), pt.getY()); } } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridOriginList((List<IPoint>)values); } }, /** Modification of the starting position of grids. */ GRID_START { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof IPoint; } @Override public List<IPoint> getPropertyValues(final IGroup group) { return group==null ? Collections.<IPoint>emptyList() : group.getGridStartList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) { final IPoint pt = (IPoint)value; group.setGridStart(pt.getX(), pt.getY()); } } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridStartList((List<IPoint>)values); } }, /** Modification of the start angle of arcs. */ ARC_START_ANGLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.17"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getAngleStartList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setAngleStart((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAngleStartList((List<Double>)values); } }, /** Modification of the end angle of arcs. */ ARC_END_ANGLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.17"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getAngleEndList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setAngleEnd((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setAngleEndList((List<Double>)values); } }, /** Modification of the style of arcs. */ ARC_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.17"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof ArcStyle; } @Override public List<ArcStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<ArcStyle>emptyList() : group.getArcStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setArcStyle((ArcStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArcStyleList((List<ArcStyle>)values); } }, /** Defines if the shape has a second arrow. */ ARROW2_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof ArrowStyle; } @Override public List<ArrowStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<ArrowStyle>emptyList() :group.getArrowStyleList(-1); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setArrowStyle((ArrowStyle)value, -1); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowStyleList((List<ArrowStyle>)values, -1); } }, /** Defines if the shape has a first arrow. */ ARROW1_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.16"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof ArrowStyle; } @Override public List<ArrowStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<ArrowStyle>emptyList() :group.getArrowStyleList(0); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setArrowStyle((ArrowStyle)value, 0); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setArrowStyleList((List<ArrowStyle>)values, 0); } }, /** Modification of the position of texts. */ TEXT_POSITION { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.18"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof TextPosition; } @Override public List<TextPosition> getPropertyValues(final IGroup group) { return group==null ? Collections.<TextPosition>emptyList() : group.getTextPositionList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setTextPosition((TextPosition)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setTextPositionList((List<TextPosition>)values); } }, /** Modification of the text. */ TEXT { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.18"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof String; } @Override public List<String> getPropertyValues(final IGroup group) { return group==null ? Collections.<String>emptyList() : group.getTextList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setText((String)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setTextList((List<String>)values); } }, /** Modification of the hatchings angle of shapes. */ HATCHINGS_ANGLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.19"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getHatchingsAngleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHatchingsAngle((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHatchingsAngleList((List<Double>)values); } }, /** Modification of the hatchings width a shape. */ HATCHINGS_WIDTH { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.19"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getHatchingsWidthList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHatchingsWidth((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHatchingsWidthList((List<Double>)values); } }, /** Modification of the hatching spacing a shape. */ HATCHINGS_SEP { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.19"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getHatchingsSepList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHatchingsSep((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHatchingsSepList((List<Double>)values); } }, /** Modification of the gradient angle a shape. */ GRAD_ANGLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.20"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getGradAngleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGradAngle((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGradAngleList((List<Double>)values); } }, /** Modification of the middle point of the gradient a shape. */ GRAD_MID_POINT { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.20"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getGradMidPtList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGradMidPt((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGradMidPtList((List<Double>)values); } }, /** Modification of the round corner value of a shape. */ ROUND_CORNER_VALUE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.21"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getLineArcList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setLineArc((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setLineArcList((List<Double>)values); } }, /** Modification of the colour of the labels of a grid. */ GRID_SUBGRID_COLOUR { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getSubGridColourList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setSubGridColour((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setSubGridColourList((List<Color>)values); } }, /** Modification of the colour of the labels of a grid. */ GRID_LABELS_COLOUR { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.14"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getGridLabelsColourList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGridLabelsColour((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGridLabelsColourList((List<Color>)values); } }, /** Modification of the colour of the filling of a shape. */ COLOUR_FILLING { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.21"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getFillingColList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setFillingCol((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setFillingColList((List<Color>)values); } }, /** Modification of the colour of the borders of a shape. */ COLOUR_LINE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.23"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getLineColourList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setLineColour((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setLineColourList((List<Color>)values); } }, /** Modification of the colour of the hatchings of a shape. */ COLOUR_HATCHINGS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.19"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getHatchingsColList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHatchingsCol((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHatchingsColList((List<Color>)values); } }, /** Defines if a shape must have double borders. */ DBLE_BORDERS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.24"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.hasDbleBordList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHasDbleBord((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHasDbleBordList((List<Boolean>)values); } }, /** Modification of the size of the double borders of a shape. */ DBLE_BORDERS_SIZE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.24"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getDbleBordSepList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDbleBordSep((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDbleBordSepList((List<Double>)values); } }, /** Modification of the colour of the double borders of a shape. */ COLOUR_DBLE_BORD { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.24"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getDbleBordColList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDbleBordCol((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDbleBordColList((List<Color>)values); } }, /** Defines if a shape must have a shadow. */ SHADOW { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.25"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Boolean; } @Override public List<Boolean> getPropertyValues(final IGroup group) { return group==null ? Collections.<Boolean>emptyList() : group.hasShadowList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setHasShadow((Boolean)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setHasShadowList((List<Boolean>)values); } }, /** Modification of the size of the shadow of a shape. */ SHADOW_SIZE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.25"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getShadowSizeList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setShadowSize((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setShadowSizeList((List<Double>)values); } }, /** Modification of the angle of the shadow of a shape. */ SHADOW_ANGLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.25"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Double; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getShadowAngleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setShadowAngle((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setShadowAngleList((List<Double>)values); } }, /** Modification of colour of the shadow of a shape. */ SHADOW_COLOUR { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.25"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getShadowColList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setShadowCol((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setShadowColList((List<Color>)values); } }, /** Modification of the colour of the start gradient of a shape. */ COLOUR_GRADIENT_START { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.20"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getGradColStartList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGradColStart((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGradColStartList((List<Color>)values); } }, /** Modification of the colour of the end gradient of a shape. */ COLOUR_GRADIENT_END { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.20"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getGradColEndList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setGradColEnd((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setGradColEndList((List<Color>)values); } }, /** Modification of the thickness of the borders of a shape. */ LINE_THICKNESS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.26"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer || obj instanceof Double || obj instanceof Float; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getThicknessList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setThickness((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setThicknessList((List<Double>)values); } }, /** Modification of the filling style of a shape. */ FILLING_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.22"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof FillingStyle; } @Override public List<FillingStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<FillingStyle>emptyList() : group.getFillingStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setFillingStyle((FillingStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setFillingStyleList((List<FillingStyle>)values); } }, /** Modification of the border position of a shape. */ BORDER_POS { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.27"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof BorderPos; } @Override public List<BorderPos> getPropertyValues(final IGroup group) { return group==null ? Collections.<BorderPos>emptyList() : group.getBordersPositionList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setBordersPosition((BorderPos)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setBordersPositionList((List<BorderPos>)values); } }, /** Modification of the line style of a shape. */ LINE_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.28"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof LineStyle; } @Override public List<LineStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<LineStyle>emptyList() : group.getLineStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setLineStyle((LineStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setLineStyleList((List<LineStyle>)values); } }, /** Modification of the filling colour of a dot. */ DOT_FILLING_COL { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.29"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Color; } @Override public List<Color> getPropertyValues(final IGroup group) { return group==null ? Collections.<Color>emptyList() : group.getDotFillingColList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDotFillingCol((Color)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDotFillingColList((List<Color>)values); } }, /** Modification of the style of a dot. */ DOT_STYLE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.29"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof DotStyle; } @Override public List<DotStyle> getPropertyValues(final IGroup group) { return group==null ? Collections.<DotStyle>emptyList() : group.getDotStyleList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDotStyle((DotStyle)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDotStyleList((List<DotStyle>)values); } }, /** Modification of the size of dots. */ DOT_SIZE { @Override public String getMessage() { return LangTool.INSTANCE.getBundle().getString("Actions.29"); //$NON-NLS-1$ } @Override public boolean isValueValid(final Object obj) { return obj instanceof Integer || obj instanceof Double || obj instanceof Float; } @Override public List<Double> getPropertyValues(final IGroup group) { return group==null ? Collections.<Double>emptyList() : group.getDotSizeList(); } @Override public void setPropertyValue(final IGroup group, final Object value) { if(group!=null && isValueValid(value)) group.setDiametre((Double)value); } @SuppressWarnings("unchecked") @Override public void setPropertyValueList(final IGroup group, final List<?> values) { if(group!=null) group.setDotSizeList((List<Double>)values); } }; /** * @param group The group to test. * @return True if the given group supports the calling property. * @since 3.0 */ public boolean isPropertySupported(final IGroup group) { return group!=null; } /** * Sets the given value of the property to the given group. * @param group The group to modify. * @param value The new value of the property to set. * @since 3.0 */ public abstract void setPropertyValue(final IGroup group, final Object value); /** * Sets the given values of the property to the given group. The size of the list * must equals the number of shapes of the group. If a shape of the group must not be set, * its corresponding value in the list must be null. * @param group The group to modify. * @param values The set of new values of the property to set. * @since 3.0 */ public abstract void setPropertyValueList(final IGroup group, final List<?> values); /** * @param group The group to explore. * @return The list of property values of the shapes of the given group. * @since 3.0 */ public abstract List<?> getPropertyValues(final IGroup group); /** * @return The title of the properties. * @since 3.0 */ public abstract String getMessage(); /** * @param obj The new value to test. * @return True if the given value can be set to the shape property. * @since 3.0 */ public abstract boolean isValueValid(final Object obj); }