use of org.freeplane.features.map.NodeMoveEvent in project freeplane by freeplane.
the class NodeTooltipManager method getSharedInstance.
public static NodeTooltipManager getSharedInstance(ModeController modeController) {
{
final NodeTooltipManager instance = modeController.getExtension(NodeTooltipManager.class);
if (instance != null) {
return instance;
}
}
final NodeTooltipManager instance = new NodeTooltipManager();
setTooltipDelays(instance);
UIManager.put("PopupMenu.consumeEventOnClose", Boolean.FALSE);
ResourceController.getResourceController().addPropertyChangeListener(new IFreeplanePropertyListener() {
public void propertyChanged(final String propertyName, final String newValue, final String oldValue) {
if (propertyName.startsWith(TOOL_TIP_MANAGER)) {
setTooltipDelays(instance);
}
}
});
IMapChangeListener mapChangeListener = new AMapChangeListenerAdapter() {
@Override
public void onNodeDeleted(NodeDeletionEvent nodeDeletionEvent) {
instance.hideTipWindow();
}
@Override
public void onNodeInserted(NodeModel parent, NodeModel child, int newIndex) {
instance.hideTipWindow();
}
@Override
public void onNodeMoved(NodeMoveEvent nodeMoveEvent) {
instance.hideTipWindow();
}
};
MapController mapController = modeController.getMapController();
mapController.addMapChangeListener(mapChangeListener);
INodeSelectionListener nodeSelectionListener = new INodeSelectionListener() {
public void onSelect(NodeModel node) {
NodeView view = (NodeView) SwingUtilities.getAncestorOfClass(NodeView.class, instance.insideComponent);
if (view != null && node.equals(view.getModel()))
return;
instance.hideTipWindow();
}
public void onDeselect(NodeModel node) {
}
};
mapController.addNodeSelectionListener(nodeSelectionListener);
modeController.addExtension(NodeTooltipManager.class, instance);
return instance;
}
use of org.freeplane.features.map.NodeMoveEvent in project freeplane by freeplane.
the class MMapController method moveNodeToWithoutUndo.
/**
* The direction is used if side left and right are present. then the next
* suitable place on the same side# is searched. if there is no such place,
* then the side is changed.
*
* @return returns the new index.
*/
private int moveNodeToWithoutUndo(final NodeModel child, final NodeModel newParent, int newIndex, final boolean isLeft, final boolean changeSide) {
final NodeModel oldParent = child.getParentNode();
final int oldIndex = oldParent.getIndex(child);
final boolean oldSideLeft = child.isLeft();
final boolean newSideLeft = changeSide ? isLeft : oldSideLeft;
final NodeMoveEvent nodeMoveEvent = new NodeMoveEvent(oldParent, oldIndex, oldSideLeft, newParent, child, newIndex, newSideLeft);
firePreNodeMoved(nodeMoveEvent);
oldParent.remove(oldParent.getIndex(child));
if (changeSide) {
child.setParent(newParent);
child.setLeft(isLeft);
}
newParent.insert(child, newIndex);
fireNodeMoved(nodeMoveEvent);
setSaved(newParent.getMap(), false);
return newIndex;
}
use of org.freeplane.features.map.NodeMoveEvent in project freeplane by freeplane.
the class LogicalStyleController method registerChangeListener.
private void registerChangeListener() {
ModeController modeController = Controller.getCurrentModeController();
final MapController mapController = modeController.getMapController();
mapController.addMapChangeListener(new IMapChangeListener() {
public void onPreNodeMoved(NodeMoveEvent nodeMoveEvent) {
clearCache();
}
public void onPreNodeDelete(NodeDeletionEvent nodeDeletionEvent) {
clearCache();
}
public void onNodeMoved(NodeMoveEvent nodeMoveEvent) {
clearCache();
}
public void onNodeInserted(NodeModel parent, NodeModel child, int newIndex) {
clearCache();
}
public void onNodeDeleted(NodeDeletionEvent nodeDeletionEvent) {
clearCache();
}
public void mapChanged(MapChangeEvent event) {
clearCache();
}
});
mapController.addNodeChangeListener(new INodeChangeListener() {
public void nodeChanged(NodeChangeEvent event) {
clearCache();
}
});
}
use of org.freeplane.features.map.NodeMoveEvent in project freeplane by freeplane.
the class MLogicalStyleController method initM.
public void initM() {
final ModeController modeController = Controller.getCurrentModeController();
modeController.getMapController().addNodeChangeListener(new StyleRemover());
modeController.registerExtensionCopier(new ExtensionCopier());
modeController.addAction(new RedefineStyleAction());
modeController.addAction(new NewUserStyleAction());
modeController.addAction(new ManageMapConditionalStylesAction());
modeController.addAction(new ManageNodeConditionalStylesAction());
modeController.addAction(new CopyStyleExtensionsAction());
if (modeController.getModeName().equals("MindMap")) {
modeController.addAction(new MapBackgroundColorAction());
modeController.addAction(new MapBackgroundImageAction());
modeController.addAction(new MapBackgroundClearAction());
modeController.addAction(new SetBooleanMapPropertyAction(MapStyle.FIT_TO_VIEWPORT));
modeController.addAction(new CopyMapStylesAction());
}
if (!modeController.getController().getViewController().isHeadless()) {
modeController.addUiBuilder(Phase.ACTIONS, "style_actions", new StyleMenuBuilder(modeController), new ChildActionEntryRemover(modeController));
final IUserInputListenerFactory userInputListenerFactory = modeController.getUserInputListenerFactory();
Controller.getCurrentController().getMapViewManager().addMapSelectionListener(new IMapSelectionListener() {
public void beforeMapChange(final MapModel oldMap, final MapModel newMap) {
}
public void afterMapChange(final MapModel oldMap, final MapModel newMap) {
userInputListenerFactory.rebuildMenus(STYLE_ACTIONS);
}
});
final MapController mapController = modeController.getMapController();
mapController.addMapChangeListener(new IMapChangeListener() {
public void onPreNodeMoved(NodeMoveEvent nodeMoveEvent) {
}
public void onPreNodeDelete(NodeDeletionEvent nodeDeletionEvent) {
}
public void onNodeMoved(NodeMoveEvent nodeMoveEvent) {
}
public void onNodeInserted(final NodeModel parent, final NodeModel child, final int newIndex) {
}
public void onNodeDeleted(NodeDeletionEvent nodeDeletionEvent) {
}
public void mapChanged(final MapChangeEvent event) {
if (event.getProperty().equals(MapStyle.MAP_STYLES)) {
userInputListenerFactory.rebuildMenus(STYLE_ACTIONS);
}
}
});
mapController.addNodeSelectionListener(new INodeSelectionListener() {
public void onSelect(final NodeModel node) {
selectActions();
}
public void onDeselect(final NodeModel node) {
}
});
}
}
Aggregations