1 package net.systemeD.potlatch2.mapfeatures {
3 import net.systemeD.halcyon.connection.*;
4 import net.systemeD.potlatch2.mapfeatures.editors.*;
5 import flash.display.*;
8 public class EditorFactory {
9 private static const PRIORITY_HIGHEST:uint = 10;
10 private static const PRIORITY_HIGH:uint = 8;
11 private static const PRIORITY_NORMAL:uint = 5;
12 private static const PRIORITY_LOW:uint = 2;
13 private static const PRIORITY_LOWEST:uint = 0;
15 public static function createFactory(inputType:String, inputXML:XML):EditorFactory {
16 switch ( inputType ) {
18 case "freetext": return new FreeTextEditorFactory(inputXML);
19 case "choice": return new ChoiceEditorFactory(inputXML);
26 public static function getPriority(priority:String):uint {
28 case "highest": return PRIORITY_HIGHEST;
29 case "high": return PRIORITY_HIGHEST;
30 case "normal": return PRIORITY_NORMAL;
31 case "low": return PRIORITY_LOW;
32 case "lowest": return PRIORITY_LOWEST;
33 default: return PRIORITY_NORMAL;
37 public var presence:Presence = Presence.getPresence("onTagMatch");
38 public var sortOrder:uint = PRIORITY_NORMAL;
39 public var category:String = "Standard";
41 private var _name:String;
42 private var _description:String;
44 public function EditorFactory(inputXML:XML) {
45 _name = inputXML.@name;
46 _description = inputXML.@description;
49 public function areTagsMatching(entity:Entity):Boolean {
53 public function createEditorInstance(entity:Entity):DisplayObject {
57 public function get name():String {
61 public function get description():String {