> So because of this, the first if condition is never met (if( > contextService.getDefinedContextIds().contains(categoryId))) > > > >
So I must not be understanding the other code; or it must be wrong :( > Is there a list of tools that can not be used on a regular image (no > features) that we could check against instead? If not might have to make one. Good question: The CustomApplication document covers this let me check ... 9. Repeat this process for the following additional entries: net.refractions.udig.project.ui.layer.menu (actionSet) net.refractions.udig.project.ui.map.menu (actionSet) net.refractions.udig.catalog.ui.data.menu (actionSet) So not quite what we were looking for... I went looking at the tool extension point and could not find the information there. So it must not exist. Jesse Eichar provided the following constraint: "How to filter out tools from the toolbar manager (unless a migration plan is provided)" Since it is not done with AcitonSets I am not sure how it is done ... so we will have to ask him what he meant. I did look up the "context id" information; it is part of how menus work here: - http://help.eclipse.org/galileo/topic/org.eclipse.platform.doc.isv/guide/workbench_advext_contexts.htm As usual the eclipse wiki is a bit more readable: - http://wiki.eclipse.org/Platform_Command_Framework#Contexts Jody > From: [email protected] > (mailto:[email protected]) > [mailto:[email protected]] On Behalf Of Jody Garnett > Sent: Thursday, August 18, 2011 11:28 AM > To: User-friendly Internet GIS > Subject: [udig-devel] tool visibility / actionsets example > > Hi John: > > > > So we are down to two things before docs a) visibility b) enablement > > > > I found a decent code example for visibility. It is controlled with > ActionSets (which is something that is part of the perspective definition; so > the perspective can turn off tool categories that would otherwise annoy > users). > > > > Inside MentuToolcategory.contirbute(IMenuManager) the have the following: > > > > 1) looking up the current action sets > > > > > IWorkbench workbench = PlatformUI.getWorkbench(); > > > IContextService contextService = (IContextService) > workbench.getService(IContextService.class); > > > Collection<String> active = (Collection<String> > )contextService.getActiveContextIds(); > > > > > 2) when "contributing" tools > > > > > for( ModalItem item : this ) { > > > ToolProxy tool = (ToolProxy) item; > > > String categoryId = tool.getCategoryId(); > > > if( contextService.getDefinedContextIds().contains(categoryId)){ > > > // we have an context for this tool category > > > if( !active.contains( categoryId )){ > > > continue; // skip this category please! > > > } > > > } > > > > > > We should be able to do something similar when defining our paletteRoot :-) > Please reply to this email and tell me if the above works for you... > -- > Jody Garnett > > > > > The contents of this email are confidential and may be subject to legal or > professional privilege and copyright. No representation is made that this > email is free of viruses or other defects. If you have received this > communication in error, you may not copy or distribute any part of it or > otherwise disclose its contents to anyone. Please advise the sender of your > incorrect receipt of this correspondence. > _______________________________________________ > 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
