Search in sources :

Example 1 with JRibbonComponent

use of org.pushingpixels.flamingo.api.ribbon.JRibbonComponent in project freeplane by freeplane.

the class FontStyleContributorFactory method getContributor.

public ARibbonContributor getContributor(final Properties attributes) {
    return new ARibbonContributor() {

        public String getKey() {
            return attributes.getProperty("name");
        }

        public void contribute(final RibbonBuildContext context, ARibbonContributor parent) {
            setAccelerator(context.getBuilder(), "control B", "BoldAction");
            setAccelerator(context.getBuilder(), "control I", "ItalicAction");
            setAccelerator(context.getBuilder(), "control PLUS", "IncreaseNodeFontAction");
            setAccelerator(context.getBuilder(), "control MINUS", "DecreaseNodeFontAction");
            setAccelerator(context.getBuilder(), "alt shift F", "NodeColorAction");
            setAccelerator(context.getBuilder(), "alt shift P", "UsePlainTextAction");
            if (parent == null) {
                return;
            }
            // RIBBONS expandlistener and icon
            JFlowRibbonBand band = new JFlowRibbonBand(TextUtils.removeTranslateComment(TextUtils.getText("ribbon.band.font")), null, null);
            band.setExpandButtonKeyTip("FN");
            band.setCollapsedStateKeyTip("ZF");
            MUIFactory uiFactory = Controller.getCurrentModeController().getExtension(MUIFactory.class);
            final Container fontBox = uiFactory.createFontBox();
            JRibbonComponent fontComboWrapper = new JRibbonComponent((JComponent) fontBox);
            fontComboWrapper.setKeyTip("SF");
            addDefaultToggleHandler(context, fontComboWrapper);
            band.addFlowComponent(fontComboWrapper);
            final Container sizeBox = uiFactory.createSizeBox();
            JRibbonComponent sizeComboWrapper = new JRibbonComponent((JComponent) sizeBox);
            sizeComboWrapper.setKeyTip("SS");
            addDefaultToggleHandler(context, sizeComboWrapper);
            band.addFlowComponent(sizeComboWrapper);
            final Container styleBox = uiFactory.createStyleBox();
            JRibbonComponent styleComboWrapper = new JRibbonComponent((JComponent) styleBox);
            styleComboWrapper.setKeyTip("SD");
            addDefaultToggleHandler(context, styleComboWrapper);
            band.addFlowComponent(styleComboWrapper);
            JCommandButtonStrip styleStrip = new JCommandButtonStrip();
            AFreeplaneAction action = context.getBuilder().getMode().getAction("BoldAction");
            final JCommandToggleButton boldButton = RibbonActionContributorFactory.createCommandToggleButton(action);
            addDefaultToggleHandler(context, action, boldButton);
            styleStrip.add(boldButton);
            action = context.getBuilder().getMode().getAction("ItalicAction");
            final JCommandToggleButton italicButton = RibbonActionContributorFactory.createCommandToggleButton(action);
            addDefaultToggleHandler(context, action, italicButton);
            styleStrip.add(italicButton);
            action = context.getBuilder().getMode().getAction("NodeColorAction");
            JCommandButton button = RibbonActionContributorFactory.createCommandButton(action);
            addDefaultToggleHandler(context, action, button);
            styleStrip.add(button);
            action = context.getBuilder().getMode().getAction("NodeBackgroundColorAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            addDefaultToggleHandler(context, action, button);
            styleStrip.add(button);
            action = context.getBuilder().getMode().getAction("NodeColorBlendAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            addDefaultToggleHandler(context, action, button);
            styleStrip.add(button);
            action = context.getBuilder().getMode().getAction("BlinkingNodeHookAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            addDefaultToggleHandler(context, action, button);
            styleStrip.add(button);
            action = context.getBuilder().getMode().getAction("MapBackgroundColorAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            addDefaultToggleHandler(context, action, button);
            styleStrip.add(button);
            band.addFlowComponent(styleStrip);
            action = context.getBuilder().getMode().getAction("RemoveFormatAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            button.setDisplayState(CommandButtonDisplayState.MEDIUM);
            addDefaultToggleHandler(context, action, button);
            band.addFlowComponent(button);
            action = context.getBuilder().getMode().getAction("UsePlainTextAction");
            button = RibbonActionContributorFactory.createCommandButton(action);
            button.setDisplayState(CommandButtonDisplayState.MEDIUM);
            addDefaultToggleHandler(context, action, button);
            band.addFlowComponent(button);
            List<RibbonBandResizePolicy> policies = new ArrayList<RibbonBandResizePolicy>();
            policies.add(new CoreRibbonResizePolicies.FlowThreeRows(band.getControlPanel()));
            policies.add(new IconRibbonBandResizePolicy(band.getControlPanel()));
            band.setResizePolicies(policies);
            parent.addChild(band, new ChildProperties(parseOrderSettings(attributes.getProperty("orderPriority", ""))));
        }

        public void addChild(Object child, ChildProperties properties) {
        }
    };
}
Also used : ARibbonContributor(org.freeplane.core.ui.ribbon.ARibbonContributor) MUIFactory(org.freeplane.features.styles.mindmapmode.MUIFactory) CoreRibbonResizePolicies(org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies) ArrayList(java.util.ArrayList) IconRibbonBandResizePolicy(org.pushingpixels.flamingo.api.ribbon.resize.IconRibbonBandResizePolicy) JCommandButton(org.pushingpixels.flamingo.api.common.JCommandButton) JFlowRibbonBand(org.pushingpixels.flamingo.api.ribbon.JFlowRibbonBand) JRibbonComponent(org.pushingpixels.flamingo.api.ribbon.JRibbonComponent) IconRibbonBandResizePolicy(org.pushingpixels.flamingo.api.ribbon.resize.IconRibbonBandResizePolicy) RibbonBandResizePolicy(org.pushingpixels.flamingo.api.ribbon.resize.RibbonBandResizePolicy) Container(java.awt.Container) AFreeplaneAction(org.freeplane.core.ui.AFreeplaneAction) JCommandToggleButton(org.pushingpixels.flamingo.api.common.JCommandToggleButton) RibbonBuildContext(org.freeplane.core.ui.ribbon.RibbonBuildContext) JCommandButtonStrip(org.pushingpixels.flamingo.api.common.JCommandButtonStrip)

Aggregations

Container (java.awt.Container)1 ArrayList (java.util.ArrayList)1 AFreeplaneAction (org.freeplane.core.ui.AFreeplaneAction)1 ARibbonContributor (org.freeplane.core.ui.ribbon.ARibbonContributor)1 RibbonBuildContext (org.freeplane.core.ui.ribbon.RibbonBuildContext)1 MUIFactory (org.freeplane.features.styles.mindmapmode.MUIFactory)1 JCommandButton (org.pushingpixels.flamingo.api.common.JCommandButton)1 JCommandButtonStrip (org.pushingpixels.flamingo.api.common.JCommandButtonStrip)1 JCommandToggleButton (org.pushingpixels.flamingo.api.common.JCommandToggleButton)1 JFlowRibbonBand (org.pushingpixels.flamingo.api.ribbon.JFlowRibbonBand)1 JRibbonComponent (org.pushingpixels.flamingo.api.ribbon.JRibbonComponent)1 CoreRibbonResizePolicies (org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies)1 IconRibbonBandResizePolicy (org.pushingpixels.flamingo.api.ribbon.resize.IconRibbonBandResizePolicy)1 RibbonBandResizePolicy (org.pushingpixels.flamingo.api.ribbon.resize.RibbonBandResizePolicy)1