/* * Copyright (c) 2011, grossmann * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the jo-widgets.org nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL jo-widgets.org BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. */ package org.jowidgets.impl.widgets.common.wrapper.invoker; import org.jowidgets.common.image.IImageConstant; import org.jowidgets.common.types.Accelerator; import org.jowidgets.spi.widgets.IToolBarToggleButtonSpi; import org.jowidgets.util.EmptyCheck; public class ToolBarToggleButtonSpiInvoker implements ISelectableItemSpiInvoker { private final IToolBarToggleButtonSpi item; private String text; private String toolTipText; private IImageConstant icon; public ToolBarToggleButtonSpiInvoker(final IToolBarToggleButtonSpi item) { this.item = item; } public IToolBarToggleButtonSpi getItem() { return item; } @Override public void setSelected(final boolean selected) { getItem().setSelected(selected); } @Override public boolean isSelected() { return getItem().isSelected(); } @Override public void setText(final String text) { this.text = text; setValues(); } @Override public void setToolTipText(final String toolTipText) { this.toolTipText = toolTipText; setValues(); } @Override public void setIcon(final IImageConstant icon) { this.icon = icon; setValues(); } @Override public void setEnabled(final boolean enabled) { getItem().setEnabled(enabled); } @Override public void setAccelerator(final Accelerator accelerator) {} @Override public void setMnemonic(final Character mnemonic) {} private void setValues() { if (icon == null) { getItem().setText(text); getItem().setToolTipText(toolTipText); } else { if (!EmptyCheck.isEmpty(text) && !EmptyCheck.isEmpty(toolTipText)) { getItem().setText(null); getItem().setToolTipText(text + " : " + toolTipText); } else if (!EmptyCheck.isEmpty(text)) { getItem().setText(null); getItem().setToolTipText(text); } else if (!EmptyCheck.isEmpty(toolTipText)) { getItem().setText(null); getItem().setToolTipText(toolTipText); } } getItem().setIcon(icon); } }