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, 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 onSelectHook(NodeView node)
ModeControlleronSelectHook in interface ModeControllerpublic void onDeselectHook(NodeView node)
ModeControlleronDeselectHook in interface ModeControllerpublic void onViewCreatedHook(NodeView node)
onViewCreatedHook in interface ModeControllerpublic void onViewRemovedHook(NodeView node)
onViewRemovedHook in interface ModeControllerpublic void registerNodeSelectionListener(ModeController.NodeSelectionListener listener)
registerNodeSelectionListener in interface ModeControllerpublic void deregisterNodeSelectionListener(ModeController.NodeSelectionListener listener)
deregisterNodeSelectionListener in interface ModeControllerpublic void registerNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
ModeControllerregisterNodeLifetimeListener in interface ModeControllerpublic 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.IOExceptionpublic 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 java.util.List getSelecteds()
getSelecteds in interface ModeControllerpublic void select(NodeView node)
ModeControllerselect 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 javax.swing.JFileChooser getFileChooser(javax.swing.filechooser.FileFilter filter)
getFileChooser in interface ModeControllerprotected javax.swing.JFileChooser 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 ModeControllerprotected void updateMapModuleName()
public NodeAdapter getNodeFromID(java.lang.String nodeID)
ModeControllergetNodeFromID in interface ModeControllerpublic 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.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 java.io.File getLastCurrentDir()
ModeControllergetLastCurrentDir in interface ModeControllerpublic void setLastCurrentDir(java.io.File pLastCurrentDir)
ModeControllersetLastCurrentDir 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()