Revision 41255 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/ThemeManagerWindow.java

View differences:

ThemeManagerWindow.java
37 37
import javax.swing.event.ChangeListener;
38 38

  
39 39
import org.gvsig.andami.PluginServices;
40
import org.gvsig.andami.messages.NotificationManager;
41
import org.gvsig.andami.ui.mdiFrame.MDIFrame;
42 40
import org.gvsig.andami.ui.mdiManager.IWindow;
43
import org.gvsig.andami.ui.mdiManager.MDIManagerFactory;
44 41
import org.gvsig.andami.ui.mdiManager.WindowInfo;
45
import org.gvsig.app.ApplicationLocator;
46
import org.gvsig.app.ApplicationManager;
47 42
import org.gvsig.fmap.mapcontext.layers.FLayer;
48
import org.gvsig.fmap.mapcontext.layers.FLyrDefault;
49 43
import org.gvsig.gui.beans.swing.JButton;
50 44
import org.slf4j.Logger;
51 45
import org.slf4j.LoggerFactory;
......
67 61
	//private Legend legend; // Le asignaremos la leyenda del primer tema activo.
68 62
	private JTabbedPane tabs = new JTabbedPane();  //  @jve:decl-index=0:
69 63
	private JPanel panelButtons;
70
	private static Hashtable<Class<? extends AbstractThemeManagerPage>, ArrayList<Class<? extends FLyrDefault>>> s =
71
		new Hashtable<Class<? extends AbstractThemeManagerPage>, ArrayList<Class<? extends FLyrDefault>>>();
64
	private static Hashtable<Class<? extends AbstractThemeManagerPage>, ArrayList<Class<? extends FLayer>>> s =
65
		new Hashtable<Class<? extends AbstractThemeManagerPage>, ArrayList<Class<? extends FLayer>>>();
72 66

  
73 67

  
74 68
	/**
......
99 93
				continue;
100 94
			}
101 95
			if (tab!=null){
102
			    if (s.get(tab.getClass()).contains(layer.getClass())){
96
                            if( tab.isTabEnabledForLayer(layer) ) {
103 97
			    	String tabName = null;
104 98
			    	try {
105 99
			    		tab.setModel(layer);
......
229 223
		pages.add(abstractThemeManagerPageClass);
230 224
	}
231 225

  
232
	public static void setTabEnabledForLayer(Class<? extends AbstractThemeManagerPage> abstractThemeManagerPageClass, Class<? extends FLyrDefault> fLayerClazz, boolean enabled) {
233
		ArrayList<Class<? extends FLyrDefault>> enabledLayers;
226
	public static void setTabEnabledForLayer(Class<? extends AbstractThemeManagerPage> abstractThemeManagerPageClass, Class<? extends FLayer> fLayerClazz, boolean enabled) {
227
		ArrayList<Class<? extends FLayer>> enabledLayers;
234 228
		if (enabled == true) {
235 229
			if (!s.containsKey(abstractThemeManagerPageClass)) {
236
				enabledLayers = new ArrayList<Class<? extends FLyrDefault>> ();
230
				enabledLayers = new ArrayList<Class<? extends FLayer>> ();
237 231
				enabledLayers.add(fLayerClazz);
238 232
				s.put(abstractThemeManagerPageClass, enabledLayers);
239 233
			} else {
......
248 242
			enabledLayers.remove(fLayerClazz);
249 243
		}
250 244
	};
251
	public Object getWindowProfile() {
245

  
246
        public static boolean isTabEnabledForLayer(AbstractThemeManagerPage page, FLayer layer) {
247
            try {
248
                return s.get(page.getClass()).contains(layer.getClass());            
249
            } catch( Exception ex) {
250
                return false;
251
            }
252
        }
253
        
254
        public Object getWindowProfile() {
252 255
		return WindowInfo.TOOL_PROFILE;
253 256
	};
254 257
}  //  @jve:decl-index=0:visual-constraint="10,10"

Also available in: Unified diff