package com.constellio.app.ui.framework.buttons;
import org.apache.commons.lang3.StringUtils;
import com.constellio.app.ui.framework.components.mouseover.NiceTitle;
import com.vaadin.server.Resource;
import com.vaadin.ui.themes.ValoTheme;
@SuppressWarnings("serial")
public abstract class IconButton extends BaseButton {
public IconButton(Resource iconResource, String caption) {
this(iconResource, caption, iconResource != null);
}
public IconButton(Resource iconResource, String caption, boolean iconOnly) {
this(iconResource, caption, iconOnly, true);
}
public IconButton(Resource iconResource, String caption, boolean iconOnly, boolean borderless) {
super(caption);
setIcon(iconResource);
if (borderless) {
addStyleName(ValoTheme.BUTTON_BORDERLESS);
}
setCaption(caption);
if (iconOnly) {
addStyleName(ValoTheme.BUTTON_ICON_ONLY);
if (StringUtils.isNotBlank(caption)) {
setIconAlternateText(caption);
addExtension(new NiceTitle(this, caption));
}
}
}
protected boolean isBorderless() {
return true;
}
}