public IPropertyHandler<Collection<IStyle>, NodeModel> addStyleGetter( final Integer key, final IPropertyHandler<Collection<IStyle>, NodeModel> getter) { return styleHandlers.addGetter(key, getter); }
public Font getFont(final NodeModel node) { final Font font = fontHandlers.getProperty(node, null); return font; }
public IPropertyHandler<V, T> addGetter(final Integer key, final IPropertyHandler<V, T> getter) { return handlers.put(key(key), getter); }
public IconController(final ModeController modeController) { super(); stateIconProviders = new LinkedList<IStateIconProvider>(); iconHandlers = new CombinedPropertyChain<Collection<MindIcon>, NodeModel>(false); // this.modeController = modeController; final MapController mapController = modeController.getMapController(); final ReadManager readManager = mapController.getReadManager(); final WriteManager writeManager = mapController.getWriteManager(); final IconBuilder textBuilder = new IconBuilder(this, IconStoreFactory.ICON_STORE); textBuilder.registerBy(readManager, writeManager); addIconGetter(IPropertyHandler.STYLE, new IPropertyHandler<Collection<MindIcon>, NodeModel>() { public Collection<MindIcon> getProperty(final NodeModel node, final Collection<MindIcon> currentValue) { final MapStyleModel model = MapStyleModel.getExtension(node.getMap()); final Collection<IStyle> styleKeys = LogicalStyleController.getController(modeController).getStyles(node); for(IStyle styleKey : styleKeys){ final NodeModel styleNode = model.getStyleNode(styleKey); if (styleNode == null || node == styleNode && !(styleKey instanceof StyleNode)) { continue; } final List<MindIcon> styleIcons; styleIcons = styleNode.getIcons(); currentValue.addAll(styleIcons); } return currentValue; } }); iconMouseListeners = new LinkedList<IconMouseListener>(); }
public LogicalStyleController(ModeController modeController) { styleHandlers = new CombinedPropertyChain<Collection<IStyle>, NodeModel>(false); createBuilder(); registerChangeListener();
public IPropertyHandler<Collection<MindIcon>, NodeModel> addIconGetter( final Integer key, final IPropertyHandler<Collection<MindIcon>, NodeModel> getter) { return iconHandlers.addGetter(key, getter); }
public Collection<MindIcon> getIcons(final NodeModel node) { final Collection<MindIcon> icons = iconHandlers.getProperty(node, new LinkedList<MindIcon>()); return icons; }
public NodeStyleController(final ModeController modeController) { this.modeController = modeController; fontHandlers = new CombinedPropertyChain<Font, NodeModel>(true); textColorHandlers = new ExclusivePropertyChain<Color, NodeModel>(); backgroundColorHandlers = new ExclusivePropertyChain<Color, NodeModel>();
public IPropertyHandler<V, T> removeGetter(final Integer key) { return handlers.remove(key(key)); } }
public IPropertyHandler<Collection<MindIcon>, NodeModel> removeIconGetter( final Integer key, final IPropertyHandler<Collection<MindIcon>, NodeModel> getter) { return iconHandlers.addGetter(key, getter); }
public Collection<IStyle> getStyles(final NodeModel node) { if(cachedNode != null && node.equals(cachedNode.get())){ return cachedStyle; } cachedStyle = null; cachedNode = null; cachedStyle = styleHandlers.getProperty(node, new LinkedHashSet<IStyle>()); cachedNode = new WeakReference<NodeModel>(node); return cachedStyle; }
public IPropertyHandler<Collection<IStyle>, NodeModel> removeStyleGetter( final Integer key, final IPropertyHandler<Collection<IStyle>, NodeModel> getter) { return styleHandlers.addGetter(key, getter); }
public IPropertyHandler<Font, NodeModel> addFontGetter(final Integer key, final IPropertyHandler<Font, NodeModel> getter) { return fontHandlers.addGetter(key, getter); }