[Chameleon] Widget Dev - legend/layers

Paul Spencer spencer@dmsolutions.ca
Thu Apr 8 15:26:07 EDT 2004


ooops.  Glad it worked :)  Good work!

Paul

Liz Godwin wrote:

> Paul,
> 
> That did the trick!  THANKS!!  
> 
> Only change I had to make was that it's moURLArray, not moURLParams,
> the rest worked fine.
> 
> Liz
> 
> 
>>>>pagameba@magma.ca 04/07/04 09:58PM >>>
> 
> Liz,
> 
> great work so far :)
> 
> It sounds like you need to implement a ParseURL function in your widget
> 
> to handle the user selection and submit.
> 
> If you have named your radio buttons all the same name (let's say for 
> arguments sake that you named them "ActiveLayer" and the value 
> associated with each radio button was a layer name, then your ParseURL
> 
> function would probably look like this (not tested):
> 
> function ParseURL()
> {
>    if (isset($this->moURLParams['ActiveLayer']) && 
> $this->moURLParams['ActiveLayer'] != '')
>    {
>      for ($i=0; $i<$this->moMapObject->oMap->numlayers; $i++)
>      {
>         $oLayer = $oMap->getLayer($i);
>         if ($oLayer->name == $this->moURLArrayParams['ActiveLayer'])
>           $oLayer->set( 'status', MS_ON );
>         else
>           $oLayer->set( 'status', MS_OFF );
>       }
>     }
>     return true;
> }
> 
> Let me know if that works for you,
> 
> Paul
> 
> Liz Godwin wrote:
> 
> 
>>Hey,
>>
>>I've created my first widget....almost.  
>>
>>In absense of an HTML Legend solution I liked, I made my own widget
>>that uses Group, Layer and Class objects from a mapfile to display a
>>collapsable tree view of a legend.  Because of the frequency of
>>layers/classes, the class list collapses under a layer also.  This
>>legend uses radio buttons at the moment for layer selection (only
> 
> one
> 
>>layer may be visible at a time... for now), although eventually my
>>widget will define conditions for both radio button and checkbox
> 
> use.
> 
>>Ok...  so it works mostly.  That is.. my javascript to collapse the
>>list at different levels works, and all levels display correctly,
> 
> with
> 
>>styling. 
>>
>>What does not work is my layer selection.  The layer visible
> 
> correctly
> 
>>makes the right radio button selected, but I am unable to change the
>>layer that is visible.
>>What do I need to do for this?  Can I piggy back off another widget? 
> 
> 
>>Without any documentation yet, I am guessing as to the way to do
> 
> this. 
> 
>>My guess is that there are two parts to this, 1) making sure my
> 
> radio
> 
>>buttons have the correct name and value pairs, and 2), how to handle
> 
> the
> 
>>request sent to chameleon in the post request.  I looked at
> 
> LayerManager
> 
>>and it looked like I have to parse the URL to get the right request. 
> 
> Do
> 
>>I use this Widget as a good example, or is it all wrong (I read a
> 
> month
> 
>>ago in the list that LayerManager is changing).?
>>Where would I call a function to update the map layer status from?
>>
>>Hopefully you all understand what I'm trying to do, thanks for your
>>help!!
>>
>>Liz Godwin
>>_______________________________________________
>>Chameleon mailing list
>>Chameleon@lists.maptools.org 
>>http://lists.maptools.org/mailman/listinfo/chameleon 
>>
> 
> 

-- 
  -----------------------------------------------------------------
|Paul Spencer                           pspencer@dmsolutions.ca   |
|-----------------------------------------------------------------|
|Applications & Software Development                              |
|DM Solutions Group Inc                 http://www.dmsolutions.ca/|
  -----------------------------------------------------------------




More information about the Chameleon mailing list