|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectfreemind.modes.ControllerAdapter
public abstract class ControllerAdapter
Derive from this class to implement the Controller for your mode. Overload the methods you need for your data model, or use the defaults. There are some default Actions you may want to use for easy editing of your model. Take MindMapController as a sample.
| Nested Class Summary | |
|---|---|
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
|
| Nested classes/interfaces inherited from interface freemind.modes.ModeController |
|---|
ModeController.NodeLifetimeListener, ModeController.NodeSelectionListener |
| Field Summary | |
|---|---|
protected freemind.modes.ControllerAdapter.ControllerPopupMenuListener |
popupListenerSingleton
Take care! |
| Fields inherited from interface freemind.modes.ModeController |
|---|
NODESEPARATOR |
| Constructor Summary | |
|---|---|
ControllerAdapter(Mode mode)
Instanciation order: first me and then the model. |
|
| Method Summary | |
|---|---|
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)
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.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)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface freemind.modes.ModeController |
|---|
doubleClick, extendSelection, getHookFactory, getPopupMenu, plainClick, setFolded, updateMenus |
| Field Detail |
|---|
protected final freemind.modes.ControllerAdapter.ControllerPopupMenuListener popupListenerSingleton
| Constructor Detail |
|---|
public ControllerAdapter(Mode mode)
| Method Detail |
|---|
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 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)
ModeController
onSelectHook in interface ModeControllerpublic void onDeselectHook(NodeView node)
ModeController
onDeselectHook 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)
ModeController
registerNodeLifetimeListener in interface ModeControllerpublic void deregisterNodeLifetimeListener(ModeController.NodeLifetimeListener listener)
deregisterNodeLifetimeListener in interface ModeControllerpublic 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 ModeControllerpublic java.lang.String getText(java.lang.String textId)
ModeController
getText 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.FileNotFoundException
java.io.IOException
XMLParseException
java.net.URISyntaxExceptionpublic boolean save()
save in interface ModeControllerpublic void loadURL(java.lang.String relative)
ModeController
loadURL in interface ModeController
public MindMapNode createNodeTreeFromXml(java.io.Reader pReader)
throws XMLParseException,
java.io.IOException
ModeController
createNodeTreeFromXml in interface ModeControllerXMLParseException
java.io.IOException
public void invokeHooksRecursively(NodeAdapter node,
MindMap map)
public java.util.List getSelecteds()
getSelecteds in interface ModeControllerpublic void select(NodeView node)
ModeController
select in interface ModeControllerpublic java.util.List getSelectedsByDepth()
getSelectedsByDepth in interface ModeControllerpublic void sortNodesByDepth(java.util.List inPlaceList)
ModeController
sortNodesByDepth in interface ModeControllerinPlaceList - 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 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 ModeController
public boolean close(boolean force,
MapModuleManager mapModuleManager)
close in interface ModeControllerpublic void setVisible(boolean visible)
ModeController
setVisible 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)
ModeController
getNodeFromID in interface ModeControllerpublic java.lang.String getNodeID(MindMapNode selected)
ModeController
getNodeID in interface ModeControllerpublic MindMapNode getSelected()
getSelected in interface ModeControllerpublic NodeView getSelectedView()
getSelectedView in interface ModeController
public 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 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.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 ModeController
public void _setFolded(MindMapNode node,
boolean folded)
public java.lang.String getLinkShortText(MindMapNode node)
getLinkShortText in interface ModeControllerpublic 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 ModeControllerpublic java.io.File getLastCurrentDir()
ModeController
getLastCurrentDir in interface ModeControllerpublic void setLastCurrentDir(java.io.File pLastCurrentDir)
ModeController
setLastCurrentDir in interface ModeControllerpublic AttributeController getAttributeController()
getAttributeController in interface ModeControllerpublic 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()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||