[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mapguide-commits
Subject:    [mapguide-commits] r6135 - in trunk/MgDev: Common/Schema
From:       svn_mapguide () osgeo ! org
Date:       2011-09-19 1:51:38
Message-ID: 20110919015138.246EC3904D0 () trac ! osgeo ! org
[Download RAW message or body]

Author: hubu
Date: 2011-09-18 18:51:37 -0700 (Sun, 18 Sep 2011)
New Revision: 6135

Added:
   trunk/MgDev/Common/Schema/WebLayout-2.4.0.xsd
   trunk/MgDev/Web/src/stdicons/icon_maptip.gif
   trunk/MgDev/Web/src/stdicons/icon_maptip_disabled.gif
Modified:
   trunk/MgDev/Web/src/WebApp/WebActions.h
   trunk/MgDev/Web/src/WebApp/WebGettingStarted.cpp
   trunk/MgDev/Web/src/WebApp/WebLayout.cpp
   trunk/MgDev/Web/src/viewerfiles/ajaxmappane.templ
   trunk/MgDev/Web/src/viewerfiles/mainframe.templ
Log:
Fix Ticket: Fix the ticket #1765: Add a new command "MapTip" to enable/disable map \
tooltips https://trac.osgeo.org/mapguide/ticket/1765


Added: trunk/MgDev/Common/Schema/WebLayout-2.4.0.xsd
===================================================================
--- trunk/MgDev/Common/Schema/WebLayout-2.4.0.xsd	                        (rev 0)
+++ trunk/MgDev/Common/Schema/WebLayout-2.4.0.xsd	2011-09-19 01:51:37 UTC (rev 6135)
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" \
elementFormDefault="qualified" attributeFormDefault="unqualified"> +  <xs:element \
name="WebLayout" type="WebLayoutType"/> +  <xs:complexType name="WebLayoutType">
+    <xs:sequence>
+      <xs:element name="Title" type="xs:string"/>
+      <xs:element name="Map" type="MapType"/>
+      <xs:element name="EnablePingServer" type="xs:boolean" minOccurs="0" />
+      <xs:element name="ToolBar" type="ToolBarType"/>
+      <xs:element name="InformationPane" type="InformationPaneType"/>
+      <xs:element name="ContextMenu" type="ContextMenuType"/>
+      <xs:element name="TaskPane" type="TaskPaneType"/>
+      <xs:element name="StatusBar" type="StatusBarType"/>
+      <xs:element name="ZoomControl" type="ZoomControlType"/>
+      <xs:element name="CommandSet" type="CommandSetType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResourceReferenceType">
+    <xs:sequence>
+      <xs:element name="ResourceId" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="MapType">
+    <xs:complexContent>
+      <xs:extension base="ResourceReferenceType">
+        <xs:sequence>
+          <xs:element name="InitialView" type="MapViewType" minOccurs="0"/>
+          <xs:element name="HyperlinkTarget" type="TargetType"/>
+          <xs:element name="HyperlinkTargetFrame" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WebLayoutControlType">
+    <xs:sequence>
+      <xs:element name="Visible" type="xs:boolean"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="WebLayoutResizableControlType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Width" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ToolBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Button" type="UIItemType" minOccurs="0" \
maxOccurs="unbounded"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ContextMenuType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="MenuItem" type="UIItemType" minOccurs="0" \
maxOccurs="unbounded"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="StatusBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ZoomControlType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InformationPaneType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutResizableControlType">
+        <xs:sequence>
+          <xs:element name="LegendVisible" type="xs:boolean"/>
+          <xs:element name="PropertiesVisible" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TaskPaneType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutResizableControlType">
+        <xs:sequence>
+          <xs:element name="TaskBar" type="TaskBarType"/>
+          <xs:element name="InitialTask" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TaskButtonType">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+      <xs:element name="Description" type="xs:string" minOccurs="0"/>
+      <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="TaskBarType">
+    <xs:complexContent>
+      <xs:extension base="WebLayoutControlType">
+        <xs:sequence>
+          <xs:element name="Home" type="TaskButtonType"/>
+          <xs:element name="Forward" type="TaskButtonType"/>
+          <xs:element name="Back" type="TaskButtonType"/>
+          <xs:element name="Tasks" type="TaskButtonType"/>
+          <xs:element name="MenuButton" type="UIItemType" minOccurs="0" \
maxOccurs="unbounded"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandSetType">
+    <xs:sequence>
+      <xs:element name="Command" type="CommandType" minOccurs="0" \
maxOccurs="unbounded"/> +    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="MapViewType">
+    <xs:sequence>
+      <xs:element name="CenterX" type="xs:double"/>
+      <xs:element name="CenterY" type="xs:double"/>
+      <xs:element name="Scale" type="xs:double"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="UIItemType">
+    <xs:sequence>
+      <xs:element name="Function" type="UIItemFunctionType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="UIItemFunctionType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Separator"/>
+      <xs:enumeration value="Command"/>
+      <xs:enumeration value="Flyout"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="FlyoutItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType">
+        <xs:sequence>
+          <xs:element name="Label" type="xs:string"/>
+          <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+          <xs:element name="Description" type="xs:string" minOccurs="0"/>
+          <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+          <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+          <xs:element name="SubItem" type="UIItemType" minOccurs="0" \
maxOccurs="unbounded"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SeparatorItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandItemType">
+    <xs:complexContent>
+      <xs:extension base="UIItemType">
+        <xs:sequence>
+          <xs:element name="Command" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CommandType" abstract="true">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Label" type="xs:string"/>
+      <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
+      <xs:element name="Description" type="xs:string" minOccurs="0"/>
+      <xs:element name="ImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="DisabledImageURL" type="xs:string" minOccurs="0"/>
+      <xs:element name="TargetViewer" type="TargetViewerType"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="BasicCommandActionType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Pan"/>
+      <xs:enumeration value="PanUp"/>
+      <xs:enumeration value="PanDown"/>
+      <xs:enumeration value="PanRight"/>
+      <xs:enumeration value="PanLeft"/>
+      <xs:enumeration value="Zoom"/>
+      <xs:enumeration value="ZoomIn"/>
+      <xs:enumeration value="ZoomOut"/>
+      <xs:enumeration value="ZoomRectangle"/>
+      <xs:enumeration value="ZoomToSelection"/>
+      <xs:enumeration value="FitToWindow"/>
+      <xs:enumeration value="PreviousView"/>
+      <xs:enumeration value="NextView"/>
+      <xs:enumeration value="RestoreView"/>
+      <xs:enumeration value="Select"/>
+      <xs:enumeration value="SelectRadius"/>
+      <xs:enumeration value="SelectPolygon"/>
+      <xs:enumeration value="ClearSelection"/>
+      <xs:enumeration value="Refresh"/>
+      <xs:enumeration value="CopyMap"/>
+      <xs:enumeration value="About"/>
+      <xs:enumeration value="MapTip"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="BasicCommandType">
+    <xs:complexContent>
+      <xs:extension base="CommandType">
+        <xs:sequence>
+          <xs:element name="Action" type="BasicCommandActionType"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="TargetViewerType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Dwf"/>
+      <xs:enumeration value="Ajax"/>
+      <xs:enumeration value="All"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="CustomCommandType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="CommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TargetedCommandType" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="Target" type="TargetType"/>
+          <xs:element name="TargetFrame" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="TargetType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="TaskPane"/>
+      <xs:enumeration value="NewWindow"/>
+      <xs:enumeration value="SpecifiedFrame"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="SearchCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="Layer" type="xs:string"/>
+          <xs:element name="Prompt" type="xs:string"/>
+          <xs:element name="ResultColumns" type="ResultColumnSetType"/>
+          <xs:element name="Filter" type="xs:string" minOccurs="0"/>
+          <xs:element name="MatchLimit" type="xs:integer"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InvokeURLCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="URL" type="xs:string"/>
+          <xs:element name="LayerSet" type="LayerSetType" minOccurs="0"/>
+          <xs:element name="AdditionalParameter" type="ParameterPairType" \
minOccurs="0" maxOccurs="unbounded"/> +          <xs:element \
name="DisableIfSelectionEmpty" type="xs:boolean"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BufferCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SelectWithinCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PrintCommandType">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="PrintLayout" type="ResourceReferenceType" minOccurs="0" \
maxOccurs="unbounded"/> +        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetPrintablePageCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeasureCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ViewOptionsCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="HelpCommandType">
+    <xs:complexContent>
+      <xs:extension base="TargetedCommandType">
+        <xs:sequence>
+          <xs:element name="URL" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InvokeScriptCommandType">
+    <xs:complexContent>
+      <xs:extension base="CustomCommandType">
+        <xs:sequence>
+          <xs:element name="Script" type="xs:string"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ParameterPairType">
+    <xs:sequence>
+      <xs:element name="Key" type="xs:string"/>
+      <xs:element name="Value" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="LayerSetType">
+    <xs:sequence>
+      <xs:element name="Layer" type="xs:string" minOccurs="0" \
maxOccurs="unbounded"/> +    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResultColumnType">
+    <xs:sequence>
+      <xs:element name="Name" type="xs:string"/>
+      <xs:element name="Property" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ResultColumnSetType">
+    <xs:sequence>
+      <xs:element name="Column" type="ResultColumnType" minOccurs="0" \
maxOccurs="unbounded"/> +    </xs:sequence>
+  </xs:complexType>
+</xs:schema>

Modified: trunk/MgDev/Web/src/WebApp/WebActions.h
===================================================================
--- trunk/MgDev/Web/src/WebApp/WebActions.h	2011-09-15 18:02:38 UTC (rev 6134)
+++ trunk/MgDev/Web/src/WebApp/WebActions.h	2011-09-19 01:51:37 UTC (rev 6135)
@@ -57,6 +57,7 @@
     static const INT32 InvokeScript     = 31;
     static const INT32 SelectWithin     = 32;
     static const INT32 Help             = 33;
+    static const INT32 MapTip           = 34;
 };
 
 #endif // _MGWEBACTIONS_H_

