@Override public HandlerRegistration addValueChangeHandler(ValueChangeHandler<String> handler) { // Initialization code if (!valueChangeHandlerInitialized) { valueChangeHandlerInitialized = true; addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { if (!inSetValue) { ValueChangeEvent.fire(JQMFlip.this, getValue()); } } }); } return addHandler(handler, ValueChangeEvent.getType()); }
@Override protected void onLoad() { super.onLoad(); if (trackTheme != null && !trackTheme.isEmpty()) { bindCreated(getElement(), this); } }
/** * Sets the currently selected value. * * @param fireEvents - if false then ValueChangeEvent won't be raised (though ChangeEvent will be raised anyway). */ @Override public void setValue(String value, boolean fireEvents) { int newIdx = value == null ? 0 : value.equals(getValue1()) ? 0 : value.equals(getValue2()) ? 1 : 0; int oldIdx = getSelectedIndex(); String oldVal = fireEvents ? getValue() : null; internVal = value; if (oldIdx != newIdx) { inSetValue = true; try { setSelectedIndex(newIdx); } finally { inSetValue = false; } } if (fireEvents) { boolean eq = internVal == oldVal || internVal != null && internVal.equals(oldVal); if (!eq) ValueChangeEvent.fire(this, internVal); } }
@Override public void onChange(ChangeEvent event) { if (inSetValue) return; switch (getSelectedIndex()) { case 0: internVal = getValue1(); break; case 1: internVal = getValue2(); break; default: internVal = null; } } });
@Override protected void onUnload() { unbindCreated(getElement()); super.onUnload(); }
public JQMFlip() { String id = Document.get().createUniqueId(); label.setFor(id); select.setName(id); select.getElement().setId(id); JQMCommon.setDataRole(select.getElement(), "flipswitch"); addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { if (inSetValue) return; switch (getSelectedIndex()) { case 0: internVal = getValue1(); break; case 1: internVal = getValue2(); break; default: internVal = null; } } }); add(label); add(select); }
public void setLabel1(String label1) { if (select.getItemCount() > 1) select.setItemText(0, label1); else select.addItem(label1, getValue1()); }
@Override public void onChange(ChangeEvent event) { if (!inSetValue) { ValueChangeEvent.fire(JQMFlip.this, getValue()); } } });
public void setLabel2(String label2) { if (select.getItemCount() > 2) select.setItemText(1, label2); else select.addItem(label2, getValue2()); }
private void refreshTrackTheme() { Element elt = select.getElement(); if (!select.isAttached() || !isReady(elt)) return; Element par = elt.getParentElement(); if (par == null) return; Element track = JQMCommon.findChild(par, "ui-flipswitch-on"); if (track != null && JQMCommon.hasStyle(track, "ui-btn")) { if (trackTheme != null && !trackTheme.isEmpty()) { track.removeClassName("ui-btn-inherit"); JQMButton.setTheme(track, trackTheme); } else { JQMButton.setTheme(track, "inherit"); track.removeAttribute("data-theme"); } } }
@Override public void onChange(ChangeEvent event) { if (inSetValue) return; switch (getSelectedIndex()) { case 0: internVal = getValue1(); break; case 1: internVal = getValue2(); break; default: internVal = null; } } });
@Override protected void onUnload() { unbindCreated(getElement()); super.onUnload(); }
public JQMFlip() { String id = Document.get().createUniqueId(); label.setFor(id); select.setName(id); select.getElement().setId(id); JQMCommon.setDataRole(select.getElement(), "flipswitch"); addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { if (inSetValue) return; switch (getSelectedIndex()) { case 0: internVal = getValue1(); break; case 1: internVal = getValue2(); break; default: internVal = null; } } }); add(label); add(select); }
public void setLabel1(String label1) { if (select.getItemCount() > 1) select.setItemText(0, label1); else select.addItem(label1, getValue1()); }
@Override public void onChange(ChangeEvent event) { if (!inSetValue) { ValueChangeEvent.fire(JQMFlip.this, getValue()); } } });
public void setLabel2(String label2) { if (select.getItemCount() > 2) select.setItemText(1, label2); else select.addItem(label2, getValue2()); }
private void refreshTrackTheme() { Element elt = select.getElement(); if (!select.isAttached() || !isReady(elt)) return; Element par = elt.getParentElement(); if (par == null) return; Element track = JQMCommon.findChild(par, "ui-flipswitch-on"); if (track != null && JQMCommon.hasStyle(track, "ui-btn")) { if (trackTheme != null && !trackTheme.isEmpty()) { track.removeClassName("ui-btn-inherit"); JQMButton.setTheme(track, trackTheme); } else { JQMButton.setTheme(track, "inherit"); track.removeAttribute("data-theme"); } } }
/** * Sets the currently selected value. * * @param fireEvents - if false then ValueChangeEvent won't be raised (though ChangeEvent will be raised anyway). */ @Override public void setValue(String value, boolean fireEvents) { int newIdx = value == null ? 0 : value.equals(getValue1()) ? 0 : value.equals(getValue2()) ? 1 : 0; int oldIdx = getSelectedIndex(); String oldVal = fireEvents ? getValue() : null; internVal = value; if (oldIdx != newIdx) { inSetValue = true; try { setSelectedIndex(newIdx); } finally { inSetValue = false; } } if (fireEvents) { boolean eq = internVal == oldVal || internVal != null && internVal.equals(oldVal); if (!eq) ValueChangeEvent.fire(this, internVal); } }
@Override public void onChange(ChangeEvent event) { if (inSetValue) return; switch (getSelectedIndex()) { case 0: internVal = getValue1(); break; case 1: internVal = getValue2(); break; default: internVal = null; } } });
@Override protected void onUnload() { unbindCreated(getElement()); super.onUnload(); }