Author: lgiessmann Date: Fri Jul 1 03:10:46 2011 New Revision: 543
Log: gdl-frontend: Widgets: implemented a method that gets the GDL border-style and border[-top,-right,-bottom,-left]-style properties; changed all fields of enums in the package us.isidoru.gdl.anaToMia.Widgets.values to uppercase characters to avoid conflicts with java keywords, e.g. double (borderstyle), ...
Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/BorderStyle.java Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ClearValue.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ColorValue.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/NumUnitValue.java
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Fri Jul 1 02:47:43 2011 (r542) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlVisibleObject.java Fri Jul 1 03:10:46 2011 (r543) @@ -1,22 +1,19 @@ package us.isidor.gdl.anaToMia.Widgets.base;
import java.util.ArrayList; - import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence; import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic; import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMap; import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException; import us.isidor.gdl.anaToMia.Widgets.values.AutoNumValue; +import us.isidor.gdl.anaToMia.Widgets.values.BorderStyle; import us.isidor.gdl.anaToMia.Widgets.values.ClearValue; import us.isidor.gdl.anaToMia.Widgets.values.ColorValue; import us.isidor.gdl.anaToMia.Widgets.values.NumUnitValue; - -import com.google.gwt.canvas.dom.client.CssColor; import com.google.gwt.core.client.JsArray; import com.google.gwt.dom.client.Style.Display; import com.google.gwt.dom.client.Style.Float; import com.google.gwt.dom.client.Style.VerticalAlign; -import com.google.gwt.resources.css.ast.CssCompilerException; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.Composite;
@@ -180,7 +177,7 @@ throw new InvalidGdlSchemaException("The occurrence " + GdlPsis.OccurrenceType.gdlFloat + " must be set to one of "none", "left", "right" or "both", but is "" + clearOcc.getValue() + """); } } else { - return ClearValue.none; + return ClearValue.NONE; } } @@ -446,11 +443,117 @@ }
- // gdlBorderStyle [gdl:hover | gdl:focus | gdl:active] - // gdlBorderStyleTop [gdl:hover | gdl:focus | gdl:active] - // gdlBorderStyleRight [gdl:hover | gdl:focus | gdl:active] - // gdlBorderStyleBottom [gdl:hover | gdl:focus | gdl:active] - // gdlBorderStyleLeft [gdl:hover | gdl:focus | gdl:active] + // returns a ColorValue instance that represents the style of this element's border. + // If a styleClass is set, only the corresponding value of the scoped occurrence is returned + // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this + // property is returned. + public BorderStyle getBorderStyle(String styleClass) throws InvalidGdlSchemaException { + Occurrence styleOcc = null; + if(styleClass != null){ + styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderStyle, styleClass); + } else { + styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderStyle); + } + + if(styleOcc == null && styleClass != null){ + return null; + } else if(styleOcc == null) { + return BorderStyle.NONE; + } else { + return BorderStyle.valueOf(styleOcc.getValue()); + } + } + + + // returns a ColorValue instance that represents the style of this element's border-top. + // If a styleClass is set, only the corresponding value of the scoped occurrence is returned + // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this + // property is returned. + public BorderStyle getBorderTopStyle(String styleClass) throws InvalidGdlSchemaException { + Occurrence styleOcc = null; + if(styleClass != null){ + styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderTopStyle, styleClass); + } else { + styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderTopStyle); + } + + if(styleOcc == null && styleClass != null){ + return null; + } else if(styleOcc == null) { + return BorderStyle.NONE; + } else { + return BorderStyle.valueOf(styleOcc.getValue()); + } + } + + + // returns a ColorValue instance that represents the style of this element's border-right. + // If a styleClass is set, only the corresponding value of the scoped occurrence is returned + // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this + // property is returned. + public BorderStyle getBorderRightStyle(String styleClass) throws InvalidGdlSchemaException { + Occurrence styleOcc = null; + if(styleClass != null){ + styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderRightStyle, styleClass); + } else { + styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderRightStyle); + } + + if(styleOcc == null && styleClass != null){ + return null; + } else if(styleOcc == null) { + return BorderStyle.NONE; + } else { + return BorderStyle.valueOf(styleOcc.getValue()); + } + } + + + // returns a ColorValue instance that represents the style of this element's border-bottom. + // If a styleClass is set, only the corresponding value of the scoped occurrence is returned + // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this + // property is returned. + public BorderStyle getBorderBottomStyle(String styleClass) throws InvalidGdlSchemaException { + Occurrence styleOcc = null; + if(styleClass != null){ + styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderBottomStyle, styleClass); + } else { + styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderBottomStyle); + } + + if(styleOcc == null && styleClass != null){ + return null; + } else if(styleOcc == null) { + return BorderStyle.NONE; + } else { + return BorderStyle.valueOf(styleOcc.getValue()); + } + } + + + // returns a ColorValue instance that represents the style of this element's border-left. + // If a styleClass is set, only the corresponding value of the scoped occurrence is returned + // null, null otherwise. If the styleClass is null and no occurrence was found, the default value for this + // property is returned. + public BorderStyle getBorderLeftStyle(String styleClass) throws InvalidGdlSchemaException { + Occurrence styleOcc = null; + if(styleClass != null){ + styleOcc = getNoneOrOneScopedOccurrence(GdlPsis.OccurrenceType.gdlBorderLeftStyle, styleClass); + } else { + styleOcc = getNoneOrOneUnscopedOccurrence(GdlPsis.OccurrenceType.gdlBorderLeftStyle); + } + + if(styleOcc == null && styleClass != null){ + return null; + } else if(styleOcc == null) { + return BorderStyle.NONE; + } else { + return BorderStyle.valueOf(styleOcc.getValue()); + } + } + + + // gdlBorderWidth [gdl:hover | gdl:focus | gdl:active] // gdlBorderWidthTop [gdl:hover | gdl:focus | gdl:active] // gdlBorderWidthRight [gdl:hover | gdl:focus | gdl:active]
Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/BorderStyle.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/BorderStyle.java Fri Jul 1 03:10:46 2011 (r543) @@ -0,0 +1,14 @@ +package us.isidor.gdl.anaToMia.Widgets.values; + +public enum BorderStyle { + NONE, + HIDDEN, + DOTTED, + DASHED, + SOLID, + DOUBLE, + GROOVE, + RIDGE, + INSET, + OUTSET +}
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ClearValue.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ClearValue.java Fri Jul 1 02:47:43 2011 (r542) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ClearValue.java Fri Jul 1 03:10:46 2011 (r543) @@ -1,8 +1,8 @@ package us.isidor.gdl.anaToMia.Widgets.values;
public enum ClearValue { - none, - left, - right, - both + NONE, + LEFT, + RIGHT, + BOTH }
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ColorValue.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ColorValue.java Fri Jul 1 02:47:43 2011 (r542) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/ColorValue.java Fri Jul 1 03:10:46 2011 (r543) @@ -13,13 +13,13 @@ public ColorValue(String color) throws InvalidGdlSchemaException{ - String value = color.toLowerCase(); + String value = color.toUpperCase(); - if(value.matches("^(maroon|red|orange|yellow|olive|purple|fuchsia|white|lime|green|navy|blue|aqua|teal|black|silver|gray)$")){ + if(value.matches("^(MAROON|RED|ORANGE|YELLOW|OLIVE|PURPLE|FUCHSIA|WHITE|LIME|GREEN|NAVY|BLUE|AQUA|TEAL|BLACK|SILVER|GRAY)$")){ this.stringValue = cssColorToRRGGBB(CssColor.valueOf(value)); - }else if(value.matches("^#[0-9a-f]{6}$")) { + }else if(value.matches("^#[0-9A-F]{6}$")) { this.stringValue = value; - }else if(value.matches("^#[0-9a-f]{3}$")) { + }else if(value.matches("^#[0-9A-F]{3}$")) { this.stringValue = "#" + value.charAt(1) + value.charAt(1) + value.charAt(2) + value.charAt(2) + value.charAt(3) + value.charAt(3); }else if(value.matches("^rgb\( *\+?[0-9]{1,3} *, *\+?[0-9]{1,3} *, *\+?[0-9]{1,3} *\)$")){ String[] rgb = value.substring(4, value.length() - 1).split(","); @@ -66,22 +66,22 @@ // to a string of the format ##RRGGBB private String cssColorToRRGGBB(CssColor color){ switch(color){ - case maroon: return "#800000"; - case red: return "#ff0000"; - case orange: return "#ffa500"; - case yellow: return "#ffff00"; - case olive: return "#808000"; - case purple: return "#800080"; - case fuchsia: return "#ff00ff"; - case white: return "#ffffff"; - case lime: return "#00ff00"; - case green: return "#008000"; - case navy: return "#000080"; - case blue: return "#0000ff"; - case aqua: return "#00ffff"; - case teal: return "#008080"; - case black: return "#000000"; - case silver: return "#c0c0c0"; + case MAROON: return "#800000"; + case RED: return "#ff0000"; + case ORANGE: return "#ffa500"; + case YELLOW: return "#ffff00"; + case OLIVE: return "#808000"; + case PURPLE: return "#800080"; + case FUCHSIA: return "#ff00ff"; + case WHITE: return "#ffffff"; + case LIME: return "#00ff00"; + case GREEN: return "#008000"; + case NAVY: return "#000080"; + case BLUE: return "#0000ff"; + case AQUA: return "#00ffff"; + case TEAL: return "#008080"; + case BLACK: return "#000000"; + case SILVER: return "#c0c0c0"; default: return "#808080"; } } @@ -109,39 +109,39 @@ // the return value is null public CssColor getCssColor(){ if(this.stringValue.equals("#800000")){ - return CssColor.maroon; + return CssColor.MAROON; }else if(this.stringValue.equals("#ff0000")){ - return CssColor.red; + return CssColor.RED; }else if(this.stringValue.equals("#ffa500")) { - return CssColor.orange; + return CssColor.ORANGE; }else if(this.stringValue.equals("#ffff00")){ - return CssColor.yellow; + return CssColor.YELLOW; }else if(this.stringValue.equals("#808000")) { - return CssColor.olive; + return CssColor.OLIVE; }else if(this.stringValue.equals("#800080")){ - return CssColor.purple; + return CssColor.PURPLE; }else if(this.stringValue.equals("#ff00ff")) { - return CssColor.fuchsia; + return CssColor.FUCHSIA; }else if(this.stringValue.equals("#ffffff")){ - return CssColor.white; + return CssColor.WHITE; }else if(this.stringValue.equals("#00ff00")) { - return CssColor.lime; + return CssColor.LIME; }else if(this.stringValue.equals("#008000")) { - return CssColor.green; + return CssColor.GREEN; }else if(this.stringValue.equals("#000080")) { - return CssColor.navy; + return CssColor.NAVY; }else if(this.stringValue.equals("#0000ff")) { - return CssColor.blue; + return CssColor.BLUE; }else if(this.stringValue.equals("#00ffff")) { - return CssColor.aqua; + return CssColor.AQUA; }else if(this.stringValue.equals("#008080")) { - return CssColor.teal; + return CssColor.TEAL; }else if(this.stringValue.equals("#000000")) { - return CssColor.black; + return CssColor.BLACK; }else if(this.stringValue.equals("#c0c0c0")) { - return CssColor.silver; + return CssColor.SILVER; }else if(this.stringValue.equals("#808080")) { - return CssColor.gray; + return CssColor.GRAY; }else { return null; } @@ -151,22 +151,22 @@ // represents the color key words that are defined in CSS chapter 4.3.6 // (http://www.w3.org/TR/CSS21/syndata.html#value-def-color) public enum CssColor{ - maroon, - red, - orange, - yellow, - olive, - purple, - fuchsia, - white, - lime, - green, - navy, - blue, - aqua, - teal, - black, - silver, - gray + MAROON, + RED, + ORANGE, + YELLOW, + OLIVE, + PURPLE, + FUCHSIA, + WHITE, + LIME, + GREEN, + NAVY, + BLUE, + AQUA, + TEAL, + BLACK, + SILVER, + GRAY } }
Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/NumUnitValue.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/NumUnitValue.java Fri Jul 1 02:47:43 2011 (r542) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/values/NumUnitValue.java Fri Jul 1 03:10:46 2011 (r543) @@ -3,7 +3,7 @@ import us.isidor.gdl.anaToMia.Widgets.environment.InvalidGdlSchemaException;
public class NumUnitValue { - private CssUnit unit = CssUnit.pixel; + private CssUnit unit = CssUnit.PIXEL; private float value = 0f; @@ -12,15 +12,16 @@ public NumUnitValue(String numUnit) throws InvalidGdlSchemaException { - if(numUnit.endsWith("px")){ + String value = numUnit.toUpperCase(); + if(value.endsWith("PX")){ this.value = makeFloat(numUnit, 2); - this.unit = CssUnit.pixel; - }else if (numUnit.endsWith("pt")){ + this.unit = CssUnit.PIXEL; + }else if (value.endsWith("PT")){ this.value = makeFloat(numUnit, 2); - this.unit = CssUnit.point; - } else if(numUnit.endsWith("%")){ + this.unit = CssUnit.POINT; + } else if(value.endsWith("%")){ this.value = makeFloat(numUnit, 1); - this.unit = CssUnit.percentage; + this.unit = CssUnit.PERCENTAGE; } else { throw new InvalidGdlSchemaException("numeric values supported by the GDL containing a unit definition must be of the form <numeric-value>(pt|px|%), but found: " + numUnit); } @@ -47,20 +48,16 @@ // returns the value represented by this instance as a css string public String getStringValue(){ switch(this.unit){ - case pixel: return (int)this.value + "px"; - case point: return (int)this.value + "pt"; + case PIXEL: return (int)this.value + "px"; + case POINT: return (int)this.value + "pt"; default: return this.value + "%"; } } // returns the numeric value as a float - public float getNumValue(){ - if(this.unit == CssUnit.percentage){ - return this.value; - } else { - return (int)this.value; - } + public int getNumValue(){ + return (int)this.value; } @@ -72,8 +69,8 @@ // a subset of CSS units that are supported by the GDL public enum CssUnit { - point, - pixel, - percentage + POINT, + PIXEL, + PERCENTAGE } }