![JAR search and dependency download from the Maven repository](/logo.png)
com.sksamuel.jqm4gwt.html.ImageLinkButton Maven / Gradle / Ivy
package com.sksamuel.jqm4gwt.html;
import com.sksamuel.jqm4gwt.HasCorners;
import com.sksamuel.jqm4gwt.HasInline;
import com.sksamuel.jqm4gwt.HasMini;
import com.sksamuel.jqm4gwt.HasTheme;
import com.sksamuel.jqm4gwt.JQMCommon;
import com.sksamuel.jqm4gwt.JQMContext;
import com.sksamuel.jqm4gwt.JQMContext.WidgetDefaults;
import com.sksamuel.jqm4gwt.button.JQMButton;
/**
* Image with look and feel as button, to clearly indicate users on touch devices that it's clickable.
* See jQuery Mobile: How to insert an image into button
* @author slavap
*
*/
public class ImageLinkButton extends ImageLink implements HasInline,
HasCorners, HasTheme, HasMini {
private static final String COMPACT_BTN = "jqm4gwt-compact-btn";
@Override
protected void onLoad() {
super.onLoad();
WidgetDefaults dflt = JQMContext.getWidgetDefaults();
if (dflt != null) dflt.loaded(this);
}
@Override
protected void initA() {
super.initA();
JQMButton.initEltAsButton(a);
a.addClassName(COMPACT_BTN);
}
@Override
public boolean isInline() {
return JQMCommon.isInlineEx(this, JQMCommon.STYLE_UI_BTN_INLINE);
}
@Override
public void setInline(boolean inline) {
JQMCommon.setInlineEx(this, inline, JQMCommon.STYLE_UI_BTN_INLINE);
}
@Override
public ImageLinkButton withInline(boolean inline) {
setInline(inline);
return this;
}
@Override
public boolean isCorners() {
return JQMCommon.isCornersEx(this);
}
@Override
public void setCorners(boolean corners) {
JQMCommon.setCornersEx(this, corners);
}
@Override
public ImageLinkButton withCorners(boolean corners) {
setCorners(corners);
return this;
}
@Override
public String getTheme() {
return JQMButton.getTheme(this.getElement());
}
@Override
public void setTheme(String themeName) {
JQMButton.setTheme(this.getElement(), themeName);
}
@Override
public ImageLinkButton withTheme(String themeName) {
setTheme(themeName);
return this;
}
@Override
public boolean isMini() {
return JQMCommon.isMiniEx(this);
}
@Override
public void setMini(boolean mini) {
JQMCommon.setMiniEx(this, mini);
}
@Override
public ImageLinkButton withMini(boolean mini) {
setMini(mini);
return this;
}
public boolean isCompact() {
return JQMCommon.hasStyle(this, COMPACT_BTN);
}
/**
* Button's size is very close to image + text size, i.e. minimal paddings around them are used.
* True by default.
*/
public void setCompact(boolean value) {
if (value) getElement().addClassName(COMPACT_BTN);
else getElement().removeClassName(COMPACT_BTN);
}
public boolean isShadow() {
return JQMCommon.isShadowEx(this);
}
/** Button will have shadow if true */
public void setShadow(boolean shadow) {
JQMCommon.setShadowEx(this, shadow);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy