transparency.add(new RangeValidator<Integer>(0,100));
form.add(transparency);
form.add(new DropDownChoice("watermark.position", Arrays.asList(Position.values()), new WatermarkPositionRenderer()));
// svg
PropertyModel metadataModel = new PropertyModel(info, "metadata");
form.add(new CheckBox("svg.antialias", new MapModel(metadataModel, "svgAntiAlias")));
form.add(new DropDownChoice("svg.producer", new MapModel(metadataModel, "svgRenderer"), SVG_RENDERERS, new SVGMethodRenderer()));
// png compression levels
MapModel pngCompression = defaultedModel(metadataModel, WMS.PNG_COMPRESSION, WMS.PNG_COMPRESSION_DEFAULT);
TextField<Integer> pngCompressionField = new TextField<Integer>("png.compression", pngCompression, Integer.class);
pngCompressionField.add(new RangeValidator<Integer>(0, 100));
form.add(pngCompressionField);
// jpeg compression levels
MapModel jpegCompression = defaultedModel(metadataModel, WMS.JPEG_COMPRESSION, WMS.JPEG_COMPRESSION_DEFAULT);
TextField<Integer> jpegCompressionField = new TextField<Integer>("jpeg.compression", jpegCompression, Integer.class);
jpegCompressionField.add(new RangeValidator<Integer>(0,100));
form.add(jpegCompressionField);
// GIF animated
// MAX_ALLOWED_FRAMES
MapModel maxAllowedFrames = defaultedModel(metadataModel, WMS.MAX_ALLOWED_FRAMES, WMS.MAX_ALLOWED_FRAMES_DEFAULT);
TextField<Integer> maxAllowedFramesField = new TextField<Integer>("anim.maxallowedframes", maxAllowedFrames, Integer.class);
maxAllowedFramesField.add(new RangeValidator<Integer>(0, Integer.MAX_VALUE));
form.add(maxAllowedFramesField);
// MAX_RENDERING_TIME
MapModel maxRenderingTime = defaultedModel(metadataModel, WMS.MAX_RENDERING_TIME, null);
TextField<Integer> maxRenderingTimeField = new TextField<Integer>("anim.maxrenderingtime", maxRenderingTime, Integer.class);
form.add(maxRenderingTimeField);
// MAX_RENDERING_SIZE
MapModel maxRenderingSize = defaultedModel(metadataModel, WMS.MAX_RENDERING_SIZE, null);
TextField<Integer> maxRenderingSizeField = new TextField<Integer>("anim.maxrenderingsize", maxRenderingSize, Integer.class);
form.add(maxRenderingSizeField);
// FRAMES_DELAY
MapModel framesDelay = defaultedModel(metadataModel, WMS.FRAMES_DELAY, WMS.FRAMES_DELAY_DEFAULT);
TextField<Integer> framesDelayField = new TextField<Integer>("anim.framesdelay", framesDelay, Integer.class);
framesDelayField.add(new RangeValidator<Integer>(0, Integer.MAX_VALUE));
form.add(framesDelayField);
// LOOP_CONTINUOUSLY
MapModel loopContinuously = defaultedModel(metadataModel, WMS.LOOP_CONTINUOUSLY, WMS.LOOP_CONTINUOUSLY_DEFAULT);
CheckBox loopContinuouslyField = new CheckBox("anim.loopcontinuously", loopContinuously);
form.add(loopContinuouslyField);
// kml handling
MapModel kmlReflectorMode = defaultedModel(metadataModel, WMS.KML_REFLECTOR_MODE, WMS.KML_REFLECTOR_MODE_DEFAULT);
form.add(new DropDownChoice("kml.defaultReflectorMode", kmlReflectorMode, KML_REFLECTOR_MODES));
MapModel kmlSuperoverlayMode = defaultedModel(metadataModel, WMS.KML_SUPEROVERLAY_MODE, WMS.KML_SUPEROVERLAY_MODE_DEFAULT);
form.add(new DropDownChoice("kml.superoverlayMode", kmlSuperoverlayMode, KML_SUPEROVERLAY_MODES));
form.add(new CheckBox("kml.kmattr", defaultedModel(metadataModel, WMS.KML_KMLATTR, WMS.KML_KMLATTR_DEFAULT)));
form.add(new CheckBox("kml.kmlplacemark", defaultedModel(metadataModel, WMS.KML_KMLPLACEMARK, WMS.KML_KMLPLACEMARK_DEFAULT)));
MapModel kmScore = defaultedModel(metadataModel, WMS.KML_KMSCORE, WMS.KML_KMSCORE_DEFAULT);
TextField<Integer> kmScoreField = new TextField<Integer>("kml.kmscore", kmScore, Integer.class);
kmScoreField.add(new RangeValidator<Integer>(0, 100));
form.add(kmScoreField);
//scalehint