use of org.freeplane.plugin.workspace.event.IWorkspaceNodeActionListener in project freeplane by freeplane.
the class ProjectModel method valueForPathChanged.
public void valueForPathChanged(TreePath path, Object newValue) {
AWorkspaceTreeNode node = (AWorkspaceTreeNode) path.getLastPathComponent();
if (node instanceof IWorkspaceNodeActionListener) {
((IWorkspaceNodeActionListener) node).handleAction(new WorkspaceActionEvent(node, WorkspaceActionEvent.WSNODE_CHANGED, newValue));
nodeChanged(node);
} else {
node.setName(newValue.toString());
}
}
use of org.freeplane.plugin.workspace.event.IWorkspaceNodeActionListener in project freeplane by freeplane.
the class WorkspaceModel method valueForPathChanged.
public void valueForPathChanged(TreePath path, Object newValue) {
if (path == null || getRoot().equals(path.getLastPathComponent())) {
return;
}
AWorkspaceTreeNode node = (AWorkspaceTreeNode) path.getLastPathComponent();
if (node instanceof IWorkspaceNodeActionListener) {
((IWorkspaceNodeActionListener) node).handleAction(new WorkspaceActionEvent(node, WorkspaceActionEvent.WSNODE_CHANGED, newValue));
((ProjectModel) node.getModel()).nodeChanged(node);
} else {
node.setName(newValue.toString());
}
}
use of org.freeplane.plugin.workspace.event.IWorkspaceNodeActionListener in project freeplane by freeplane.
the class InputController method mouseClicked.
/**
*********************************************************************************
* REQUIRED METHODS FOR INTERFACES
*********************************************************************************
*/
public void mouseClicked(MouseEvent e) {
if (e.isConsumed()) {
return;
}
TreePath path = ((JTree) e.getSource()).getClosestPathForLocation(e.getX(), e.getY());
((TreeView) WorkspaceController.getCurrentModeExtension().getView()).addSelectionPath(path);
if (path != null) {
AWorkspaceTreeNode node = (AWorkspaceTreeNode) path.getLastPathComponent();
// encode buttons
int eventType = 0;
if (e.getButton() == MouseEvent.BUTTON1) {
eventType += WorkspaceActionEvent.MOUSE_LEFT;
}
if (e.getButton() == MouseEvent.BUTTON3) {
eventType += WorkspaceActionEvent.MOUSE_RIGHT;
}
if (e.getClickCount() % 2 == 0) {
eventType += WorkspaceActionEvent.MOUSE_DBLCLICK;
} else {
eventType += WorkspaceActionEvent.MOUSE_CLICK;
}
if (e.isPopupTrigger()) {
eventType += WorkspaceActionEvent.POPUP_TRIGGER;
}
WorkspaceActionEvent event = new WorkspaceActionEvent(node, eventType, e.getX(), e.getY(), e.getComponent());
List<IWorkspaceNodeActionListener> nodeEventListeners = WorkspaceController.getCurrentModeExtension().getIOController().getNodeActionListeners(node.getClass(), eventType);
if (nodeEventListeners != null) {
for (IWorkspaceNodeActionListener listener : nodeEventListeners) {
if (event.isConsumed()) {
break;
}
listener.handleAction(event);
}
}
if (!event.isConsumed() && node instanceof IWorkspaceNodeActionListener) {
((IWorkspaceNodeActionListener) node).handleAction(event);
}
} else {
if (e.getButton() == MouseEvent.BUTTON3) {
// WorkspaceController.getController().getPopups().showWorkspacePopup(e.getComponent(), e.getX(), e.getY());
((AWorkspaceTreeNode) WorkspaceController.getCurrentModel().getRoot()).showPopup(e.getComponent(), e.getX(), e.getY());
}
}
}
use of org.freeplane.plugin.workspace.event.IWorkspaceNodeActionListener in project freeplane by freeplane.
the class InputController method keyPressed.
public void keyPressed(KeyEvent e) {
KeyStroke currentStroke = KeyStroke.getKeyStrokeForEvent(e);
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
TreePath path = ((JTree) e.getSource()).getSelectionPath();
if (path == null) {
return;
}
AWorkspaceTreeNode node = (AWorkspaceTreeNode) path.getLastPathComponent();
if (node instanceof IWorkspaceNodeActionListener) {
((IWorkspaceNodeActionListener) node).handleAction(new WorkspaceActionEvent(node, WorkspaceActionEvent.WSNODE_OPEN_DOCUMENT, 0, 0, e.getComponent()));
e.consume();
}
} else {
for (HotKeyIdentifier id : actionKeyMap.keySet()) {
if (currentStroke.equals(id.getKeyStroke())) {
if (id.accept(e)) {
AFreeplaneAction action = WorkspaceController.getAction(actionKeyMap.get(id));
if (action != null) {
action.actionPerformed(new ActionEvent(e.getSource(), 0, null));
} else {
LogUtils.info("No action set for: " + id.getKeyStroke());
}
}
e.consume();
break;
}
}
}
}
Aggregations