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, 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 onLostFocusNode(NodeView node)
ModeController
onLostFocusNode
in interface ModeController
public void onFocusNode(NodeView node)
ModeController
onFocusNode
in interface ModeController
public void changeSelection(NodeView pNode, boolean pIsSelected)
changeSelection
in interface ModeController
ModeController.NodeSelectionListener
public void onViewCreatedHook(NodeView node)
onViewCreatedHook
in interface ModeController
public void onViewRemovedHook(NodeView node)
onViewRemovedHook
in interface ModeController
public void registerNodeSelectionListener(ModeController.NodeSelectionListener listener, boolean pCallWithCurrentSelection)
registerNodeSelectionListener
in interface ModeController
pCallWithCurrentSelection
- 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 ModeController
public void registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener, boolean pFireCreateEvent)
ModeController
registerNodeLifetimeListener
in interface ModeController
pFireCreateEvent
- TODOpublic 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
protected void restoreMapsLastState(ModeController newModeController, MapAdapter model)
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 void processUnfinishedLinksInHooks(NodeAdapter node)
public java.util.List getSelecteds()
getSelecteds
in interface ModeController
public void select(NodeView node)
ModeController
select
in interface ModeController
public void select(MindMapNode primarySelected, java.util.List selecteds)
ModeController
select
in interface ModeController
public void selectBranch(NodeView selected, boolean extend)
selectBranch
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 void setChosenDirectory(java.io.File pDir)
setChosenDirectory
in interface FreeMindFileDialog.DirectoryResultListener
public FreeMindFileDialog getFileChooser(javax.swing.filechooser.FileFilter filter)
getFileChooser
in interface ModeController
public FreeMindFileDialog 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
public void setView(MapView pView)
setView
in interface ModeController
protected void updateMapModuleName()
public NodeAdapter getNodeFromID(java.lang.String nodeID)
ModeController
getNodeFromID
in interface ModeController
{@link
- IllegalArgumentException} when node isn't found.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.util.List createForNodeIdsFlavor(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 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()
public MapModule getMapModule()
getMapModule
in interface ModeController
public void setToolTip(MindMapNode node, java.lang.String key, java.lang.String value)
setToolTip
in interface ModeController
key
- key value patterns is used to ensure, that more than one
tooltip can be displayed.value
- null if you want to delete this tooltip.