use of org.freeplane.features.map.INodeSelectionListener in project freeplane by freeplane.
the class StyleEditorPanel method addListeners.
private void addListeners() {
final Controller controller = Controller.getCurrentController();
final ModeController modeController = Controller.getCurrentModeController();
final MapController mapController = modeController.getMapController();
mapController.addNodeSelectionListener(new INodeSelectionListener() {
public void onSelect(final NodeModel node) {
final IMapSelection selection = controller.getSelection();
if (selection == null) {
return;
}
if (selection.size() == 1) {
setComponentsEnabled(true);
setStyle(node);
}
}
public void setComponentsEnabled(boolean enabled) {
final Container panel = (Container) getComponent(0);
for (int i = 0; i < panel.getComponentCount(); i++) {
panel.getComponent(i).setEnabled(enabled);
}
}
public void onDeselect(final NodeModel node) {
setComponentsEnabled(false);
}
});
mapController.addNodeChangeListener(new INodeChangeListener() {
public void nodeChanged(final NodeChangeEvent event) {
final IMapSelection selection = controller.getSelection();
if (selection == null) {
return;
}
final NodeModel node = event.getNode();
if (selection.getSelected().equals(node)) {
setStyle(node);
}
}
});
mapController.addMapChangeListener(new AMapChangeListenerAdapter() {
@Override
public void mapChanged(MapChangeEvent event) {
if (!MapStyle.MAP_STYLES.equals(event.getProperty()))
return;
final IMapSelection selection = controller.getSelection();
if (selection == null) {
return;
}
final NodeModel node = selection.getSelected();
setStyle(node);
}
});
}
use of org.freeplane.features.map.INodeSelectionListener in project freeplane by freeplane.
the class TimeManagement method showDialog.
void showDialog() {
if (TimeManagement.sCurrentlyOpenTimeManagement != null) {
TimeManagement.sCurrentlyOpenTimeManagement.dialog.getContentPane().setVisible(true);
return;
}
TimeManagement.sCurrentlyOpenTimeManagement = this;
dialog = new JDialog(UITools.getCurrentFrame(), false);
final JTimePanel timePanel = createTimePanel(dialog, true, 4);
nodeSelectionListener = new INodeSelectionListener() {
public void onSelect(NodeModel node) {
timePanel.update(node);
}
public void onDeselect(NodeModel node) {
}
};
getMindMapController().getMapController().addNodeSelectionListener(nodeSelectionListener);
nodeChangeListener = new INodeChangeListener() {
public void nodeChanged(NodeChangeEvent event) {
final NodeModel node = event.getNode();
if (event.getProperty().equals(ReminderExtension.class) && node.equals(getMindMapController().getMapController().getSelectedNode()))
timePanel.update(node);
}
};
getMindMapController().getMapController().addNodeChangeListener(nodeChangeListener);
dialog.setTitle(getResourceString("plugins/TimeManagement.xml_WindowTitle"));
dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
dialog.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent event) {
disposeDialog();
}
});
final Action action = new AbstractAction() {
/**
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(final ActionEvent arg0) {
disposeDialog();
}
};
UITools.addEscapeActionToDialog(dialog, action);
dialog.setContentPane(timePanel);
dialog.pack();
UITools.setBounds(dialog, -1, -1, dialog.getWidth(), dialog.getHeight());
dialog.setVisible(true);
}
Aggregations