Modified: trunk/MgDev/Web/src/WebApp/WebGettingStarted.cpp
===================================================================
--- trunk/MgDev/Web/src/WebApp/WebGettingStarted.cpp	2011-09-15 18:02:38 UTC (rev \
                6134)
+++ trunk/MgDev/Web/src/WebApp/WebGettingStarted.cpp	2011-09-19 01:51:37 UTC (rev \
6135) @@ -171,6 +171,7 @@
     cmdCodes["2e0f"] = MgWebActions::Buffer;
     cmdCodes["2e0e"] = MgWebActions::Measure;
     cmdCodes["2e0d"] = MgWebActions::Search;
+    cmdCodes["2e0c"] = MgWebActions::MapTip;
     return true;
 }
 

Modified: trunk/MgDev/Web/src/WebApp/WebLayout.cpp
===================================================================
--- trunk/MgDev/Web/src/WebApp/WebLayout.cpp	2011-09-15 18:02:38 UTC (rev 6134)
+++ trunk/MgDev/Web/src/WebApp/WebLayout.cpp	2011-09-19 01:51:37 UTC (rev 6135)
@@ -1089,6 +1089,8 @@
         return MgWebActions::Buffer;
     else if (action == L"Measure") // NOXLATE
         return MgWebActions::Measure;
