use of org.freeplane.features.map.AlwaysUnfoldedNode in project freeplane by freeplane.
the class MMapController method addNewSummaryNodeStartEditing.
public void addNewSummaryNodeStartEditing(final NodeModel parentNode, final int start, final int end, final int summaryLevel, final boolean isLeft) {
ModeController modeController = getMModeController();
stopEditing();
final NodeModel newSummaryNode = addNewNode(parentNode, end + 1, isLeft);
final SummaryNode summary = modeController.getExtension(SummaryNode.class);
summary.undoableActivateHook(newSummaryNode, SUMMARY);
AlwaysUnfoldedNode unfolded = modeController.getExtension(AlwaysUnfoldedNode.class);
unfolded.undoableActivateHook(newSummaryNode, unfolded);
final FirstGroupNode firstGroupNodeHook = modeController.getExtension(FirstGroupNode.class);
final NodeModel firstNodeInGroup = parentNode.getChildAt(start);
if (SummaryNode.isSummaryNode(firstNodeInGroup))
firstGroupNodeHook.undoableActivateHook(firstNodeInGroup, FIRST_GROUP);
else {
final NodeModel previousNode = firstNodeInGroup.previousNode(start, isLeft);
if (previousNode == null || SummaryNode.isSummaryNode(previousNode) || !SummaryNode.isFirstGroupNode(previousNode)) {
NodeModel newFirstGroup = addNewNode(parentNode, start, isLeft);
firstGroupNodeHook.undoableActivateHook(newFirstGroup, FIRST_GROUP);
}
firstGroupNodeHook.undoableDeactivateHook(firstNodeInGroup);
}
int level = summaryLevel;
for (int i = start + 1; i <= end; i++) {
NodeModel node = parentNode.getChildAt(i);
if (isLeft != node.isLeft())
continue;
if (SummaryNode.isSummaryNode(node))
level++;
else
level = 0;
if (level == summaryLevel && SummaryNode.isFirstGroupNode(node)) {
if (level > 0)
firstGroupNodeHook.undoableDeactivateHook(node);
else
deleteSingleNodeWithClones(node);
}
}
final NodeModel firstSummaryChildNode = addNewNode(newSummaryNode, 0, isLeft);
startEditingAfterSelect(firstSummaryChildNode);
select(firstSummaryChildNode);
}
use of org.freeplane.features.map.AlwaysUnfoldedNode in project freeplane by freeplane.
the class HeadlessMModeControllerFactory method createAddIns.
private void createAddIns() {
new HierarchicalIcons();
new AutomaticLayoutController();
new BlinkingNodeHook();
SummaryNode.install();
new AlwaysUnfoldedNode();
FreeNode.install();
new AutomaticEdgeColorHook();
new ViewerController();
MEncryptionController.install(new MEncryptionController(modeController));
new ChangeNodeLevelController(modeController);
NodeHistory.install(modeController);
modeController.addAction(new ImportMindmanagerFiles());
}
use of org.freeplane.features.map.AlwaysUnfoldedNode in project freeplane by freeplane.
the class MModeControllerFactory method createAddIns.
private void createAddIns() {
final StyleEditorPanel panel = new StyleEditorPanel(modeController, uiFactory, true);
final JScrollPane styleScrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
UITools.setScrollbarIncrement(styleScrollPane);
final JComponent tabs = (JComponent) modeController.getUserInputListenerFactory().getToolBar("/format").getComponent(1);
tabs.add(TextUtils.getText("format_panel"), styleScrollPane);
new AttributePanelManager(modeController);
new HierarchicalIcons();
new AutomaticLayoutController();
new BlinkingNodeHook();
SummaryNode.install();
final MMapController mapController = (MMapController) modeController.getMapController();
mapController.addMapLifeCycleListener(new SummaryNodeMapUpdater(modeController, mapController));
final AlwaysUnfoldedNode alwaysUnfoldedNode = new AlwaysUnfoldedNode();
modeController.addAction(new SetAlwaysUnfoldedNodeFlagsAction(alwaysUnfoldedNode));
modeController.addAction(new RemoveAllAlwaysUnfoldedNodeFlagsAction(alwaysUnfoldedNode));
FreeNode.install();
new CreationModificationDatePresenter();
modeController.addExtension(ReminderHook.class, new ReminderHook(modeController));
new AutomaticEdgeColorHook();
new ViewerController();
PresentationController.install(modeController);
modeController.addAction(new AddAttributeAction());
modeController.addAction(new RemoveFirstAttributeAction());
modeController.addAction(new RemoveLastAttributeAction());
modeController.addAction(new RemoveAllAttributesAction());
modeController.addAction(new AddExternalImageAction());
modeController.addAction(new RemoveExternalImageAction());
modeController.addAction(new ChangeExternalImageAction());
modeController.addAction(new ShowFormatPanelAction());
modeController.addAction(new FitToPage());
modeController.addAction(new UpdateCheckAction());
MEncryptionController.install(new MEncryptionController(modeController));
modeController.addAction(new IconSelectionPlugin());
modeController.addAction(new NewParentNode());
modeController.addAction(new SaveAll());
modeController.addAction(new SortNodes());
modeController.addAction(new SplitNode());
new ChangeNodeLevelController(modeController);
NodeHistory.install(modeController);
modeController.addAction(new ImportXmlFile());
modeController.addAction(new ImportMindmanagerFiles());
}
Aggregations