public abstract class ControllerAdapter extends java.lang.Object implements ModeController
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.
|
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.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() |
protected javax.swing.JFileChooser |
getFileChooser() |
javax.swing.JFileChooser |
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.io.File |
getLastCurrentDir()
If other places want to save/load something, this should be the default path.
|
java.awt.Component |
getLeftToolBar()
Overwrite this, if you have one.
|
java.lang.String |
getLinkShortText(MindMapNode node) |
MindMap |
getMap() |
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 |
onDeselectHook(NodeView node)
Is called when a node is deselected.
|
void |
onSelectHook(NodeView node)
Is called when a node is selected.
|
void |
onViewCreatedHook(NodeView node) |
void |
onViewRemovedHook(NodeView node) |
void |
open() |
void |
refreshMap() |
void |
refreshMapFrom(MindMapNode node) |
void |
registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
The onCreateNodeHook is called for every node (depest nodes first) after registration.
|
void |
registerNodeSelectionListener(ModeController.NodeSelectionListener listener) |
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(NodeView node)
Single selection: the node is the only one selected after calling this method.
|
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 |
setLastCurrentDir(java.io.File pLastCurrentDir)
If some load/save operation has changed the path, it should be mentioned here.
|
protected void |
setMode(Mode mode) |
void |
setModel(MapAdapter model)
This method must only be used by the model itself at creation time.
|
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, wait
doubleClick, extendSelection, getHookFactory, getPopupMenu, plainClick, setFolded, updateMenus
protected final freemind.modes.ControllerAdapter.ControllerPopupMenuListener popupListenerSingleton
public ControllerAdapter(Mode mode)
public void setModel(MapAdapter model)
ModeController
setModel
in interface ModeController
public 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 ModeController
public void nodeRefresh(MindMapNode node)
nodeRefresh
in interface ModeController
public void refreshMap()
refreshMap
in interface ModeController
public void refreshMapFrom(MindMapNode node)
public void nodeStructureChanged(MindMapNode node)
protected void updateNode(MindMapNode node)
public void onSelectHook(NodeView node)
ModeController
onSelectHook
in interface ModeController
public void onDeselectHook(NodeView node)
ModeController
onDeselectHook
in interface ModeController
public void onViewCreatedHook(NodeView node)
onViewCreatedHook
in interface ModeController
public void onViewRemovedHook(NodeView node)
onViewRemovedHook
in interface ModeController
public void registerNodeSelectionListener(ModeController.NodeSelectionListener listener)
registerNodeSelectionListener
in interface ModeController
public void deregisterNodeSelectionListener(ModeController.NodeSelectionListener listener)
deregisterNodeSelectionListener
in interface ModeController
public void registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
ModeController
registerNodeLifetimeListener
in interface ModeController
public void deregisterNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
deregisterNodeLifetimeListener
in interface ModeController
public java.util.HashSet getNodeLifetimeListeners()
public void fireNodePreDeleteEvent(MindMapNode node)
ModeController
fireNodePreDeleteEvent
in interface ModeController
public void fireNodePostDeleteEvent(MindMapNode node, MindMapNode parent)
public void fireRecursiveNodeCreateEvent(MindMapNode node)
public void firePreSaveEvent(MindMapNode node)
ModeController
firePreSaveEvent
in interface ModeController
public java.lang.String getText(java.lang.String textId)
ModeController
getText
in interface TextTranslator
getText
in interface ModeController
public MindMap newMap()
newMap
in interface ModeController
public 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 ModeController
file
- Nowadays this is an URL to unify the behaviour of the browser and the other modes.java.io.FileNotFoundException
java.io.IOException
XMLParseException
java.net.URISyntaxException
public ModeController load(java.io.File file) throws java.io.FileNotFoundException, java.io.IOException
load
in interface ModeController
java.io.FileNotFoundException
java.io.IOException
public boolean save()
save
in interface ModeController
public void loadURL(java.lang.String relative)
ModeController
loadURL
in interface ModeController
public MindMapNode createNodeTreeFromXml(java.io.Reader pReader, java.util.HashMap pIDToTarget) throws XMLParseException, java.io.IOException
ModeController
createNodeTreeFromXml
in interface ModeController
XMLParseException
java.io.IOException
public void invokeHooksRecursively(NodeAdapter node, MindMap map)
public java.util.List getSelecteds()
getSelecteds
in interface ModeController
public void select(NodeView node)
ModeController
select
in interface ModeController
public java.util.List getSelectedsByDepth()
getSelectedsByDepth
in interface ModeController
public void sortNodesByDepth(java.util.List inPlaceList)
ModeController
sortNodesByDepth
in interface ModeController
inPlaceList
- the given list is sorted by reference.public boolean save(java.io.File file)
save
in interface ModeController
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)
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 ModeController
public javax.swing.JFileChooser getFileChooser(javax.swing.filechooser.FileFilter filter)
getFileChooser
in interface ModeController
protected javax.swing.JFileChooser getFileChooser()
public void handleLoadingException(java.lang.Exception ex)
public boolean saveAs()
saveAs
in interface ModeController
public boolean close(boolean force, MapModuleManager mapModuleManager)
close
in interface ModeController
public void setVisible(boolean visible)
ModeController
setVisible
in interface ModeController
protected void setAllActions(boolean enabled)
public void showPopupMenu(java.awt.event.MouseEvent e)
showPopupMenu
in interface ModeController
public javax.swing.JPopupMenu getPopupForModel(java.lang.Object obj)
getPopupForModel
in interface ModeController
public java.awt.Component getLeftToolBar()
getLeftToolBar
in interface ModeController
public javax.swing.JToolBar getModeToolBar()
getModeToolBar
in interface ModeController
public boolean isBlocked()
isBlocked
in interface ModeController
public void setBlocked(boolean isBlocked)
public Mode getMode()
getMode
in interface ModeController
protected void setMode(Mode mode)
public MindMap getMap()
getMap
in interface ModeController
public MindMapNode getRootNode()
public java.net.URL getResource(java.lang.String name)
getResource
in interface ModeController
public Controller getController()
getController
in interface ModeController
public FreeMindMain getFrame()
getFrame
in interface ModeController
public ControllerAdapter getModeController()
public MapAdapter getModel()
public MapView getView()
getView
in interface ModeController
protected void updateMapModuleName()
public NodeAdapter getNodeFromID(java.lang.String nodeID)
ModeController
getNodeFromID
in interface ModeController
public java.lang.String getNodeID(MindMapNode selected)
ModeController
getNodeID
in interface ModeController
public MindMapNode getSelected()
getSelected
in interface ModeController
public NodeView getSelectedView()
getSelectedView
in interface ModeController
public java.awt.datatransfer.Transferable copy(MindMapNode node, boolean saveInvisible)
copy
in interface ModeController
public java.awt.datatransfer.Transferable copy()
copy
in interface ModeController
public java.awt.datatransfer.Transferable copySingle()
copySingle
in interface ModeController
public java.awt.datatransfer.Transferable copy(java.util.List selectedNodes, boolean copyInvisible)
copy
in interface ModeController
public java.lang.String createForNodesFlavor(java.util.List selectedNodes, boolean copyInvisible) throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
java.awt.datatransfer.UnsupportedFlavorException
java.io.IOException
public java.awt.Color getSelectionColor()
getSelectionColor
in interface ModeController
public void updatePopupMenu(StructuredMenuHolder holder)
updatePopupMenu
in interface ModeController
public void shutdownController()
shutdownController
in interface ModeController
public void startupController()
startupController
in interface ModeController
public void _setFolded(MindMapNode node, boolean folded)
public java.lang.String getLinkShortText(MindMapNode node)
getLinkShortText
in interface ModeController
public void displayNode(MindMapNode node)
ModeController
displayNode
in interface ModeController
public void displayNode(MindMapNode node, java.util.ArrayList nodesUnfoldedByDisplay)
public void centerNode(MindMapNode node)
ModeController
centerNode
in interface ModeController
public java.io.File getLastCurrentDir()
ModeController
getLastCurrentDir
in interface ModeController
public void setLastCurrentDir(java.io.File pLastCurrentDir)
ModeController
setLastCurrentDir
in interface ModeController
public AttributeController getAttributeController()
getAttributeController
in interface ModeController
public NodeView getNodeView(MindMapNode node)
getNodeView
in interface ModeController
public void insertNodeInto(MindMapNode newNode, MindMapNode parent, int index)
public void insertNodeInto(MindMapNode newChild, MindMapNode parent)
public void loadURL()
public java.util.Set getRegisteredMouseWheelEventHandler()