[Commits] r2898 - in sandbox/mapgears/geoext.ux/ux/WMSBrowser: lib/GeoExt.ux/widgets lib/GeoExt.ux/widgets/tree resources/css resources/images

commits at geoext.org commits at geoext.org
Fri Dec 14 13:45:28 CET 2012


Author: sbrunner
Date: 2012-12-14 13:45:28 +0100 (Fri, 14 Dec 2012)
New Revision: 2898

Added:
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/decline.png
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/information.png
Modified:
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserRootNode.js
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserTreePanel.js
   sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/css/WMSBrowser.css
Log:
Add queryable and compatible informations to tree panel

Modified: sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js	2012-12-14 12:45:27 UTC (rev 2897)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/WMSBrowser.js	2012-12-14 12:45:28 UTC (rev 2898)
@@ -143,6 +143,9 @@
 
     /** api: config[errorText] ``String`` i18n */
     errorText: "Error",
+
+    /** api: config[errorText] ``String`` i18n */
+    queryableTooltip: 'This layer is queryable',
     /* end i18n */
 
     /** api: config[layerStore]

Modified: sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserRootNode.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserRootNode.js	2012-12-14 12:45:27 UTC (rev 2897)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserRootNode.js	2012-12-14 12:45:28 UTC (rev 2898)
@@ -44,6 +44,41 @@
      */
     constructor: function(config) {
         Ext.apply(this, config);
+
+        var self = this;
+        var wmsBrowserTreeNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
+            renderElements: function(n, a, targetNode, bulkRender) {
+                Ext.tree.TreeNodeUI.prototype.renderElements.apply(this, arguments);
+                if (n.childNodes.length === 0) {
+                    this.onIconClsChange(n);
+                }
+            },
+            onIconClsChange: function(node, cls, oldCls) {
+                if (this.rendered) {
+                    var iconCls = 'x-tree-node-noicon';
+                    var elem = Ext.fly(this.iconNode);
+                    elem.dom.title = '';
+
+                    var compatible = self.wmsbrowser.treePanel.isLayerCompatible(
+                        node.attributes.layer, true);
+                    if (!compatible.compatible) {
+                        iconCls = 'x-tree-node-icon-unsupported';
+                        var message =
+                            self.wmsbrowser.layerCantBeAddedText + '\n' +
+                            compatible.reasons.join(',\n');
+                        elem.dom.title = message;
+                    }
+                    else if (node.attributes.layer.queryable) {
+                        iconCls = 'x-tree-node-icon-queryable';
+                        elem.dom.title = self.wmsbrowser.queryableTooltip;
+                    }
+
+                    elem.replaceClass(this.iconCls, iconCls);
+                    this.iconCls = iconCls;
+                }
+            }
+        });
+        this.loader = new GeoExt.tree.WMSCapabilitiesLoader({
         Ext.apply(this, {loader: new GeoExt.tree.WMSCapabilitiesLoader({
             url: "__foo__",
             layerOptions: {buffer: 0, ratio: 1},
@@ -51,9 +86,13 @@
             // customize the createNode method to add a checkbox to nodes
             createNode: function(attr) {
                 attr.checked = attr.leaf ? false : undefined;
+                attr.uiProvider = 'wmsbrowser';
                 return GeoExt.tree.WMSCapabilitiesLoader.prototype.createNode.apply(this, [attr]);
+            },
+            uiProviders: {
+                wmsbrowser: wmsBrowserTreeNodeUI
             }
-        })});
+        });
 
         arguments.callee.superclass.constructor.call(this, config);
 

Modified: sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserTreePanel.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserTreePanel.js	2012-12-14 12:45:27 UTC (rev 2897)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/lib/GeoExt.ux/widgets/tree/WMSBrowserTreePanel.js	2012-12-14 12:45:28 UTC (rev 2898)
@@ -242,7 +242,7 @@
      *    - support the current map projection
      *    - must at least intersects the map maxextent
      */
-    isLayerCompatible: function(layer) {
+    isLayerCompatible: function(layer, onlyGetMessage) {
         var compatible = true;
         var reasons = [];
 
@@ -288,7 +288,7 @@
         }
 
         // output a message if not valid
-        if (!compatible) {
+        if (!compatible && !onlyGetMessage) {
             var layerName = "";
             if (layer.metadata.title != "") {
                 layerName = layer.metadata.title + " : ";
@@ -299,6 +299,9 @@
             this.wmsbrowser.fireEvent('genericerror', message);
         }
 
-        return compatible;
+        return onlyGetMessage ? {
+            compatible: compatible,
+            reasons: reasons
+        } : compatible;
     }
 });

Modified: sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/css/WMSBrowser.css
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/css/WMSBrowser.css	2012-12-14 12:45:27 UTC (rev 2897)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/css/WMSBrowser.css	2012-12-14 12:45:28 UTC (rev 2898)
@@ -2,3 +2,12 @@
     padding: 0px;
     margin: 0px;
 }
+.x-tree-node-leaf .x-tree-node-noicon {
+    background-image: none;
+}
+.x-tree-node-leaf .x-tree-node-icon-unsupported {
+    background-image: url("../images/decline.png");
+}
+.x-tree-node-leaf .x-tree-node-icon-queryable {
+    background-image: url("../images/information.png");
+}

