New Tasks palette
authorRichard Fairhurst <richard@systemeD.net>
Thu, 18 Dec 2014 23:29:19 +0000 (23:29 +0000)
committerRichard Fairhurst <richard@systemeD.net>
Thu, 18 Dec 2014 23:29:19 +0000 (23:29 +0000)
embedded/task_next.svg [new file with mode: 0644]
embedded/task_previous.svg [new file with mode: 0644]
net/systemeD/halcyon/connection/XMLConnection.as
net/systemeD/potlatch2/EditController.as
net/systemeD/potlatch2/TasksPalette.mxml [new file with mode: 0644]
net/systemeD/potlatch2/dialogs/TasksDialog.mxml [new file with mode: 0644]
potlatch2.mxml
resources/potlatch2.html
styles/Application.css

diff --git a/embedded/task_next.svg b/embedded/task_next.svg
new file mode 100644 (file)
index 0000000..e58d92d
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        width="10.541px" height="17.955px" viewBox="0 0 10.541 17.955" enable-background="new 0 0 10.541 17.955" xml:space="preserve">\r
+<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xmp:CreateDate>2014-12-18T18:39:31Z</xmp:CreateDate>
+         <xmp:ModifyDate>2014-12-18T18:39:32Z</xmp:ModifyDate>
+         <xmp:CreatorTool>Adobe Illustrator CS5.1</xmp:CreatorTool>
+         <xmp:MetadataDate>2014-12-18T18:39:32Z</xmp:MetadataDate>
+         <xmp:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpGImg:width>128</xmpGImg:width>
+                  <xmpGImg:height>256</xmpGImg:height>
+                  <xmpGImg:format>JPEG</xmpGImg:format>
+                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AL/8AnG7/AJyROmm18l+d&#xA;LqumnjDo+sTN/vP2WCdj/ursjn7HQ/D9lV9cggio3B6HFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FX5V4q+m/+cbv+ckTpptfJfnS6rpp4w6PrEzf7z9lgnY/7q7I5+x0Pw/ZVfXIIIqNwehxV2Ku&#xA;xV2KuxV2KuxV2KuxV2KuxV2KuxV2KvyrxV2Kvpv/AJxu/wCckTpptfJfnS6rpp4w6PrEzf7z9lgn&#xA;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</xmpGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xmp:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>image/svg+xml</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+         <xmpTPg:MaxPageSize rdf:parseType="Resource">
+            <stDim:w>10.541016</stDim:w>
+            <stDim:h>17.955078</stDim:h>
+            <stDim:unit>Points</stDim:unit>
+         </xmpTPg:MaxPageSize>
+         <xmpTPg:NPages>1</xmpTPg:NPages>
+         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+         <xmpTPg:PlateNames>
+            <rdf:Seq>
+               <rdf:li>Cyan</rdf:li>
+               <rdf:li>Magenta</rdf:li>
+               <rdf:li>Yellow</rdf:li>
+               <rdf:li>Black</rdf:li>
+            </rdf:Seq>
+         </xmpTPg:PlateNames>
+         <xmpTPg:SwatchGroups>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+                  <xmpG:groupType>0</xmpG:groupType>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpTPg:SwatchGroups>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+         <xmpMM:DocumentID>xmp.did:F77F1174072068118C14D30BE62AEBD3</xmpMM:DocumentID>
+         <xmpMM:InstanceID>xmp.iid:F77F1174072068118C14D30BE62AEBD3</xmpMM:InstanceID>
+         <xmpMM:OriginalDocumentID>xmp.did:F77F1174072068118C14D30BE62AEBD3</xmpMM:OriginalDocumentID>
+         <xmpMM:History>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:F77F1174072068118C14D30BE62AEBD3</stEvt:instanceID>
+                  <stEvt:when>2014-12-18T18:39:32Z</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS5.1</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpMM:History>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>\r
+       </metadata>\r
+<polygon points="6.78,7.896 -1.118,15.793 -1.118,0 "/>\r
+</svg>\r
diff --git a/embedded/task_previous.svg b/embedded/task_previous.svg
new file mode 100644 (file)
index 0000000..37500b2
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        width="7.902px" height="18px" viewBox="0 0 7.902 18" enable-background="new 0 0 7.902 18" xml:space="preserve">\r
+<metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xmp:CreateDate>2014-12-18T18:39:49Z</xmp:CreateDate>
+         <xmp:ModifyDate>2014-12-18T18:39:50Z</xmp:ModifyDate>
+         <xmp:CreatorTool>Adobe Illustrator CS5.1</xmp:CreatorTool>
+         <xmp:MetadataDate>2014-12-18T18:39:50Z</xmp:MetadataDate>
+         <xmp:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpGImg:width>128</xmpGImg:width>
+                  <xmpGImg:height>256</xmpGImg:height>
+                  <xmpGImg:format>JPEG</xmpGImg:format>
+                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq+UP8AnJH/AJyR9f615K8lXX7n4odZ1mFvt9nt7dx+z2dx16DapKr6vxV2&#xA;KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvlD/nJH/nJH1/rXkryVdfufih1nWYW+32e3t3H7PZ3HXo&#xA;NqkqvlrFX6qYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq+UP8AnJH/AJyR9f615K8lXX7n4odZ1mFv&#xA;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</xmpGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xmp:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>image/svg+xml</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+         <xmpTPg:MaxPageSize rdf:parseType="Resource">
+            <stDim:w>7.902344</stDim:w>
+            <stDim:h>18.000000</stDim:h>
+            <stDim:unit>Points</stDim:unit>
+         </xmpTPg:MaxPageSize>
+         <xmpTPg:NPages>1</xmpTPg:NPages>
+         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+         <xmpTPg:PlateNames>
+            <rdf:Seq>
+               <rdf:li>Cyan</rdf:li>
+               <rdf:li>Magenta</rdf:li>
+               <rdf:li>Yellow</rdf:li>
+               <rdf:li>Black</rdf:li>
+            </rdf:Seq>
+         </xmpTPg:PlateNames>
+         <xmpTPg:SwatchGroups>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+                  <xmpG:groupType>0</xmpG:groupType>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpTPg:SwatchGroups>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+         <xmpMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>xmp.iid:F77F1174072068118C14D30BE62AEBD3</stRef:instanceID>
+            <stRef:documentID>xmp.did:F77F1174072068118C14D30BE62AEBD3</stRef:documentID>
+            <stRef:originalDocumentID>xmp.did:F77F1174072068118C14D30BE62AEBD3</stRef:originalDocumentID>
+         </xmpMM:DerivedFrom>
+         <xmpMM:DocumentID>xmp.did:F87F1174072068118C14D30BE62AEBD3</xmpMM:DocumentID>
+         <xmpMM:InstanceID>xmp.iid:F87F1174072068118C14D30BE62AEBD3</xmpMM:InstanceID>
+         <xmpMM:OriginalDocumentID>xmp.did:F77F1174072068118C14D30BE62AEBD3</xmpMM:OriginalDocumentID>
+         <xmpMM:History>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:F77F1174072068118C14D30BE62AEBD3</stEvt:instanceID>
+                  <stEvt:when>2014-12-18T18:39:32Z</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS5.1</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:F87F1174072068118C14D30BE62AEBD3</stEvt:instanceID>
+                  <stEvt:when>2014-12-18T18:39:50Z</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS5.1</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpMM:History>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>\r
+       </metadata>\r
+<polygon points="0,7.896 7.897,0 7.897,15.793 "/>\r
+</svg>\r
index f3c40e4..f54a49c 100644 (file)
@@ -81,12 +81,13 @@ package net.systemeD.halcyon.connection {
 
                private function sendLoadRequest(request:URLRequest):void {
                        var mapLoader:URLLoader = new URLLoader();
 
                private function sendLoadRequest(request:URLRequest):void {
                        var mapLoader:URLLoader = new URLLoader();
-            var errorHandler:Function = function(event:IOErrorEvent):void {
+            var errorHandler:Function = function(event:Event):void {
                 errorOnMapLoad(event, request);
             }
                        mapLoader.addEventListener(Event.COMPLETE, loadedMap);
                        mapLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
                        mapLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, mapLoadStatus);
                 errorOnMapLoad(event, request);
             }
                        mapLoader.addEventListener(Event.COMPLETE, loadedMap);
                        mapLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
                        mapLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, mapLoadStatus);
+                       mapLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
             request.requestHeaders.push(new URLRequestHeader("X-Error-Format", "XML"));
                        mapLoader.load(request);
                        dispatchEvent(new Event(LOAD_STARTED));
             request.requestHeaders.push(new URLRequestHeader("X-Error-Format", "XML"));
                        mapLoader.load(request);
                        dispatchEvent(new Event(LOAD_STARTED));
index cc46dfa..04b46fc 100644 (file)
@@ -18,6 +18,8 @@ package net.systemeD.potlatch2 {
        import flash.system.Capabilities;
        import flash.text.TextField;
     import mx.controls.TextArea;
        import flash.system.Capabilities;
        import flash.text.TextField;
     import mx.controls.TextArea;
+    import mx.controls.TextInput;
+    import spark.components.RichEditableText;
 
     /** Controller for the main map editing window itself. The logic that responds to mouse and keyboard events is all 
     * buried in various ControllerState classes. */
 
     /** Controller for the main map editing window itself. The logic that responds to mouse and keyboard events is all 
     * buried in various ControllerState classes. */
@@ -119,7 +121,7 @@ package net.systemeD.potlatch2 {
                }
         
         private function keyDownHandler(event:KeyboardEvent):void {
                }
         
         private function keyDownHandler(event:KeyboardEvent):void {
-                       if ((event.target is TextField) || (event.target is TextArea)) {
+                       if ((event.target is TextField) || (event.target is TextArea) || (event.target is TextInput) || (event.target is RichEditableText)) {
                                keys[event.keyCode]=new Date().getTime();
                                return;
                        }
                                keys[event.keyCode]=new Date().getTime();
                                return;
                        }
@@ -128,7 +130,7 @@ package net.systemeD.potlatch2 {
                }
 
         private function keyUpHandler(event:KeyboardEvent):void {
                }
 
         private function keyUpHandler(event:KeyboardEvent):void {
-                       if ((event.target is TextField) || (event.target is TextArea)) return;
+                       if ((event.target is TextField) || (event.target is TextArea) || (event.target is TextInput) || (event.target is RichEditableText)) return;
                        if (event.keyCode==Keyboard.SPACE) spaceHeld=false;
                        if (keys[event.keyCode] && new Date().getTime()-keys[event.keyCode]<300) return;
                        delete keys[event.keyCode];
                        if (event.keyCode==Keyboard.SPACE) spaceHeld=false;
                        if (keys[event.keyCode] && new Date().getTime()-keys[event.keyCode]<300) return;
                        delete keys[event.keyCode];
diff --git a/net/systemeD/potlatch2/TasksPalette.mxml b/net/systemeD/potlatch2/TasksPalette.mxml
new file mode 100644 (file)
index 0000000..abb3ccb
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<mx:Panel
+    xmlns:fx="http://ns.adobe.com/mxml/2009"
+       xmlns:mx="library://ns.adobe.com/flex/mx"
+       xmlns:s="library://ns.adobe.com/flex/spark"
+       xmlns:potlatch2="net.systemeD.potlatch2.*"
+       height="50" width="220" layout="absolute" verticalScrollPolicy="off"
+       styleName="tasksPalette">
+
+       <mx:Image data="@Embed('../../../embedded/close_small.png')"
+               includeInLayout="false" id="paletteClose" click="toggle();" 
+               y="-6" x="206" />
+
+       <s:Button icon="@Embed('../../../embedded/task_previous.svg')"
+               id="previousTaskButton"
+               click='previousTask();'
+               toolTip="Go to previous task" 
+               width="28" height="28" y="4" x="6" />
+       <s:Button icon="@Embed('../../../embedded/task_next.svg')"
+               id="nextTaskButton"
+               click='nextTask();'
+               toolTip="Go to next task" 
+               width="28" height="28" y="4" x="36" />
+
+       <s:Label id="taskDescription" width="145" height="38" y="4" x="71" text="" />
+
+       <fx:Script><![CDATA[
+
+               import flash.events.Event;
+               import flash.events.MouseEvent;
+               import net.systemeD.halcyon.AttentionEvent;
+               import net.systemeD.halcyon.connection.*;
+               import net.systemeD.halcyon.connection.actions.*;
+               import net.systemeD.potlatch2.controller.*;
+               import net.systemeD.potlatch2.tools.*;
+               import embedded.*;      // for FXG icons
+
+               private var controller:EditController;
+               private var tasks:Array;                                // array of { lat:.., lon:.., text:.. }
+               private var taskNumber:uint=0;
+
+               public function init(controller:EditController):void {
+                       this.controller=controller;
+               }
+               public function resetTasks():void { tasks=[]; taskNumber=0; }
+               public function addTask(obj:Object):void { tasks.push(obj); }
+               public function hasTasks():Boolean { return (tasks.length>0); }
+               public function updateText():void {
+                       taskDescription.text=tasks[taskNumber].text || "("+taskNumber+" of "+tasks.length()+")";
+                       controller.map.moveMapFromLatLon(tasks[taskNumber].lat, tasks[taskNumber].lon);
+               }
+
+               public function previousTask():void {
+                       taskNumber = (taskNumber==0) ? tasks.length-1 : taskNumber-1;
+                       updateText();
+               }
+               public function nextTask():void {
+                       taskNumber += 1;
+                       if (taskNumber==tasks.length) taskNumber=0;
+                       updateText();
+               }
+
+               override protected function createChildren():void {
+                       super.createChildren();
+                       super.titleBar.addEventListener(MouseEvent.MOUSE_DOWN,handleDown);
+               }
+
+               private function handleDown(e:Event):void {
+                       this.startDrag();
+                       stage.addEventListener(MouseEvent.MOUSE_UP,handleUp);
+               }
+
+               private function handleUp(e:Event):void {
+                       this.stopDrag();
+                       stage.removeEventListener(MouseEvent.MOUSE_UP,handleUp);
+               }
+               
+               public function toggle():void { this.visible=!this.visible; }
+
+       ]]>
+</fx:Script>
+</mx:Panel>
diff --git a/net/systemeD/potlatch2/dialogs/TasksDialog.mxml b/net/systemeD/potlatch2/dialogs/TasksDialog.mxml
new file mode 100644 (file)
index 0000000..efa828f
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:TitleWindow
+        xmlns:fx="http://ns.adobe.com/mxml/2009"
+        xmlns:mx="library://ns.adobe.com/flex/mx"
+        xmlns:s="library://ns.adobe.com/flex/spark"
+        title="Load tasks file"
+        width="350" height="120">
+
+    <s:layout>
+      <s:VerticalLayout
+          paddingLeft="5" paddingRight="5"
+          paddingTop="5" paddingBottom="5" />
+    </s:layout>
+
+       <s:Label text="Enter the URL of a GPX or GeoJSON file containing a series of points."/>
+       <s:TextInput id="src" text="" width="100%" />
+
+       <s:controlBarContent>
+               <s:Button label="Open file..." click="loadTasksFile()" styleName="titleWindowButton" />
+               <s:Spacer width="100%"/>
+               <s:Button label="Cancel" click="PopUpManager.removePopUp(this);" styleName="titleWindowButton" />
+               <s:Button label="Fetch URL" click="loadTasksRemote()" styleName="titleWindowButton" />
+       </s:controlBarContent>
+
+  <fx:Script><![CDATA[
+    import mx.managers.PopUpManager;
+    import mx.events.CloseEvent;
+    import mx.core.Application;
+    import mx.core.FlexGlobals;
+    import net.systemeD.halcyon.Globals;
+    import net.systemeD.halcyon.Map;
+    import net.systemeD.halcyon.AttentionEvent;
+    import net.systemeD.halcyon.connection.Connection;
+       import net.systemeD.potlatch2.EditController;
+       import net.systemeD.potlatch2.TasksPalette;
+    import com.adobe.serialization.json.JSON;
+       import flash.events.*;
+       import flash.net.*;
+
+       private var palette:TasksPalette;
+       private var controller:EditController;
+       private var localFileReference:FileReference;
+
+       public function init(_controller:EditController):void {
+               controller=_controller;
+               PopUpManager.addPopUp(this, Application(FlexGlobals.topLevelApplication), true);
+               PopUpManager.centerPopUp(this);
+               this.addEventListener(CloseEvent.CLOSE, tasksDialog_close);
+       }
+
+    private function tasksDialog_close(evt:CloseEvent):void {
+        PopUpManager.removePopUp(this);
+    }
+
+       private function loadTasksRemote():void {
+        PopUpManager.removePopUp(this);
+               var loader:URLLoader = new URLLoader();
+               loader.addEventListener(Event.COMPLETE, fileLoaded);
+               loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
+               loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
+               loader.load(new URLRequest(src.text));
+       }
+
+       private function loadTasksFile():void {
+               localFileReference=new FileReference(); 
+               var fileTypes:String="*.json;*.geojson;*.gpx";
+               localFileReference.browse([new FileFilter(fileTypes,fileTypes)]); 
+               localFileReference.addEventListener(Event.SELECT, selectFileLocal);
+       }
+       private function selectFileLocal(event:Event):void {
+        PopUpManager.removePopUp(this);
+               localFileReference.addEventListener(Event.COMPLETE, fileLoaded);
+               localFileReference.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
+               localFileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
+               localFileReference.load();
+       }
+       private function fileLoaded(e:Event):void {
+               openPalette();
+               palette.resetTasks();
+               var result:String=e.target.data;
+               if (result.substr(0,5)=='<?xml') { parseFromGPX(result); }
+                                                                       else { parseFromGeoJSON(result); }
+               if (palette.hasTasks()) {
+                       palette.updateText();
+               } else {
+                       closePalette();
+                       controller.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, "No points found in the input file"));
+               }
+       }
+       private function parseFromGPX(str:String):void {
+               var file:XML = new XML(str);
+               for each (var ns:Namespace in file.namespaceDeclarations()) {
+                       if (ns.uri.match(/^http:\/\/www\.topografix\.com\/GPX\/1\/[01]$/)) {
+                               default xml namespace = ns;
+                       }
+               }
+               for each (var wpt:XML in file.wpt) {
+                       palette.addTask({ lat: wpt.@lat, lon: wpt.@lon, text: wpt.desc || wpt.cmt || wpt.sym })
+               }
+               default xml namespace = new Namespace("");
+       }
+       private function parseFromGeoJSON(str:String):void {
+               var file:Object = com.adobe.serialization.json.JSON.decode(str);
+               for each (var feature:Object in file.features) {
+                       if (feature.geometry.type=='Point') {
+                               var text:String = null;
+                               if (feature.properties) { text = feature.properties.name || getFirstProperty(feature.properties); }
+                               palette.addTask({ lat: feature.geometry.coordinates[1], lon: feature.geometry.coordinates[0], text: text });
+                       }
+               }
+       }
+       private function getFirstProperty(obj:Object):String { for (var k:String in obj) { return obj[k]; } return null; }
+
+       private function openPalette():void {
+               if (palette) {
+                       palette.visible=true;
+               } else {
+                       palette=TasksPalette(PopUpManager.createPopUp(Globals.vars.root,TasksPalette,false));
+                       palette.init(controller);
+                       palette.x=FlexGlobals.topLevelApplication.suggestTasksPaletteX();
+                       palette.y=FlexGlobals.topLevelApplication.suggestTasksPaletteY();
+               }
+       }
+       private function closePalette():void { palette.visible=false; }
+
+       protected function securityErrorHandler(event:SecurityErrorEvent):void {
+               controller.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, "Couldn't open the file (security error)"));
+       }
+       protected function ioErrorHandler(event:IOErrorEvent):void { 
+               controller.dispatchEvent(new AttentionEvent(AttentionEvent.ALERT, null, "Couldn't open the file (IO error)"));
+       }
+
+    ]]>
+  </fx:Script>
+</s:TitleWindow>
index 36dac00..d52e715 100644 (file)
@@ -62,6 +62,7 @@
                                </fx:Array>
                        </mx:dataProvider>
                </mx:PopUpMenuButton>
                                </fx:Array>
                        </mx:dataProvider>
                </mx:PopUpMenuButton>
