[udig-devel] Layer Label

Jesse Eichar jeichar at refractions.net
Thu Aug 9 09:47:47 PDT 2007


Sounds good.  I just quickly whipped up the example.  Glad you are  
meeting with some success.

Jesse

On Aug 9, 2007, at 6:20 AM, Andy Cox wrote:

> Jesse,
>
>
>
> Thanks for the mail. I have been experimenting with your code and  
> got it to work with just some simple symbology.
>
>
>
>
>
> I had to change the line if( bb.get( SLDContent.ID ) == withLabels ) 
> { To if (bb.get(SLDContent.ID).equals(withLabels)){
>
>
>
> And add this
>
>
>
> MapContext context = new DefaultMapContext();
>
>
>
> StyleBuilder sb = new StyleBuilder();
>
>
>
> PolygonSymbolizer sym = sb.createPolygonSymbolizer(Color.YELLOW,  
> Color.BLACK,1);
>
>
>
> Style noLabels = sb.createStyle(sym);
>
>
>
> PolygonSymbolizer sym2 = sb.createPolygonSymbolizer(Color.BLACK,  
> Color.BLACK,1);
>
>
>
> Style withLabels = sb.createStyle(sym2);
>
>
>
> StyleToggle styleToggle = new StyleToggle(layer, noLabels,  
> withLabels);
>
> styleToggle.toggle();
>
>
>
> layer.getMap().getRenderManager().refresh(layer,  
> context.getAreaOfInterest());
>
>
>
> Thanks
> Andy
>
> From: udig-devel-bounces at lists.refractions.net [mailto:udig-devel- 
> bounces at lists.refractions.net] On Behalf Of Jesse Eichar
> Sent: 08 August 2007 16:59
> To: User-friendly Desktop Internet GIS
> Subject: Re: [udig-devel] Layer Label
>
>
>
> ok...
>
>
>
> class StyleToggle{
>
>             Style noLabels;
>
>             Style wtihLabels;
>
>             ILayer layer;
>
>
>
>             StyleToggle( ILayer layer, Style noLables, Style  
> withLabels ){
>
>
>
>                         this.noLabels = noLables;
>
>                         this.withLabels = withLabels;
>
>                         this.layer = layer;
>
>             }
>
>
>
>             void toggle( ){
>
>                         IStyleBlackboard bb =  
> layer.getStyleBlackboard();
>
>                         if( bb.get( SLDContent.ID ) == withLabels ){
>
>                                     bb.put( SLDContent.ID, noLabels );
>
>                         }else{
>
>                                     bb.put( SLDContent.ID,  
> withLabels );
>
>                         }
>
>             }
>
>
>
> }
>
>
>
> This class will toggle between the two provided styles.  Your  
> plugin will have to depend on net.refractions.udig.style.sld for  
> SLDContent to be resolved.
>
>
>
> You can use StyleBuilder and StyleFactory to create the styles.  Or  
> you can parse the style the user created and remove the  
> TextSymbolizers.  For and example on parsing styles look at the  
> DuplicatingStyleVisitor class in GeoTools.
>
>
>
> Good luck,
>
>
>
> Jesse
>
>
>
>
>
>
>
> On Aug 8, 2007, at 12:38 AM, Andy Cox wrote:
>
>
>
>
> Jesse,
>
>
>
> I had a look and this is all very new to me and I’m not sure there  
> is enough info on the page to work out what I need to do. I would  
> like to do 2 things:
>
>
>
> Programmatically turn off a layers labels
> Thematically render a polygon layer based on it’s attributes e.g.  
> if a field value=”y” colour code red, if it = “n” colour code green  
> and then colour code all other polygons grey.
>
>
> Do you have any sample code to help with these. Any pointers would  
> be great.
>
>
>
> Thanks
>
> Andy
>
>
>
> From: udig-devel-bounces at lists.refractions.net [mailto:udig-devel- 
> bounces at lists.refractions.net] On Behalf Of Jesse Eichar
> Sent: 07 August 2007 17:44
> To: User-friendly Desktop Internet GIS
> Subject: Re: [udig-devel] Layer Label
>
>
>
> That's right. Hopefully there is enought information on that page I  
> sent you if not give us a shout.
>
>
>
> Jesse
>
>
>
> On Aug 7, 2007, at 9:07 AM, Andy Cox wrote:
>
>
>
>
>
> Jesse,
>
> Yes I meant the labels rendered on the layer under the style editor  
> which you access by right clicking the layer. I presume I still  
> need to use the blackboard ?
>
> Thanks
> Andy
>
> From: udig-devel-bounces at lists.refractions.net [mailto:udig-devel- 
> bounces at lists.refractions.net] On Behalf Of Jesse Eichar
> Sent: 07 August 2007 16:47
> To: User-friendly Desktop Internet GIS
> Subject: Re: [udig-devel] Layer Label
>
> I'm not sure what you refer to as a Layer Label. I'm guessing you  
> mean the labels rendered on a layer? If so then you have to  
> interact with the layer's style blackboard.
>
> Some documentation is here: http://udig.refractions.net/confluence/ 
> display/DEV/3+Style
>
> Good luck,
>
> Jesse
>
> On Aug 7, 2007, at 7:32 AM, Andrew Cox wrote:
>
>
>
>
>
>
> Hello,
>
> I have created a new new extension viewsAction and I want to be  
> able to programatically switch a layer label off, rather than  
> having to use the style editor. Please can anyone help?
>
> Thanks
> Andy
>
> Andy Cox ivyavenue at hotmail.com
>
>
>
>
> Email straight to your blog, upload jokes, photos and more. Windows  
> Live Spaces, it's FREE!
>
> _______________________________________________
>
> User-friendly Desktop Internet GIS (uDig)
>
> http://udig.refractions.net
>
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
> _______________________________________________
>
> User-friendly Desktop Internet GIS (uDig)
>
> http://udig.refractions.net
>
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
>
>
> _______________________________________________
>
> User-friendly Desktop Internet GIS (uDig)
>
> http://udig.refractions.net
>
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20070809/37187ced/attachment-0001.html


More information about the udig-devel mailing list