@Override public void close() { closeAllEditors(); closeAllViews(); }
public E createAndRegisterViewEntry(Class<? extends D> viewType, String displayName, String icon, ResourceLoader resourceLoader) throws InstantiationException, IllegalAccessException { D view = createAndRegisterView(viewType, displayName, icon, resourceLoader); E viewEntry = createDockableEntry(view, DockableKind.VIEW); viewEntries.add(viewEntry); return viewEntry; }
public E createEditorEntry(Object content, Class<? extends D> editorType, String icon, ResourceLoader resourceLoader) throws SecurityException, InvocationTargetException, IllegalAccessException, IllegalArgumentException, NoSuchMethodException, InstantiationException { D editor = createEditor(content, editorType, icon, resourceLoader); return createDockableEntry(editor, DockableKind.EDITOR); }
private D createEditor(Object content, Class<? extends D> editorType, String icon, ResourceLoader resourceLoader) throws SecurityException, InvocationTargetException, IllegalAccessException, IllegalArgumentException, NoSuchMethodException, InstantiationException { D editor = createEditor(content, editorType); DATA dockableData = dockableDataFactory.createDockableData(icon, resourceLoader); dockableDataManager.registerDockableData(editor, dockableData); inject(editor); return editor; }
private D createAndRegisterView(Class<? extends D> viewType, String displayName, String icon, ResourceLoader resourceLoader) throws InstantiationException, IllegalAccessException { D view = createView(viewType); DATA dockableData = dockableDataFactory.createDockableData(displayName, icon, resourceLoader); dockableDataManager.registerDockableData(view, dockableData); inject(view); return view; }
private void closeAllViews() { viewEntries.stream() .map(DockableEntry::getDockable) .forEach(d -> { try { closeAutoCloseable(d); } catch (Exception ex) { LOG.error(ex.getMessage(), ex); } }); }
private void closeAllEditors() { Set<E> allEditorEntries = editorRegistry.clear(); allEditorEntries.stream() .map(DockableEntry::getDockable) .forEach(d -> { try { closeAutoCloseable(d); } catch (Exception ex) { LOG.error(ex.getMessage(), ex); } }); }
public void unregisterView(E viewEntry) throws Exception { if (viewEntry != null && viewEntry.getKind() == DockableKind.VIEW) { final D dockable = viewEntry.getDockable(); dockableDataManager.unregisterDockableData(dockable); dockablePreferencesManager.unregisterDockablePreferences(dockable); closeAutoCloseable(dockable); } }
public void unregisterEditor(E editorEntry) throws Exception { if (editorEntry != null && editorEntry.getKind() == DockableKind.EDITOR) { final D dockable = editorEntry.getDockable(); dockableDataManager.unregisterDockableData(dockable); dockablePreferencesManager.unregisterDockablePreferences(dockable); editorRegistry.unregisterEditor(editorEntry); closeAutoCloseable(dockable); } }