public void undoableSetHookForSelection(final IExtension extension) { final NodeModel[] nodes = getNodesForSelection(); for (int i = 0; i < nodes.length; i++) { final NodeModel node = nodes[i]; if (extension != null || node.containsExtension(getExtensionClass())) { undoableToggleHook(node, extension); } } }
@Override protected void add(final NodeModel node, final IExtension extension) { super.add(node, extension); }
@Override protected void remove(final NodeModel node, final IExtension extension) { super.remove(node, extension); } }
public void undoableDeactivateHook(final NodeModel node) { final IExtension extension = node.getExtension(getExtensionClass()); if (extension != null) { undoableToggleHook(node, extension); } }
protected void registerActions() { final Class<? extends IExtension> extensionClass = getExtensionClass(); if(extensionClass.isEnum()){ Class<Enum> enumClass = (Class<Enum>) (Class<?>)extensionClass; EnumSet<? extends Enum<?>> all= EnumSet.allOf(enumClass); for(Enum e : all){ registerAction(new SelectableEnumAction(getClass().getSimpleName() + "Action", e)); } registerAction(new SelectableEnumAction(getClass().getSimpleName() + "Action", null)); } else{ final HookAction selectableHookAction = createHookAction(); if (selectableHookAction != null) { registerAction(selectableHookAction); } } }
protected IExtension toggle(final NodeModel node, IExtension extension) { final IExtension before; final IExtension after; if (extension != null && node.containsExtension(extension.getClass())) { before = extension; after = null; remove(node, extension); } else { if (extension == null) { extension = createExtension(node); } if (extension != null) { add(node, extension); } before = null; after = extension; } Controller.getCurrentModeController().getMapController() .nodeChanged(node, getExtensionClass(), before, after); return extension; }
public void writeContent(final ITreeWriter writer, final Object object, final IExtension extension) throws IOException { final XMLElement element = new XMLElement("hook"); try { saveExtension(extension, element); writer.addElement(null, element); } catch (final Exception e) { e.printStackTrace(); } } }
public void undoableActivateHook(final NodeModel node, final IExtension extension) { if (! node.containsExtension(extension.getClass())) { undoableToggleHook(node, extension); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) public PersistentNodeHook() { super(); final Class<? extends IExtension> extensionClass = getExtensionClass(); if (getHookAnnotation().onceForMap()) { MapExtensions.registerMapExtension(extensionClass); } // this.modeController = modeController; // controller = modeController.getController(); final ModeController modeController = Controller.getCurrentModeController(); if (modeController.supportsHookActions()) registerActions(); final MapController mapController = modeController.getMapController(); mapController.getReadManager().addElementHandler("hook", createXmlReader()); final IExtensionElementWriter xmlWriter = createXmlWriter(); if (xmlWriter != null) { mapController.getWriteManager().addExtensionElementWriter(extensionClass, xmlWriter); } if (this instanceof IExtension) { // do not use getExtensionClass() here since in several subclasses getExtensionClass() returns a // different class than getClass() modeController.addExtension((Class<? extends IExtension>) getClass(), (IExtension) this); } }
public void endElement(final Object parent, final String tag, final Object userObject, final XMLElement lastBuiltElement) { if (getHookAnnotation().onceForMap()) { final XMLElement parentNodeElement = lastBuiltElement.getParent().getParent(); if (parentNodeElement == null || !parentNodeElement.getName().equals("map")) { return; } } final NodeModel node = (NodeModel) userObject; if (node.getExtension(getExtensionClass()) != null) { return; } final IExtension extension = createExtension(node, lastBuiltElement); if (extension == null) { return; } add(node, extension); } }
public IExtension getExtension(final NodeModel nodeModel) { if (!nodeModel.isRoot() && getHookAnnotation().onceForMap()) { return getExtension(nodeModel.getMap().getRootNode()); } return nodeModel.getExtension(getExtensionClass()); }
protected IExtension createExtension(final NodeModel node) { return createExtension(node, null); }
@Override protected void saveExtension(final IExtension extension, final XMLElement element) { final LatexExtension latexExtension = (LatexExtension) extension; element.setAttribute("EQUATION", latexExtension.getEquation()); super.saveExtension(extension, element); }
@Override public void undoableToggleHook(NodeModel node, IExtension extension) { removeAnotherMode(node); super.undoableToggleHook(node, extension); }
public void undoableToggleHook(final NodeModel node) { undoableToggleHook(node, node.getExtension(getExtensionClass())); }
@Override protected IExtension createExtension(final NodeModel node, final XMLElement element) { if(element == null || ! element.hasAttribute("VALUE")) return AutomaticLayout.ALL; return super.createExtension(node, element); }
@Override protected void saveExtension(final IExtension extension, final XMLElement element) { final ExternalResource previewUri = (ExternalResource) extension; final URI uri = previewUri.getUri(); if (uri != null) { element.setAttribute("URI", uri.toString()); } final float size = previewUri.getZoom(); if (size != -1) { element.setAttribute("SIZE", Float.toString(size)); } super.saveExtension(extension, element); }
public void undoableSetHookForSelection(final boolean enable) { final NodeModel[] nodes = getNodesForSelection(); for (int i = 0; i < nodes.length; i++) { final NodeModel node = nodes[i]; if (node.containsExtension(getExtensionClass()) != enable) { undoableToggleHook(node); } } }
@Override public void undoableToggleHook(final NodeModel node, final IExtension extension) { if (extension != null) { super.undoableToggleHook(node, extension); return; } final String equation = LegacyLatexEditor.editLatex("", node); if (equation == null || "".equals(equation.trim())) { return; } super.undoableToggleHook(node, null); final LatexExtension latexExtension = (LatexExtension) node.getExtension(LatexExtension.class); setEquationUndoable(latexExtension, equation); }
@Override protected void remove(final NodeModel node, final IExtension extension) { removeIcons(node); super.remove(node, extension); }