All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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