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
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