(CreoleEvent e)
| 1999 | }// resourceLoaded(); |
| 2000 | |
| 2001 | @Override |
| 2002 | public void resourceUnloaded(CreoleEvent e) { |
| 2003 | final Resource res = e.getResource(); |
| 2004 | if(Gate.getHiddenAttribute(res.getFeatures())) return; |
| 2005 | Runnable runner = new Runnable() { |
| 2006 | @Override |
| 2007 | public void run() { |
| 2008 | DefaultMutableTreeNode node; |
| 2009 | DefaultMutableTreeNode parent = null; |
| 2010 | if(res instanceof Controller) { |
| 2011 | parent = applicationsRoot; |
| 2012 | }else if(res instanceof ProcessingResource) { |
| 2013 | parent = processingResourcesRoot; |
| 2014 | } |
| 2015 | else if(res instanceof LanguageResource) { |
| 2016 | parent = languageResourcesRoot; |
| 2017 | } |
| 2018 | if(parent != null) { |
| 2019 | Enumeration<?> children = parent.children(); |
| 2020 | while(children.hasMoreElements()) { |
| 2021 | node = (DefaultMutableTreeNode)children.nextElement(); |
| 2022 | if(((NameBearerHandle)node.getUserObject()).getTarget() == res) { |
| 2023 | resourcesTreeModel.removeNodeFromParent(node); |
| 2024 | Handle handle = (Handle)node.getUserObject(); |
| 2025 | if(handle.viewsBuilt()) { |
| 2026 | if(mainTabbedPane.indexOfComponent(handle.getLargeView()) != -1) |
| 2027 | mainTabbedPane.remove(handle.getLargeView()); |
| 2028 | if(lowerScroll.getViewport().getView() == handle.getSmallView()) |
| 2029 | lowerScroll.getViewport().setView(null); |
| 2030 | } |
| 2031 | handle.cleanup(); |
| 2032 | return; |
| 2033 | } |
| 2034 | } |
| 2035 | } |
| 2036 | } |
| 2037 | }; |
| 2038 | SwingUtilities.invokeLater(runner); |
| 2039 | } |
| 2040 | |
| 2041 | /** Called when a {@link gate.DataStore} has been opened */ |
| 2042 | @Override |
nothing calls this directly
no test coverage detected