+        <mx:Button id="tasksButton" label="Tasks" click="new TasksDialog().init(theController);" styleName="appBarButton" toolTip="Load tasks file" />
         <mx:Button id="optionsButton" label="Options" click="new OptionsDialog().init();" styleName="appBarButton" />
     </mx:ApplicationControlBar>
     
         <mx:Button id="optionsButton" label="Options" click="new OptionsDialog().init();" styleName="appBarButton" />
     </mx:ApplicationControlBar>
     
                        var rhCP:Point=rhContent.localToGlobal(new Point(0,0)); // stage co-ordinates of right-hand content area
                        return rhCP.y + theMap.scrollRect.height - toolbox.height - 5 - yOffset;
                }
                        var rhCP:Point=rhContent.localToGlobal(new Point(0,0)); // stage co-ordinates of right-hand content area
                        return rhCP.y + theMap.scrollRect.height - toolbox.height - 5 - yOffset;
                }
+               public function suggestTasksPaletteX():int {
+                       var rhCP:Point=rhContent.localToGlobal(new Point(0,0));
+                       return rhCP.x + 5;
+               }
+               public function suggestTasksPaletteY():int {
+                       var rhCP:Point=rhContent.localToGlobal(new Point(0,0));
+                       return rhCP.y + theMap.scrollRect.height - 55;
+               }
 
                private function disableMapMouse():void {
                        map_area.mouseChildren=false;
 
                private function disableMapMouse():void {
                        map_area.mouseChildren=false;
index 0808064..b1cae65 100644 (file)
@@ -68,7 +68,7 @@
       args["serverName"] = "api06 Test On Dev";
       args["show_help"] = "once";
       args["site_name"] = "OpenStreetMap";
       args["serverName"] = "api06 Test On Dev";
       args["show_help"] = "once";
       args["site_name"] = "OpenStreetMap";
-      args["force_auth"] = "force";
+//    args["force_auth"] = "force";
       args["locale"] = 'en_US';      // you can enjoy de_DE, pl_PL, fr_FR, ja_JP, id_ID, en_GB
 
       var params = false;
       args["locale"] = 'en_US';      // you can enjoy de_DE, pl_PL, fr_FR, ja_JP, id_ID, en_GB
 
       var params = false;
index 5721e22..b97ba8e 100644 (file)
@@ -300,7 +300,7 @@ s|FormItem {
 
 /* Toolbox */
 
 
 /* Toolbox */
 
-.theToolBox {
+.tasksPalette,.theToolBox {
        headerColors: haloBlue, #6495ED;
        headerAlphas: 1,1;
        headerHeight: 6;
        headerColors: haloBlue, #6495ED;
        headerAlphas: 1,1;
        headerHeight: 6;