Added: sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/decline.png
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/decline.png	                        (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/decline.png	2012-12-14 12:45:28 UTC (rev 2898)
@@ -0,0 +1,10 @@
+‰PNG
+
+   
+IHDR         óÿa   tEXtSoftware Adobe ImageReadyqÉe<  µIDATxÚ¤“mK“QÇÿgº™›®|f¥ƒT¬–Z¤¢¹Èˆ¬^´} G_¡ïàËÀЕ˜0454E!B „JÒ|˜ù°lÚ4u»ïóйoröÎëÅáœÃ}ý¯ß}ý¯C„8M$j!$~ôx
+ãMÌ-5›ƒCºÅÀ»¸`Ý¥=ãoµâD_þ
+¬µy\”³vk±=Çâp€œ³Ñ(ÔÐvÆÆ°»Þd‚yʼý¾Z2c¬3ýnÅrí*ØÒ<Z$%
+$?áÁ!¬­|;àŒ¶ÞìñÅ$vÄögÔVÚÌ×Á&pxa*’LF. ”(PR†í‘Q|7¸ 5UïÆ—:
+ãÍf[†-ùJ	ØÔ0Ý/\^
+ãáø¯0ˆ£¦¶—Pý£Èr:‘ÙgÍZ®.À	k±”/Ìâwpêô$LÕõ0߀¡¨ÆšûP?M at p€.ã¨‚$h‰» “›h6‹‹ TÅÞÛ×HÝý‰¤'n­Sˆõ¿A¤·Wo´q_Å™ò[à³47N íß“¸û”˜Td”ÊrTóX?¥ChÔÿ¬­®Ø“-Ò¶Ð6R[`ª½‡hŸÄ`@’«gÓ2éxÓùˆ,/ƒ«t=NÀ8õ†gf lvˆUOŽM~À^_">bÃ>Ù“;²PŒíÎMh=ðêC¨Ùøåù³fþL³Õ–î¬ÃÑÀ ¤×Òí¸k}øÁñ!Ìo0"jÎ/ÅésÓ#—TíÌJÉ°d9롬 à
+GÒe;Ly—°öq +áÅNxkÃû߉Qžn¼ç’•ÛMLÉÉ+’ÞgÛôûÍ sS8dÑM™ìÑ’ÿû´ð?½](¨ÚD¸[p–­9$÷[rßÅ)ínùzò1&þ0 &D7ê–­4    IEND®B`‚
\ No newline at end of file

Added: sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/information.png
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/information.png	                        (rev 0)
+++ sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/information.png	2012-12-14 12:45:28 UTC (rev 2898)
@@ -0,0 +1,13 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  œIDAT8Ë¥“ËkÔWÅ?wL¬dL&1
+™‰6Ñ¨(h¡‰R,ÅM!R;TA¢.\t•m\ù
+>V¾°¥tš®…Zš”†Î¢™Æ0ÕÄ4Ñ3É$ýÍÜï½÷ëBH|´=Ë/_>8çUå}Tóæ!su4-ÁWNV­´8
+(¡á¦wáÎàÙO¾úo^uðÅ•‘Œµr±#¡Éž¶FÖ®`!ržpzy£ý¹óŸeß¾œÏØHnÚVßÝZÏÔœ¥¸გ¨[C*±ŽÂ³2??\¦†S¹‡³+€ÞK÷;EÜС­ñÔö–zrc%œö´5*ŽÍcb†]Éõü3_槻…i4|š»vôQ@‚ëëhÐÔŽdÃ…çØÈ"Õ@ïÇIz»SˆlÕ’Ÿ,Ѿ1A×Ö†”FÒ°ÞŸØ×ÞÌXq	A‚ÇǏÃd‡'°b±Î²EŒÏ.r`oÆÚ+)Øȶ6Õ×P˜)á¼G¼ !Ðw°†G¦Ñ Cqn‘®ÔfÔG­«ª
+ŠS°®Jðž”üãyþ­8¼uxñ8q8+¨¼g ~jn¹Bs¼£14(Á{^&¤xq‚Xñx²XƘ0µ
+°îÖ`~’¶Mqœrd;;?l¢n]-ýGö "8:Z
+ý
+è­Õ&V¢Û#Ê_§“©ž®Mü–Ÿäû_GùöÞ_¨8TŠòÑö-Œ—y”/L¸ýZ‘ºO—ÑråÆç_îŽwn¬çÁãYfŸ—	.°¡±Žm[š/-qï‡_–1µ§rßdߪr÷±ëÔ^LïJ&ìKÓ¼~- <]¨0øû(ùÂŒ1±þÜÀ™ìn ç«+iU
+'	•4`Œ)7
+r珁sÿ?¦wѨ?‚{Y¶!¹    IEND®B`‚
\ No newline at end of file


Property changes on: sandbox/mapgears/geoext.ux/ux/WMSBrowser/resources/images/information.png
___________________________________________________________________
Name: svn:executable
   + *



More information about the Commits mailing list