@NodeHookDescriptor(hookName = "accessories/plugins/HierarchicalIcons2.properties") class HierarchicalIcons2 extends HierarchicalIcons{ public HierarchicalIcons2() { super(Mode.AND); } @Override protected void removeAnotherMode(NodeModel node) { final HierarchicalIcons extension = node.getExtension(HierarchicalIcons.class); if(extension != null) extension.undoableDeactivateHook(node); } }
protected String getHookName() { return getHookAnnotation().hookName(); }
protected NodeModel[] getNodesForSelection() { if (getHookAnnotation().onceForMap()) { return getRootNodeForSelection(); } return getSelectedNodes(); }
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); } }
/** * @author Dimitry Polivaev * Apr 24, 2011 */ @NodeHookDescriptor(hookName = "FirstGroupNode", onceForMap = false) public class FirstGroupNode extends PersistentNodeHook implements IExtension{ @Override protected IExtension createExtension(NodeModel node, XMLElement element) { return FirstGroupNodeFlag.FIRST_GROUP; } @Override protected Class<? extends IExtension> getExtensionClass() { return FirstGroupNodeFlag.class; } @Override protected HookAction createHookAction() { return null; } }
public IExtension getExtension(final NodeModel nodeModel) { if (!nodeModel.isRoot() && getHookAnnotation().onceForMap()) { return getExtension(nodeModel.getMap().getRootNode()); } return nodeModel.getExtension(getExtensionClass()); }
/** * @author Dimitry Polivaev * Apr 9, 2011 */ @NodeHookDescriptor(hookName = "AlwaysUnfoldedNode", onceForMap = false) public class AlwaysUnfoldedNode extends PersistentNodeHook implements IExtension{ @Override protected IExtension createExtension(NodeModel node, XMLElement element) { return this; } static public boolean isConnectorNode(final NodeModel nodeModel) { return nodeModel.containsExtension(AlwaysUnfoldedNode.class); } @Override protected void add(NodeModel node, IExtension extension) { super.add(node, extension); node.setFolded(false); } }
public boolean isActive(final NodeModel nodeModel) { if (!nodeModel.isRoot() && getHookAnnotation().onceForMap()) { return isActive(nodeModel.getMap().getRootNode()); } return nodeModel.containsExtension(getExtensionClass()); }
@NodeHookDescriptor(hookName = "FreeNode", onceForMap = false) public class FreeNode extends PersistentNodeHook implements IExtension{
@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); } }
@NodeHookDescriptor(hookName = "accessories/plugins/RevisionPlugin.properties") public class RevisionPlugin extends PersistentNodeHook implements INodeChangeListener, IExtension { public RevisionPlugin() {
@NodeHookDescriptor(hookName = "SummaryNode", onceForMap = false) public class SummaryNode extends PersistentNodeHook implements IExtension{
@NodeHookDescriptor(hookName = "AutomaticEdgeColor") public class AutomaticEdgeColorHook extends PersistentNodeHook implements IExtension{ private ModeController modeController;
@NodeHookDescriptor(hookName = "accessories/plugins/AutomaticLayout.properties") public class AutomaticLayoutController extends PersistentNodeHook implements IExtension{ private static final String AUTOMATIC_LAYOUT_LEVEL = "AutomaticLayout.level,";
@NodeHookDescriptor(hookName = "accessories/plugins/BlinkingNodeHook.properties", onceForMap = false) public class BlinkingNodeHook extends PersistentNodeHook { protected class TimerColorChanger extends TimerTask implements IExtension, IMapChangeListener,
@NodeHookDescriptor(hookName = "plugins/latex/LatexNodeHook.properties", // onceForMap = false) class LatexNodeHook extends PersistentNodeHook implements INodeViewLifeCycleListener {
@NodeHookDescriptor(hookName = "plugins/openmaps/OpenMapsNodeHook.propterties", onceForMap = false) public class OpenMapsNodeHook extends PersistentNodeHook implements LocationChoosenListener {
@NodeHookDescriptor(hookName = "accessories/plugins/HierarchicalIcons.properties") public class HierarchicalIcons extends PersistentNodeHook implements INodeChangeListener, IMapChangeListener, IReadCompletionListener, IExtension {
@NodeHookDescriptor(hookName = "plugins/TimeManagementReminder.xml", onceForMap = false) public class ReminderHook extends PersistentNodeHook implements IExtension {
@NodeHookDescriptor(hookName = "MapStyle") public class MapStyle extends PersistentNodeHook implements IExtension, IMapLifeCycleListener { private static final String NODE_CONDITIONAL_STYLES = "NodeConditionalStyles";