+    else if (action == L"MapTip") // NOXLATE
+        return MgWebActions::MapTip;
     else if (action == L"ViewOptions") // NOXLATE
         return MgWebActions::ViewOptions;
     else if (action == L"InvokeScript") // NOXLATE

Added: trunk/MgDev/Web/src/stdicons/icon_maptip.gif
===================================================================
(Binary files differ)


Property changes on: trunk/MgDev/Web/src/stdicons/icon_maptip.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/MgDev/Web/src/stdicons/icon_maptip_disabled.gif
===================================================================
(Binary files differ)


Property changes on: trunk/MgDev/Web/src/stdicons/icon_maptip_disabled.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/MgDev/Web/src/viewerfiles/ajaxmappane.templ
===================================================================
--- trunk/MgDev/Web/src/viewerfiles/ajaxmappane.templ	2011-09-15 18:02:38 UTC (rev \
                6134)
+++ trunk/MgDev/Web/src/viewerfiles/ajaxmappane.templ	2011-09-19 01:51:37 UTC (rev \
6135) @@ -323,6 +323,7 @@
 var setSelScript = '%s';
 var hlData;
 var moveTimer = 0, mapInit = false;
+var haveTooltip = false;
 var ovoffsx = 0, ovoffsy = 0;
 var finscale = true;
 var slidercourse = 78;
@@ -832,6 +833,9 @@
         case 22:
             About();
             break;
+        case 34:
+            MapTip();
+            break;
     }
 }
 
@@ -1275,7 +1279,7 @@
             {
                 if(!parent.InMeasure())
                 {
-                    if(x >= 0)
+                    if(x >= 0 && haveTooltip)
                     {
                         hlData.curx = x;
                         hlData.cury = y;
@@ -2210,6 +2214,33 @@
     GotoView(extX1 + (extX2 - extX1) / 2, extY2 + (extY1 - extY2) / 2, scale, true, \
true);  }
 
+function MapTip()
+{
+    var maptipBtn = parent.tbFrame.document.getElementById(14)
+    if(!haveTooltip)
+    {
+        haveTooltip = true;
+        //The tooltip is enabled.
+        //highlight the maptip button via change the background and the border color
+        if(maptipBtn)
+        {
+            maptipBtn.style.border = "solid #a0a0a0 1px";
+            maptipBtn.style.background = "#dcdcdc";
+        }
+    }
+    else
+    {
+        haveTooltip = false;
+        //disable the tooltip
+        //change back the background and border color
+        if(maptipBtn)
+        {
+            maptipBtn.style.border = "solid #f0f0f0 1px";
+            maptipBtn.style.background = "#f0f0f0";
+        }
+    }
+}
+
 function StartToolFeedback(x, y, type)
 {
     moveType = DRAGGING;

Modified: trunk/MgDev/Web/src/viewerfiles/mainframe.templ
===================================================================
--- trunk/MgDev/Web/src/viewerfiles/mainframe.templ	2011-09-15 18:02:38 UTC (rev \
                6134)
+++ trunk/MgDev/Web/src/viewerfiles/mainframe.templ	2011-09-19 01:51:37 UTC (rev \
6135) @@ -42,7 +42,6 @@
 var toolbarItems = new Array();
 var taskItems = new Array();
 var ctxMenuItems = new Array();
-
 var intervalID;
 var pingServerFailTime;
 
@@ -294,7 +293,7 @@
     {
         OpenTaskBar();
     }
-    if(action >= 1 && action <= 22)
+    if((action >= 1 && action <= 22)||(action == 34))
         ExecuteMapAction(action);
     else if(cmd.action == 23)
         ExecutePrintCommand(index);
@@ -432,6 +431,7 @@
 function OnMapLoaded()
 {
     ExecuteMapAction(15);
+    ExecuteMapAction(34);
     RestoreView();
     OnSelectionChanged();
     DisplayMapSize();

_______________________________________________
mapguide-commits mailing list
mapguide-commits@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic