[udig-devel] Layer Label
Andy Cox
ivyavenue at hotmail.com
Thu Aug 9 06:20:56 PDT 2007
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:
1. Programmatically turn off a layers labels
2. 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
<http://specials.uk.msn.com/spaces/default.aspx%20> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20070809/75f168f3/attachment-0001.html
More information about the udig-devel
mailing list