Search in sources :

Example 1 with IconRegistry

use of org.freeplane.features.icon.IconRegistry in project freeplane by freeplane.

the class IconSelectionPlugin method actionPerformed.

public void actionPerformed(final ActionEvent e) {
    final ModeController modeController = Controller.getCurrentModeController();
    ArrayList<IIconInformation> actions = new ArrayList<IIconInformation>();
    final Controller controller = Controller.getCurrentController();
    final MapModel map = controller.getMap();
    final IconRegistry iconRegistry = map.getIconRegistry();
    final ListModel usedIcons = iconRegistry.getIconsAsListModel();
    for (int i = 0; i < usedIcons.getSize(); i++) {
        final Object icon = usedIcons.getElementAt(i);
        if (icon instanceof MindIcon) {
            actions.add(new IconAction((MindIcon) icon));
        }
    }
    final MIconController mIconController = (MIconController) IconController.getController();
    for (AFreeplaneAction aFreeplaneAction : mIconController.getIconActions()) actions.add((IIconInformation) aFreeplaneAction);
    actions.add((IIconInformation) modeController.getAction("RemoveIcon_0_Action"));
    actions.add((IIconInformation) modeController.getAction("RemoveIconAction"));
    actions.add((IIconInformation) modeController.getAction("RemoveAllIconsAction"));
    final ViewController viewController = controller.getViewController();
    final IconSelectionPopupDialog selectionDialog = new IconSelectionPopupDialog(viewController.getJFrame(), actions);
    final NodeModel selected = controller.getSelection().getSelected();
    controller.getMapViewManager().scrollNodeToVisible(selected);
    selectionDialog.pack();
    UITools.setDialogLocationRelativeTo(selectionDialog, selected);
    selectionDialog.setModal(true);
    selectionDialog.show();
    final int result = selectionDialog.getResult();
    if (result >= 0) {
        final Action action = (Action) actions.get(result);
        action.actionPerformed(new ActionEvent(action, 0, NodeModel.NODE_ICON, selectionDialog.getModifiers()));
    }
}
Also used : Action(javax.swing.Action) AFreeplaneAction(org.freeplane.core.ui.AFreeplaneAction) ActionEvent(java.awt.event.ActionEvent) ArrayList(java.util.ArrayList) MindIcon(org.freeplane.features.icon.MindIcon) ModeController(org.freeplane.features.mode.ModeController) MapModel(org.freeplane.features.map.MapModel) IconSelectionPopupDialog(org.freeplane.core.ui.components.IconSelectionPopupDialog) IconController(org.freeplane.features.icon.IconController) Controller(org.freeplane.features.mode.Controller) ModeController(org.freeplane.features.mode.ModeController) ViewController(org.freeplane.features.ui.ViewController) AFreeplaneAction(org.freeplane.core.ui.AFreeplaneAction) NodeModel(org.freeplane.features.map.NodeModel) ViewController(org.freeplane.features.ui.ViewController) ListModel(javax.swing.ListModel) IIconInformation(org.freeplane.features.icon.IIconInformation) IconRegistry(org.freeplane.features.icon.IconRegistry)

Aggregations

ActionEvent (java.awt.event.ActionEvent)1 ArrayList (java.util.ArrayList)1 Action (javax.swing.Action)1 ListModel (javax.swing.ListModel)1 AFreeplaneAction (org.freeplane.core.ui.AFreeplaneAction)1 IconSelectionPopupDialog (org.freeplane.core.ui.components.IconSelectionPopupDialog)1 IIconInformation (org.freeplane.features.icon.IIconInformation)1 IconController (org.freeplane.features.icon.IconController)1 IconRegistry (org.freeplane.features.icon.IconRegistry)1 MindIcon (org.freeplane.features.icon.MindIcon)1 MapModel (org.freeplane.features.map.MapModel)1 NodeModel (org.freeplane.features.map.NodeModel)1 Controller (org.freeplane.features.mode.Controller)1 ModeController (org.freeplane.features.mode.ModeController)1 ViewController (org.freeplane.features.ui.ViewController)1