package com.gwt.ui.client.button; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.ui.Anchor; import com.gwt.ui.client.SpanPanel; /** * @author ibouakl */ public class PublishActionButton extends SpanPanel implements HasClickHandlers { private String id; private String title; private Boolean lock; private HandlerRegistration clickHandler; public PublishActionButton(String id) { this(id, new Boolean(false)); } public PublishActionButton(String id, String title) { this(id, title, new Boolean(false)); } public PublishActionButton(String id, Boolean lock) { super(); this.id = id; this.lock = lock; this.title = "Publier"; init(); } public PublishActionButton(String id, String title, Boolean lock) { super(); this.id = id; this.lock = lock; this.title = title; init(); } /** * Init the actions button */ private void init() { // publish button Anchor publishUrl = new Anchor(); publishUrl.setHref("#"); if (lock == null || !lock.booleanValue()) { publishUrl.addStyleName("publish_icon"); publishUrl.setTitle(title); } else { publishUrl.addStyleName("lockPublish_icon"); publishUrl.setTitle("Publication verrouillée"); } this.add(publishUrl); } @Override public HandlerRegistration addClickHandler(ClickHandler handler) { if (clickHandler != null) clickHandler.removeHandler(); clickHandler = addDomHandler(handler, ClickEvent.getType()); return clickHandler; } public String getId() { return id; } public void setId(String id) { this.id = id; } /** * @return the lock */ public Boolean getLock() { return lock; } }