Search in sources :

Example 1 with AutomaticLayout

use of org.freeplane.features.styles.AutomaticLayout in project freeplane by freeplane.

the class StyleControlGroup method addStyleControls.

private void addStyleControls(final DefaultFormBuilder formBuilder) {
    TranslatedObject[] automaticLayoutTypes = TranslatedObject.fromEnum(AutomaticLayout.class);
    mAutomaticLayoutComboBox = new JComboBoxWithBorder(automaticLayoutTypes);
    DefaultComboBoxModel automaticLayoutComboBoxModel = (DefaultComboBoxModel) mAutomaticLayoutComboBox.getModel();
    automaticLayoutComboBoxModel.addElement(AUTOMATIC_LAYOUT_DISABLED);
    automaticLayoutComboBoxModel.setSelectedItem(AUTOMATIC_LAYOUT_DISABLED);
    mAutomaticLayoutComboBox.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (internalChange)
                return;
            final ModeController modeController = Controller.getCurrentModeController();
            AutomaticLayoutController al = modeController.getExtension(AutomaticLayoutController.class);
            TranslatedObject selectedItem = (TranslatedObject) mAutomaticLayoutComboBox.getSelectedItem();
            al.undoableDeactivateHook(Controller.getCurrentController().getMap().getRootNode());
            if (!selectedItem.equals(AUTOMATIC_LAYOUT_DISABLED)) {
                al.undoableActivateHook(Controller.getCurrentController().getMap().getRootNode(), (AutomaticLayout) selectedItem.getObject());
            }
        }
    });
    appendLabeledComponent(formBuilder, "AutomaticLayoutAction.text", mAutomaticLayoutComboBox);
}
Also used : AutomaticLayoutController(org.freeplane.features.styles.AutomaticLayoutController) ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) AutomaticLayout(org.freeplane.features.styles.AutomaticLayout) TranslatedObject(org.freeplane.core.resources.TranslatedObject) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ModeController(org.freeplane.features.mode.ModeController) JComboBoxWithBorder(org.freeplane.core.ui.components.JComboBoxWithBorder)

Example 2 with AutomaticLayout

use of org.freeplane.features.styles.AutomaticLayout in project freeplane by freeplane.

the class StyleControlGroup method setStyle.

@Override
public void setStyle(NodeModel node) {
    internalChange = true;
    try {
        final LogicalStyleController logicalStyleController = LogicalStyleController.getController();
        if (addStyleBox) {
            final boolean isStyleSet = LogicalStyleModel.getStyle(node) != null;
            mSetStyle.setValue(isStyleSet);
            setStyleList(mMapStyleButton, logicalStyleController.getMapStyleNames(node, "\n"));
        }
        setStyleList(mNodeStyleButton, logicalStyleController.getNodeStyleNames(node, "\n"));
        if (mAutomaticLayoutComboBox != null) {
            final ModeController modeController = Controller.getCurrentModeController();
            AutomaticLayoutController al = modeController.getExtension(AutomaticLayoutController.class);
            IExtension extension = al.getExtension(node);
            if (extension == null)
                mAutomaticLayoutComboBox.setSelectedItem(AUTOMATIC_LAYOUT_DISABLED);
            else
                mAutomaticLayoutComboBox.setSelectedIndex(((AutomaticLayout) extension).ordinal());
        }
        if (mAutomaticEdgeColorComboBox != null) {
            final ModeController modeController = Controller.getCurrentModeController();
            AutomaticEdgeColorHook al = (AutomaticEdgeColorHook) modeController.getExtension(AutomaticEdgeColorHook.class);
            final AutomaticEdgeColor extension = (AutomaticEdgeColor) al.getExtension(node);
            if (extension == null) {
                mAutomaticEdgeColorComboBox.setSelectedItem(AUTOMATIC_LAYOUT_DISABLED);
                mEditEdgeColorsBtn.setEnabled(false);
            } else {
                mAutomaticEdgeColorComboBox.setSelectedIndex(extension.rule.ordinal());
                mEditEdgeColorsBtn.setEnabled(true);
            }
        }
    } finally {
        internalChange = false;
    }
}
Also used : AutomaticLayoutController(org.freeplane.features.styles.AutomaticLayoutController) AutomaticEdgeColorHook(org.freeplane.features.edge.AutomaticEdgeColorHook) IExtension(org.freeplane.core.extension.IExtension) AutomaticLayout(org.freeplane.features.styles.AutomaticLayout) MLogicalStyleController(org.freeplane.features.styles.mindmapmode.MLogicalStyleController) LogicalStyleController(org.freeplane.features.styles.LogicalStyleController) ModeController(org.freeplane.features.mode.ModeController) AutomaticEdgeColor(org.freeplane.features.edge.AutomaticEdgeColor)

