[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