Hi Luca,

This is the code of my new button Select which is 90% equal than WFSGet
Feature:

mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
mapbuilder.loadScript(baseDir+"/tool/ButtonBase.js");
mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");

function Select(widgetNode,model){

   ButtonBase.apply(this,new Array(widgetNode,model));
   
this.tolerance=widgetNode.selectSingleNode('mb:tolerance').firstChild.nodeValue;
   this.typeName=widgetNode.selectSingleNode
('mb:typeName').firstChild.nodeValue;

   
this.webServiceUrl=widgetNode.selectSingleNode('mb:webServiceUrl').firstChild.nodeValue;

   this.httpPayload=new Object();
   this.httpPayload.method="get";

   this.httpPayload.postData=null;
   
this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;

   this.cursor="pointer";

   this.doAction=function(objRef,targetNode){
       if(objRef.enabled){
           extent=objRef.targetModel.extent;
           point=extent.getXY(targetNode.evpl );
           xPixel=extent.res[0]*objRef.tolerance;
           yPixel=extent.res[1]*objRef.tolerance;

bbox=(point[0]-xPixel)+","+(point[1]-yPixel)+","+(point[0]+xPixel)+","+(point[1]+yPixel);

           if(objRef.webServiceUrl.indexOf("?")>-1){

objRef.httpPayload.url=objRef.webServiceUrl+"&request=GetFeature&typeName="+objRef.typeName+"&bbox="+bbox;

           }else{
               objRef.httpPayload.url=objRef.webServiceUrl+
"?request=GetFeature&typeName="+objRef.typeName+"&bbox="+bbox;
           }
           if(!objRef.transactionResponseModel){
               objRef.transactionResponseModel=window.config.objects[
objRef.trm];
           }

/********************/
           
this.column=widgetNode.selectSingleNode("mb:column").firstChild.nodeValue;

           this.typeNameUserPoint=widgetNode.selectSingleNode
("mb:typeNameUserPoint").firstChild.nodeValue;

           objRef.transactionResponseModel.newRequest(
objRef.transactionResponseModel ,objRef.httpPayload);

           usuario = objRef.targetModel.getXpathValue(objRef.targetModel,
this.typeNameUserPoint);



           //usuario = prompt('Nombre de usuario','');
           if (usuario == 1){
               document.getElementById(eliminar_1).style.visibility =
"hidden";
               document.getElementById(eliminar_2).style.visibility =
"hidden";
               document.getElementById(eliminar_3).style.visibility =
"hidden";
           }else{
               document.getElementById(eliminar_4).style.visibility =
"hidden";
               }
/********************/


       }
   }
   this.setMouseListener=function(objRef){
       if(objRef.mouseHandler){
           objRef.mouseHandler.model.addListener ('mouseup',objRef.doAction
,objRef);
       }
       objRef.context=objRef.widgetNode.selectSingleNode("mb:context");
       if(objRef.context){
           objRef.context=window.config.objects [
objRef.context.firstChild.nodeValue];
       }
   }
   config.addListener("loadModel",this.setMouseListener,this);
}



and the widget node in the xml file is:

<Select id="select">
       <buttonBar>mainButtonBar</buttonBar>

        <targetModel>mainMap</targetModel>

        <mouseHandler>mainMouseClick</mouseHandler>

        <class>RadioButton</class>

        <enabledSrc>/images/Select.gif</enabledSrc>

        <disabledSrc>/images/Select.gif</disabledSrc>


<transactionResponseModel>featureCollection</transactionResponseModel>

        <webServiceUrl>../wfs</webServiceUrl>


<typeName>topp:tasmania_cities,topp:tasmania_roads,topp:tasmania_water_bodies</typeName>

        <tolerance>5</tolerance>

        <column>POP_CLASS</column>


<typeNameUserPoint>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserPoint>


<typeNameUserLine>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserLine>



<typeNameUserPolygon>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserPolygon>

   </Select>

The webServiceUrl tag is good. I've tested it.

Thanks
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
mapbuilder-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mapbuilder-devel

Reply via email to