Example 3 with AutomaticLayout

use of org.freeplane.features.styles.AutomaticLayout in project freeplane by freeplane.

the class StyleEditorPanel method addAutomaticLayout.

private void addAutomaticLayout(final DefaultFormBuilder rightBuilder) {
    {
        if (mAutomaticLayoutComboBox == null) {
            NamedObject[] automaticLayoutTypes = NamedObject.fromEnum(AutomaticLayout.class);
            mAutomaticLayoutComboBox = new JComboBox(automaticLayoutTypes);
            DefaultComboBoxModel automaticLayoutComboBoxModel = (DefaultComboBoxModel) mAutomaticLayoutComboBox.getModel();
            automaticLayoutComboBoxModel.addElement(AUTOMATIC_LAYOUT_DISABLED);
            automaticLayoutComboBoxModel.setSelectedItem(AUTOMATIC_LAYOUT_DISABLED);
            mAutomaticLayoutComboBox.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if (internalChange)
                        return;
                    final ModeController modeController = Controller.getCurrentModeController();
                    AutomaticLayoutController al = modeController.getExtension(AutomaticLayoutController.class);
                    NamedObject selectedItem = (NamedObject) mAutomaticLayoutComboBox.getSelectedItem();
                    al.undoableDeactivateHook(Controller.getCurrentController().getMap().getRootNode());
                    if (!selectedItem.equals(AUTOMATIC_LAYOUT_DISABLED)) {
                        al.undoableActivateHook(Controller.getCurrentController().getMap().getRootNode(), (AutomaticLayout) selectedItem.getObject());
                    }
                }
            });
        }
        final String label = TextUtils.getText("AutomaticLayoutAction.text");
        rightBuilder.append(new JLabel(label), 5);
        rightBuilder.append(mAutomaticLayoutComboBox);
        rightBuilder.nextLine();
    }
    {
        if (mAutomaticEdgeColorCheckBox == null) {
            mAutomaticEdgeColorCheckBox = new JCheckBox();
            mAutomaticEdgeColorCheckBox.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    final ModeController modeController = Controller.getCurrentModeController();
                    AutomaticEdgeColorHook al = (AutomaticEdgeColorHook) modeController.getExtension(AutomaticEdgeColorHook.class);
                    al.undoableToggleHook(Controller.getCurrentController().getMap().getRootNode());
                }
            });
        }
        final String label = TextUtils.getText("AutomaticEdgeColorHookAction.text");
        rightBuilder.append(new JLabel(label), 5);
        rightBuilder.append(mAutomaticEdgeColorCheckBox);
        rightBuilder.nextLine();
    }
}
Also used : JCheckBox(javax.swing.JCheckBox) AutomaticLayoutController(org.freeplane.features.styles.AutomaticLayoutController) JComboBox(javax.swing.JComboBox) ActionListener(java.awt.event.ActionListener) AutomaticEdgeColorHook(org.freeplane.features.edge.mindmapmode.AutomaticEdgeColorHook) AutomaticLayout(org.freeplane.features.styles.AutomaticLayout) ActionEvent(java.awt.event.ActionEvent) NamedObject(org.freeplane.core.resources.NamedObject) JLabel(javax.swing.JLabel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ModeController(org.freeplane.features.mode.ModeController)

Example 4 with AutomaticLayout

use of org.freeplane.features.styles.AutomaticLayout in project freeplane by freeplane.

the class StyleEditorPanel method setStyle.

public void setStyle(final NodeModel node) {
    if (internalChange) {
        return;
    }
    internalChange = true;
    try {
        final LogicalStyleController logicalStyleController = LogicalStyleController.getController();
        if (addStyleBox) {
            final boolean isStyleSet = LogicalStyleModel.getStyle(node) != null;
            mSetStyle.setValue(isStyleSet);
            setStyleList(mMapStyleButton, logicalStyleController.getMapStyleNames(node, "\n"));
        }
        setStyleList(mNodeStyleButton, logicalStyleController.getNodeStyleNames(node, "\n"));
        final NodeStyleController styleController = NodeStyleController.getController();
        {
            final Color nodeColor = NodeStyleModel.getColor(node);
            final Color viewNodeColor = styleController.getColor(node);
            mSetNodeColor.setValue(nodeColor != null);
            mNodeColor.setColorValue(viewNodeColor);
        }
        {
            final Color color = NodeStyleModel.getBackgroundColor(node);
            final Color viewColor = styleController.getBackgroundColor(node);
            mSetNodeBackgroundColor.setValue(color != null);
            mNodeBackgroundColor.setColorValue(viewColor != null ? viewColor : Controller.getCurrentController().getMapViewManager().getBackgroundColor(node));
        }
        {
            final String shape = NodeStyleModel.getShape(node);
            final String viewShape = styleController.getShape(node);
            mSetNodeShape.setValue(shape != null);
            mNodeShape.setValue(viewShape);
        }
        final NodeSizeModel nodeSizeModel = NodeSizeModel.getModel(node);
        {
            final int width = nodeSizeModel != null ? nodeSizeModel.getMaxNodeWidth() : NodeSizeModel.NOT_SET;
            final int viewWidth = styleController.getMaxWidth(node);
            mSetMaxNodeWidth.setValue(width != NodeSizeModel.NOT_SET);
            mMaxNodeWidth.setValue(Integer.toString(viewWidth));
        }
        {
            final int width = nodeSizeModel != null ? nodeSizeModel.getMinNodeWidth() : NodeSizeModel.NOT_SET;
            final int viewWidth = styleController.getMinWidth(node);
            mSetMinNodeWidth.setValue(width != NodeSizeModel.NOT_SET);
            mMinNodeWidth.setValue(Integer.toString(viewWidth));
        }
        final EdgeController edgeController = EdgeController.getController();
        final EdgeModel edgeModel = EdgeModel.getModel(node);
        {
            final Color edgeColor = edgeModel != null ? edgeModel.getColor() : null;
            final Color viewColor = edgeController.getColor(node);
            mSetEdgeColor.setValue(edgeColor != null);
            mEdgeColor.setColorValue(viewColor);
        }
        {
            final EdgeStyle style = edgeModel != null ? edgeModel.getStyle() : null;
            final EdgeStyle viewStyle = edgeController.getStyle(node);
            mSetEdgeStyle.setValue(style != null);
            mEdgeStyle.setValue(viewStyle.toString());
        }
        {
            final int width = edgeModel != null ? edgeModel.getWidth() : EdgeModel.DEFAULT_WIDTH;
            final int viewWidth = edgeController.getWidth(node);
            mSetEdgeWidth.setValue(width != EdgeModel.DEFAULT_WIDTH);
            mEdgeWidth.setValue(Integer.toString(viewWidth));
        }
        {
            final CloudController cloudController = CloudController.getController();
            final CloudModel cloudModel = CloudModel.getModel(node);
            final Color viewCloudColor = cloudController.getColor(node);
            mSetCloud.setValue(cloudModel != null);
            mCloudColor.setColorValue(viewCloudColor);
            final CloudModel.Shape viewCloudShape = cloudController.getShape(node);
            mCloudShape.setValue(viewCloudShape != null ? viewCloudShape.toString() : CloudModel.Shape.ARC.toString());
        }
        {
            final String fontFamilyName = NodeStyleModel.getFontFamilyName(node);
            final String viewFontFamilyName = styleController.getFontFamilyName(node);
            mSetNodeFontName.setValue(fontFamilyName != null);
            mNodeFontName.setValue(viewFontFamilyName);
        }
        {
            final Integer fontSize = NodeStyleModel.getFontSize(node);
            final Integer viewfontSize = styleController.getFontSize(node);
            mSetNodeFontSize.setValue(fontSize != null);
            mNodeFontSize.setValue(viewfontSize.toString());
        }
        {
            final Boolean bold = NodeStyleModel.isBold(node);
            final Boolean viewbold = styleController.isBold(node);
            mSetNodeFontBold.setValue(bold != null);
            mNodeFontBold.setValue(viewbold);
        }
        {
            final Boolean italic = NodeStyleModel.isItalic(node);
            final Boolean viewitalic = styleController.isItalic(node);
            mSetNodeFontItalic.setValue(italic != null);
            mNodeFontItalic.setValue(viewitalic);
        }
        {
            final Boolean hyperlink = NodeLinks.formatNodeAsHyperlink(node);
            final Boolean viewhyperlink = LinkController.getController().formatNodeAsHyperlink(node);
            mSetNodeFontHyperlink.setValue(hyperlink != null);
            mNodeFontHyperlink.setValue(viewhyperlink);
        }
        {
            final Boolean nodeNumbering = NodeStyleModel.getNodeNumbering(node);
            final Boolean viewNodeNumbering = styleController.getNodeNumbering(node);
            mSetNodeNumbering.setValue(nodeNumbering != null);
            mNodeNumbering.setValue(viewNodeNumbering);
        }
        {
            String nodeFormat = NodeStyleModel.getNodeFormat(node);
            String viewNodeFormat = TextController.getController().getNodeFormat(node);
            mSetNodeFormat.setValue(nodeFormat != null);
            if (viewNodeFormat == null && node.getUserObject() instanceof IFormattedObject)
                viewNodeFormat = ((IFormattedObject) node.getUserObject()).getPattern();
            mNodeFormat.setValue(viewNodeFormat);
        }
        if (mAutomaticLayoutComboBox != null) {
            final ModeController modeController = Controller.getCurrentModeController();
            AutomaticLayoutController al = modeController.getExtension(AutomaticLayoutController.class);
            IExtension extension = al.getExtension(node);
            if (extension == null)
                mAutomaticLayoutComboBox.setSelectedItem(AUTOMATIC_LAYOUT_DISABLED);
            else
                mAutomaticLayoutComboBox.setSelectedIndex(((AutomaticLayout) extension).ordinal());
        }
        if (mAutomaticEdgeColorCheckBox != null) {
            final ModeController modeController = Controller.getCurrentModeController();
            AutomaticEdgeColorHook al = (AutomaticEdgeColorHook) modeController.getExtension(AutomaticEdgeColorHook.class);
            mAutomaticEdgeColorCheckBox.setSelected(al.isActive(node));
        }
    } finally {
        internalChange = false;
    }
}
Also used : AutomaticLayoutController(org.freeplane.features.styles.AutomaticLayoutController) EdgeController(org.freeplane.features.edge.EdgeController) MEdgeController(org.freeplane.features.edge.mindmapmode.MEdgeController) AutomaticEdgeColorHook(org.freeplane.features.edge.mindmapmode.AutomaticEdgeColorHook) AutomaticLayout(org.freeplane.features.styles.AutomaticLayout) LogicalStyleController(org.freeplane.features.styles.LogicalStyleController) Color(java.awt.Color) IFormattedObject(org.freeplane.features.format.IFormattedObject) ModeController(org.freeplane.features.mode.ModeController) NodeStyleController(org.freeplane.features.nodestyle.NodeStyleController) MNodeStyleController(org.freeplane.features.nodestyle.mindmapmode.MNodeStyleController) CloudController(org.freeplane.features.cloud.CloudController) MCloudController(org.freeplane.features.cloud.mindmapmode.MCloudController) NodeSizeModel(org.freeplane.features.nodestyle.NodeSizeModel) IExtension(org.freeplane.core.extension.IExtension) CloudModel(org.freeplane.features.cloud.CloudModel) EdgeStyle(org.freeplane.features.edge.EdgeStyle) EdgeModel(org.freeplane.features.edge.EdgeModel)

Aggregations

ModeController (org.freeplane.features.mode.ModeController)4 AutomaticLayout (org.freeplane.features.styles.AutomaticLayout)4 AutomaticLayoutController (org.freeplane.features.styles.AutomaticLayoutController)4 ActionEvent (java.awt.event.ActionEvent)2 ActionListener (java.awt.event.ActionListener)2 DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)2 IExtension (org.freeplane.core.extension.IExtension)2 AutomaticEdgeColorHook (org.freeplane.features.edge.mindmapmode.AutomaticEdgeColorHook)2 LogicalStyleController (org.freeplane.features.styles.LogicalStyleController)2 Color (java.awt.Color)1 JCheckBox (javax.swing.JCheckBox)1 JComboBox (javax.swing.JComboBox)1 JLabel (javax.swing.JLabel)1 NamedObject (org.freeplane.core.resources.NamedObject)1 TranslatedObject (org.freeplane.core.resources.TranslatedObject)1 JComboBoxWithBorder (org.freeplane.core.ui.components.JComboBoxWithBorder)1 CloudController (org.freeplane.features.cloud.CloudController)1 CloudModel (org.freeplane.features.cloud.CloudModel)1 MCloudController (org.freeplane.features.cloud.mindmapmode.MCloudController)1 AutomaticEdgeColor (org.freeplane.features.edge.AutomaticEdgeColor)1