Adjust behaviour of numberEditor - add clear button, and explanitory text for when...
[potlatch2.git] / net / systemeD / potlatch2 / mapfeatures / editors / SliderEditorFactory.as
1 package net.systemeD.potlatch2.mapfeatures.editors {
2
3     import net.systemeD.halcyon.connection.*;
4     import net.systemeD.potlatch2.mapfeatures.*;
5     import flash.display.*;
6
7         public class SliderEditorFactory extends SingleTagEditorFactory {
8         private var _minimum:Number;
9         private var _maximum:Number;
10         private var _default:Number;
11         private var _defaultName:String;
12         private var _snapInterval:Number;
13         private var _labels:Array;
14
15         public function SliderEditorFactory(inputXML:XML) {
16             super(inputXML);
17             _minimum = parseFloat(inputXML.hasOwnProperty("@minimum") ? String(inputXML.@minimum) : "0");
18             _maximum = parseFloat(inputXML.hasOwnProperty("@maximum") ? String(inputXML.@maximum) : "100");
19             _default = parseFloat(inputXML.hasOwnProperty("@default") ? String(inputXML.@default) : "0");
20             _snapInterval = parseFloat(inputXML.hasOwnProperty("@snapInterval") ? String(inputXML.@snapInterval) : "1");
21             _labels = inputXML.hasOwnProperty("@labels") ?
22                         String(inputXML.@labels).split(",") :
23                         [_minimum.toString(), _maximum.toString()];
24             _defaultName = inputXML.hasOwnProperty("@defaultName") ?
25                         String(inputXML.@defaultName) : _default.toString();
26         }
27         
28         override protected function createSingleTagEditor():SingleTagEditor {
29             return new SliderEditor();
30         }
31         
32         public function get minimum():Number { return _minimum; }
33         public function get maximum():Number { return _maximum; }
34         public function get defaultValue():Number { return _default; }
35         public function get defaultValueName():String { return _defaultName; }
36         public function get snapInterval():Number { return _snapInterval; }
37         public function get labels():Array { return _labels; }
38     }
39
40 }
41
42