public abstract class ControllerAdapter extends java.lang.Object implements ModeController, FreeMindFileDialog.DirectoryResultListener
| Modifier and Type | Class and Description |
|---|---|
protected class |
ControllerAdapter.EditAttributesAction |
protected class |
ControllerAdapter.FileOpener |
protected class |
ControllerAdapter.nodesDepthComparator
This class sortes nodes by ascending depth of their paths to root.
|
class |
ControllerAdapter.OpenAction |
class |
ControllerAdapter.SaveAction |
class |
ControllerAdapter.SaveAsAction |
ModeController.NodeLifetimeListener, ModeController.NodeSelectionListener| Modifier and Type | Field and Description |
|---|---|
protected freemind.modes.ControllerAdapter.ControllerPopupMenuListener |
popupListenerSingleton
Take care!
|
NODESEPARATOR| Constructor and Description |
|---|
ControllerAdapter(Mode mode)
Instantiation order: first me and then the model.
|
| Modifier and Type | Method and Description |
|---|---|
void |
_setFolded(MindMapNode node,
boolean folded)
Don't call me directly!!!
|
protected void |
add(javax.swing.JMenu menu,
javax.swing.Action action) |
protected javax.swing.JMenuItem |
add(javax.swing.JMenu menu,
javax.swing.Action action,
java.lang.String keystroke) |
protected javax.swing.JMenuItem |
add(StructuredMenuHolder holder,
java.lang.String category,
javax.swing.Action action,
java.lang.String keystroke) |
protected javax.swing.JMenuItem |
addCheckBox(StructuredMenuHolder holder,
java.lang.String category,
javax.swing.Action action,
java.lang.String keystroke) |
protected javax.swing.JMenuItem |
addRadioItem(StructuredMenuHolder holder,
java.lang.String category,
javax.swing.Action action,
java.lang.String keystroke,
boolean isSelected) |
void |
centerNode(MindMapNode node)
Node is displayed and selected as the only one selected.
|
void |
changeSelection(NodeView pNode,
boolean pIsSelected) |
boolean |
close(boolean force,
MapModuleManager mapModuleManager)
Return false if user has canceled.
|
java.awt.datatransfer.Transferable |
copy() |
java.awt.datatransfer.Transferable |
copy(java.util.List selectedNodes,
boolean copyInvisible) |
java.awt.datatransfer.Transferable |
copy(MindMapNode node,
boolean saveInvisible) |
java.awt.datatransfer.Transferable |
copySingle() |
java.util.List |
createForNodeIdsFlavor(java.util.List selectedNodes,
boolean copyInvisible) |
java.lang.String |
createForNodesFlavor(java.util.List selectedNodes,
boolean copyInvisible) |
MindMapNode |
createNodeTreeFromXml(java.io.Reader pReader,
java.util.HashMap pIDToTarget)
Given a valid Xml parameterization of a node (tree), this method returns
freshly created nodes.
|
abstract XMLElement |
createXMLElement() |
void |
deregisterNodeLifetimeListener(ModeController.NodeLifetimeListener listener) |
void |
deregisterNodeSelectionListener(ModeController.NodeSelectionListener listener) |
void |
displayNode(MindMapNode node)
Unfolds a node if necessary.
|
void |
displayNode(MindMapNode node,
java.util.ArrayList nodesUnfoldedByDisplay)
Display a node in the display (used by find and the goto action by arrow
link actions).
|
void |
fireNodePostDeleteEvent(MindMapNode node,
MindMapNode parent) |
void |
fireNodePreDeleteEvent(MindMapNode node)
Is issued before a node is deleted.
|
void |
firePreSaveEvent(MindMapNode node)
Is issued before a node is saved (eg. to save its notes, too, even if the
notes is currently edited).
|
void |
fireRecursiveNodeCreateEvent(MindMapNode node) |
AttributeController |
getAttributeController() |
Controller |
getController() |
FreeMindFileDialog |
getFileChooser() |
FreeMindFileDialog |
getFileChooser(javax.swing.filechooser.FileFilter filter)
Creates a file chooser with the last selected directory as default.
|
protected javax.swing.filechooser.FileFilter |
getFileFilter()
You may want to implement this...
|
FreeMindMain |
getFrame() |
java.awt.Component |
getLeftToolBar()
Overwrite this, if you have one.
|
java.lang.String |
getLinkShortText(MindMapNode node) |
MindMap |
getMap() |
MapModule |
getMapModule() |
Mode |
getMode() |
ControllerAdapter |
getModeController()
This was inserted by fc, 10.03.04 to enable all actions to refer to its
controller easily.
|
MapAdapter |
getModel() |
javax.swing.JToolBar |
getModeToolBar()
Overwrite this, if you have one.
|
NodeAdapter |
getNodeFromID(java.lang.String nodeID)
Given a node identifier, this method returns the corresponding node.
|
java.lang.String |
getNodeID(MindMapNode selected)
Calling this method the map-unique identifier of the node is returned
(and created before, if not present)
|
java.util.HashSet |
getNodeLifetimeListeners() |
NodeView |
getNodeView(MindMapNode node) |
javax.swing.JPopupMenu |
getPopupForModel(java.lang.Object obj)
Default implementation: no context menu.
|
java.util.Set |
getRegisteredMouseWheelEventHandler() |
java.net.URL |
getResource(java.lang.String name) |
MindMapNode |
getRootNode() |
MindMapNode |
getSelected() |
java.util.List |
getSelecteds()
fc, 24.1.2004: having two methods getSelecteds with different return
values (linkedlists of models resp. views) is asking for trouble.
|
java.util.List |
getSelectedsByDepth() |
NodeView |
getSelectedView() |
java.awt.Color |
getSelectionColor() |
java.lang.String |
getText(java.lang.String textId)
Get text from resource file
|
MapView |
getView() |
void |
handleLoadingException(java.lang.Exception ex) |
void |
insertNodeInto(MindMapNode newChild,
MindMapNode parent) |
void |
insertNodeInto(MindMapNode newNode,
MindMapNode parent,
int index) |
void |
invokeHooksRecursively(NodeAdapter node,
MindMap map) |
boolean |
isBlocked() |
ModeController |
load(java.io.File file)
You may decide to overload this or take the default and implement the
functionality in your MapModel (implements MindMap)
|
ModeController |
load(java.net.URL file)
You may decide to overload this or take the default and implement the
functionality in your MapModel (implements MindMap)
|
void |
loadURL() |
void |
loadURL(java.lang.String relative)
Opens a link in * the opened map * another map * another file.
|
MindMap |
newMap() |
void |
newMap(MindMap mapModel) |
MapAdapter |
newModel(ModeController modeController)
You _must_ implement this if you use one of the following actions:
OpenAction, NewMapAction.
|
abstract MindMapNode |
newNode(java.lang.Object userObject,
MindMap map) |
void |
nodeChanged(MindMapNode node)
Currently, this method is called by the mapAdapter.
|
void |
nodeRefresh(MindMapNode node) |
void |
nodeStructureChanged(MindMapNode node) |
void |
onFocusNode(NodeView node)
Is called when a node is selected.
|
void |
onLostFocusNode(NodeView node)
Is called when a node is deselected.
|
void |
onViewCreatedHook(NodeView node) |
void |
onViewRemovedHook(NodeView node) |
void |
open() |
void |
processUnfinishedLinksInHooks(NodeAdapter node) |
void |
refreshMap() |
void |
refreshMapFrom(MindMapNode node) |
void |
registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener,
boolean pFireCreateEvent)
The onCreateNodeHook is called for every node (depest nodes first) after
registration.
|
void |
registerNodeSelectionListener(ModeController.NodeSelectionListener listener,
boolean pCallWithCurrentSelection) |
protected void |
restoreMapsLastState(ModeController newModeController,
MapAdapter model) |
boolean |
save() |
boolean |
save(java.io.File file)
Return false is the action was cancelled, e.g. when it has to lead to
saving as.
|
boolean |
saveAs()
Save as; return false is the action was cancelled
|
void |
select(MindMapNode primarySelected,
java.util.List selecteds)
Multiple selection.
|
void |
select(NodeView node)
Single selection: the node is the only one selected after calling this
method.
|
void |
selectBranch(NodeView selected,
boolean extend) |
protected void |
setAllActions(boolean enabled)
Overwrite this to set all of your actions which are dependent on whether
there is a map or not.
|
void |
setBlocked(boolean isBlocked) |
void |
setChosenDirectory(java.io.File pDir) |
protected void |
setMode(Mode mode) |
void |
setModel(MapAdapter model)
This method must only be used by the model itself at creation time.
|
void |
setToolTip(MindMapNode node,
java.lang.String key,
java.lang.String value) |
void |
setView(MapView pView) |
void |
setVisible(boolean visible)
This method is used to hide the map "under" another opened map.
|
void |
showPopupMenu(java.awt.event.MouseEvent e) |
void |
shutdownController() |
void |
sortNodesByDepth(java.util.List inPlaceList)
nodes with greater depth occur first.
|
void |
startupController()
This method is called after and before a change of the map module.
|
protected void |
updateMapModuleName() |
protected void |
updateNode(MindMapNode node)
Overwrite this method to perform additional operations to an node update.
|
void |
updatePopupMenu(StructuredMenuHolder holder) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdoubleClick, extendSelection, getHookFactory, getPopupMenu, plainClick, setFolded, updateMenusprotected final freemind.modes.ControllerAdapter.ControllerPopupMenuListener popupListenerSingleton
public ControllerAdapter(Mode mode)
public void setModel(MapAdapter model)
ModeControllersetModel in interface ModeControllerpublic abstract MindMapNode newNode(java.lang.Object userObject, MindMap map)
public abstract XMLElement createXMLElement()
public MapAdapter newModel(ModeController modeController)
modeController - TODOprotected javax.swing.filechooser.FileFilter getFileFilter()
public void nodeChanged(MindMapNode node)
nodeChanged in interface ModeControllerpublic void nodeRefresh(MindMapNode node)
nodeRefresh in interface ModeControllerpublic void refreshMap()
refreshMap in interface ModeControllerpublic void refreshMapFrom(MindMapNode node)
public void nodeStructureChanged(MindMapNode node)
protected void updateNode(MindMapNode node)
public void onLostFocusNode(NodeView node)
ModeControlleronLostFocusNode in interface ModeControllerpublic void onFocusNode(NodeView node)
ModeControlleronFocusNode in interface ModeControllerpublic void changeSelection(NodeView pNode, boolean pIsSelected)
changeSelection in interface ModeControllerModeController.NodeSelectionListenerpublic void onViewCreatedHook(NodeView node)
onViewCreatedHook in interface ModeControllerpublic void onViewRemovedHook(NodeView node)
onViewRemovedHook in interface ModeControllerpublic void registerNodeSelectionListener(ModeController.NodeSelectionListener listener, boolean pCallWithCurrentSelection)
registerNodeSelectionListener in interface ModeControllerpCallWithCurrentSelection - if true, the methods for focused and selected nodes
are called directly with the current selection. Otherwise, the first selection change
would provoke the first call to the given listener.public void deregisterNodeSelectionListener(ModeController.NodeSelectionListener listener)
deregisterNodeSelectionListener in interface ModeControllerpublic void registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener, boolean pFireCreateEvent)
ModeControllerregisterNodeLifetimeListener in interface ModeControllerpFireCreateEvent - TODOpublic void deregisterNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
deregisterNodeLifetimeListener in interface ModeControllerpublic java.util.HashSet getNodeLifetimeListeners()
public void fireNodePreDeleteEvent(MindMapNode node)
ModeControllerfireNodePreDeleteEvent in interface ModeControllerpublic void fireNodePostDeleteEvent(MindMapNode node, MindMapNode parent)
public void fireRecursiveNodeCreateEvent(MindMapNode node)
public void firePreSaveEvent(MindMapNode node)
ModeControllerfirePreSaveEvent in interface ModeControllerpublic java.lang.String getText(java.lang.String textId)
ModeControllergetText in interface TextTranslatorgetText in interface ModeControllerpublic MindMap newMap()
newMap in interface ModeControllerpublic void newMap(MindMap mapModel)
public ModeController load(java.net.URL file) throws java.io.FileNotFoundException, java.io.IOException, XMLParseException, java.net.URISyntaxException
load in interface ModeControllerfile - Nowadays this is an URL to unify the behaviour of the browser
and the other modes.java.io.FileNotFoundExceptionjava.io.IOExceptionXMLParseExceptionjava.net.URISyntaxExceptionpublic ModeController load(java.io.File file) throws java.io.FileNotFoundException, java.io.IOException
load in interface ModeControllerjava.io.FileNotFoundExceptionjava.io.IOExceptionprotected void restoreMapsLastState(ModeController newModeController, MapAdapter model)
public boolean save()
save in interface ModeControllerpublic void loadURL(java.lang.String relative)
ModeControllerloadURL in interface ModeControllerpublic MindMapNode createNodeTreeFromXml(java.io.Reader pReader, java.util.HashMap pIDToTarget) throws XMLParseException, java.io.IOException
ModeControllercreateNodeTreeFromXml in interface ModeControllerXMLParseExceptionjava.io.IOExceptionpublic void invokeHooksRecursively(NodeAdapter node, MindMap map)
public void processUnfinishedLinksInHooks(NodeAdapter node)
public java.util.List getSelecteds()
getSelecteds in interface ModeControllerpublic void select(NodeView node)
ModeControllerselect in interface ModeControllerpublic void select(MindMapNode primarySelected, java.util.List selecteds)
ModeControllerselect in interface ModeControllerpublic void selectBranch(NodeView selected, boolean extend)
selectBranch in interface ModeControllerpublic java.util.List getSelectedsByDepth()
getSelectedsByDepth in interface ModeControllerpublic void sortNodesByDepth(java.util.List inPlaceList)
ModeControllersortNodesByDepth in interface ModeControllerinPlaceList - the given list is sorted by reference.public boolean save(java.io.File file)
save in interface ModeControllerprotected javax.swing.JMenuItem add(javax.swing.JMenu menu,
javax.swing.Action action,
java.lang.String keystroke)
protected javax.swing.JMenuItem add(StructuredMenuHolder holder, java.lang.String category, javax.swing.Action action, java.lang.String keystroke)
keystroke - can be null, if no keystroke should be assigned.protected javax.swing.JMenuItem addCheckBox(StructuredMenuHolder holder, java.lang.String category, javax.swing.Action action, java.lang.String keystroke)
keystroke - can be null, if no keystroke should be assigned.protected javax.swing.JMenuItem addRadioItem(StructuredMenuHolder holder, java.lang.String category, javax.swing.Action action, java.lang.String keystroke, boolean isSelected)
protected void add(javax.swing.JMenu menu,
javax.swing.Action action)
public void open()
open in interface ModeControllerpublic void setChosenDirectory(java.io.File pDir)
setChosenDirectory in interface FreeMindFileDialog.DirectoryResultListenerpublic FreeMindFileDialog getFileChooser(javax.swing.filechooser.FileFilter filter)
getFileChooser in interface ModeControllerpublic FreeMindFileDialog getFileChooser()
public void handleLoadingException(java.lang.Exception ex)
public boolean saveAs()
saveAs in interface ModeControllerpublic boolean close(boolean force,
MapModuleManager mapModuleManager)
close in interface ModeControllerpublic void setVisible(boolean visible)
ModeControllersetVisible in interface ModeControllerprotected void setAllActions(boolean enabled)
public void showPopupMenu(java.awt.event.MouseEvent e)
showPopupMenu in interface ModeControllerpublic javax.swing.JPopupMenu getPopupForModel(java.lang.Object obj)
getPopupForModel in interface ModeControllerpublic java.awt.Component getLeftToolBar()
getLeftToolBar in interface ModeControllerpublic javax.swing.JToolBar getModeToolBar()
getModeToolBar in interface ModeControllerpublic boolean isBlocked()
isBlocked in interface ModeControllerpublic void setBlocked(boolean isBlocked)
public Mode getMode()
getMode in interface ModeControllerprotected void setMode(Mode mode)
public MindMap getMap()
getMap in interface ModeControllerpublic MindMapNode getRootNode()
public java.net.URL getResource(java.lang.String name)
getResource in interface ModeControllerpublic Controller getController()
getController in interface ModeControllerpublic FreeMindMain getFrame()
getFrame in interface ModeControllerpublic ControllerAdapter getModeController()
public MapAdapter getModel()
public MapView getView()
getView in interface ModeControllerpublic void setView(MapView pView)
setView in interface ModeControllerprotected void updateMapModuleName()
public NodeAdapter getNodeFromID(java.lang.String nodeID)
ModeControllergetNodeFromID in interface ModeController{@link - IllegalArgumentException} when node isn't found.public java.lang.String getNodeID(MindMapNode selected)
ModeControllergetNodeID in interface ModeControllerpublic MindMapNode getSelected()
getSelected in interface ModeControllerpublic NodeView getSelectedView()
getSelectedView in interface ModeControllerpublic java.awt.datatransfer.Transferable copy(MindMapNode node, boolean saveInvisible)
copy in interface ModeControllerpublic java.awt.datatransfer.Transferable copy()
copy in interface ModeControllerpublic java.awt.datatransfer.Transferable copySingle()
copySingle in interface ModeControllerpublic java.awt.datatransfer.Transferable copy(java.util.List selectedNodes,
boolean copyInvisible)
copy in interface ModeControllerpublic java.lang.String createForNodesFlavor(java.util.List selectedNodes,
boolean copyInvisible)
throws java.awt.datatransfer.UnsupportedFlavorException,
java.io.IOException
java.awt.datatransfer.UnsupportedFlavorExceptionjava.io.IOExceptionpublic java.util.List createForNodeIdsFlavor(java.util.List selectedNodes,
boolean copyInvisible)
throws java.awt.datatransfer.UnsupportedFlavorException,
java.io.IOException
java.awt.datatransfer.UnsupportedFlavorExceptionjava.io.IOExceptionpublic java.awt.Color getSelectionColor()
getSelectionColor in interface ModeControllerpublic void updatePopupMenu(StructuredMenuHolder holder)
updatePopupMenu in interface ModeControllerpublic void shutdownController()
shutdownController in interface ModeControllerpublic void startupController()
startupController in interface ModeControllerpublic void _setFolded(MindMapNode node, boolean folded)
public java.lang.String getLinkShortText(MindMapNode node)
getLinkShortText in interface ModeControllerpublic void displayNode(MindMapNode node)
ModeControllerdisplayNode in interface ModeControllerpublic void displayNode(MindMapNode node, java.util.ArrayList nodesUnfoldedByDisplay)
public void centerNode(MindMapNode node)
ModeControllercenterNode in interface ModeControllerpublic AttributeController getAttributeController()
getAttributeController in interface ModeControllerpublic NodeView getNodeView(MindMapNode node)
getNodeView in interface ModeControllerpublic void insertNodeInto(MindMapNode newNode, MindMapNode parent, int index)
public void insertNodeInto(MindMapNode newChild, MindMapNode parent)
public void loadURL()
public java.util.Set getRegisteredMouseWheelEventHandler()
public MapModule getMapModule()
getMapModule in interface ModeControllerpublic void setToolTip(MindMapNode node, java.lang.String key, java.lang.String value)
setToolTip in interface ModeControllerkey - key value patterns is used to ensure, that more than one
tooltip can be displayed.value - null if you want to delete this tooltip.