package com.sksamuel.jqm4gwt.examples.uibinder; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.JsArrayString; import com.google.gwt.dom.client.ButtonElement; import com.google.gwt.dom.client.EventTarget; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.StyleInjector; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.http.client.URL; import com.google.gwt.jsonp.client.JsonpRequestBuilder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.EventListener; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; import com.sksamuel.jqm4gwt.IconPos; import com.sksamuel.jqm4gwt.ImageResources; import com.sksamuel.jqm4gwt.JQMCommon; import com.sksamuel.jqm4gwt.JQMContext; import com.sksamuel.jqm4gwt.JQMDialog; import com.sksamuel.jqm4gwt.JQMPage; import com.sksamuel.jqm4gwt.JQMPage.DlgCloseBtn; import com.sksamuel.jqm4gwt.JQMPageEvent; import com.sksamuel.jqm4gwt.JQMPopup; import com.sksamuel.jqm4gwt.JQMPopup.EltCoords; import com.sksamuel.jqm4gwt.JQMPopup.PopupOptions; import com.sksamuel.jqm4gwt.JQMPopupEvent; import com.sksamuel.jqm4gwt.Mobile; import com.sksamuel.jqm4gwt.button.JQMButton; import com.sksamuel.jqm4gwt.button.JQMButtonGroup; import com.sksamuel.jqm4gwt.events.JQMComponentEvents; import com.sksamuel.jqm4gwt.events.JQMEvent; import com.sksamuel.jqm4gwt.events.JQMOrientationChangeHandler; import com.sksamuel.jqm4gwt.form.JQMForm; import com.sksamuel.jqm4gwt.form.SubmissionHandler; import com.sksamuel.jqm4gwt.form.elements.JQMCheckbox; import com.sksamuel.jqm4gwt.form.elements.JQMCheckset; import com.sksamuel.jqm4gwt.form.elements.JQMFilterable; import com.sksamuel.jqm4gwt.form.elements.JQMFilterableEvent; import com.sksamuel.jqm4gwt.form.elements.JQMFlip; import com.sksamuel.jqm4gwt.form.elements.JQMMonth; import com.sksamuel.jqm4gwt.form.elements.JQMNumber; import com.sksamuel.jqm4gwt.form.elements.JQMPassword; import com.sksamuel.jqm4gwt.form.elements.JQMRadiobox; import com.sksamuel.jqm4gwt.form.elements.JQMRadioset; import com.sksamuel.jqm4gwt.form.elements.JQMRangeSlider; import com.sksamuel.jqm4gwt.form.elements.JQMSearch; import com.sksamuel.jqm4gwt.form.elements.JQMSelect; import com.sksamuel.jqm4gwt.form.elements.JQMSelect.Option; import com.sksamuel.jqm4gwt.form.elements.JQMSelectFilterable; import com.sksamuel.jqm4gwt.form.elements.JQMSelectWithIcons; import com.sksamuel.jqm4gwt.form.elements.JQMSlider; import com.sksamuel.jqm4gwt.form.elements.JQMTelephone; import com.sksamuel.jqm4gwt.form.elements.JQMText; import com.sksamuel.jqm4gwt.form.elements.JQMUrl; import com.sksamuel.jqm4gwt.html.Heading; import com.sksamuel.jqm4gwt.html.Paragraph; import com.sksamuel.jqm4gwt.html.Span; import com.sksamuel.jqm4gwt.layout.JQMCollapsible; import com.sksamuel.jqm4gwt.layout.JQMTable; import com.sksamuel.jqm4gwt.list.JQMList; import com.sksamuel.jqm4gwt.list.JQMListDivider; import com.sksamuel.jqm4gwt.list.JQMListItem; import com.sksamuel.jqm4gwt.plugins.datatables.JQMDataTable; import com.sksamuel.jqm4gwt.plugins.datebox.JQMCalBox; import com.sksamuel.jqm4gwt.table.JQMColumnToggle; import com.sksamuel.jqm4gwt.toolbar.JQMHeader; import com.sksamuel.jqm4gwt.toolbar.JQMNavBar; import com.sksamuel.jqm4gwt.toolbar.JQMPanel; import com.sksamuel.jqm4gwt.toolbar.JQMTabs; import com.sksamuel.jqm4gwt.toolbar.JQMTabsEvent; /** * @author jraymond * Date: 4/4/13 * Time: 11:02 AM */ public class TestView1 { interface UiBinder extends com.google.gwt.uibinder.client.UiBinder<JQMPage, TestView1> { } public static final UiBinder BINDER = GWT.create(TestView1.UiBinder.class); public static JQMPage createPage() { return new TestView1().page; } private JQMPage page = TestView1.BINDER.createAndBindUi(this); private TestView2 nextView = new TestView2(); private static final JQMDialog dlg = new JQMDialog(new JQMHeader("Dialog Test")); private static JQMDialog dlgMsg = null; private static final TestDialog1 dlg1 = new TestDialog1(); private static final String CITY_SEARCH_URL = "http://gd.geobytes.com/AutoCompleteCity?q="; private String cityFilter; @UiField JQMPopup popup; @UiField JQMButton popupOpenButton; @UiField JQMButton popupCloseButton; @UiField JQMButton page2AsDialog; @UiField JQMButton page2RestoreRolePage; @UiField JQMButton page2RestoreRoleDialog; @UiField JQMButton dlgButton; @UiField JQMButton dlgButton1; @UiField JQMText text; @UiField JQMButton disableTextButton; @UiField JQMButton enableTextButton; @UiField JQMSlider slider; @UiField JQMButton disableSliderButton; @UiField JQMButton enableSliderButton; @UiField JQMButton getSliderValueBtn; @UiField JQMButton setSliderNullBtn; @UiField JQMButton setSliderMinBtn; @UiField JQMButton setSliderMinTo6Btn; @UiField JQMButton setSliderStepBtn; @UiField JQMRangeSlider rangeSlider; @UiField JQMButton disableRangeSliderBtn; @UiField JQMButton enableRangeSliderBtn; @UiField JQMButton rangeSliderGetValuesBtn; @UiField JQMButton setRangeSliderNullBtn; @UiField JQMForm form; @UiField JQMButton navBarBtn1; @UiField JQMCheckbox cb1; @UiField JQMCheckbox cb2; @UiField JQMCheckbox cb3; @UiField JQMCheckbox cb4; @UiField JQMButton checkboxInfoBtn; @UiField JQMRadioset radio1; @UiField JQMButton btnRadio1ItemB; @UiField JQMRadioset gender; @UiField JQMButton radioInfoBtn; @UiField JQMButton setRadioValBtn; @UiField JQMButton setRadioNullBtn; @UiField JQMFlip flip; @UiField JQMButton flipInfoBtn; @UiField JQMButton setFlipValBtn; @UiField JQMButton setFlipNullBtn; @UiField JQMText flipTrackTheme; @UiField JQMButton setFlipTrackTheme; @UiField JQMButton headerTestBtn1; @UiField JQMButton headerTestBtn2; @UiField FlowPanel headerPanel1; @UiField JQMCalBox datePicker; @UiField JQMButton datePickerGetValueBtn; @UiField JQMButton datePickerSetNullBtn; @UiField JQMButton datePickerInfoBtn; @UiField Span datePickerValueChanged; @UiField JQMListItem listItem4; @UiField JQMButton setListItemTextBtn; @UiField JQMListItem liCbA; @UiField JQMListItem liCbC; @UiField JQMListItem liCbD; @UiField JQMButton listItemCheckedBtn; @UiField JQMButton listItemSwitchCheckedBtn; @UiField JQMList listWithChecked; @UiField JQMList unorderedList; @UiField JQMButton ulBtn; @UiField JQMButton movieYearBtn; @UiField JQMButton movieTitleBtn; @UiField JQMButton alwaysHoverBtn; @UiField JQMButton toggleAlwaysHoverBtn; @UiField JQMTabs horzTabs; @UiField JQMCheckbox cbAllowLeavingTab1; @UiField FlowPanel horzTabsTab1; @UiField JQMSelect select1; @UiField JQMButton getSelectValBtn; @UiField JQMButton setSelectValBtn; @UiField JQMButton setSelectValNullBtn; @UiField JQMButton addSelectItemsBtn; @UiField JQMButton addFruitsBtn; @UiField JQMList fruitsList; @UiField JQMButton addNumsBtn; @UiField JQMSelect numsList; @UiField JQMFilterable numsFltr; @UiField JQMList cityList; @UiField JQMTable percentCols; @UiField JQMButton hidePctColBtn; @UiField JQMButton showPctColBtn; @UiField JQMButtonGroup btnGroup1; @UiField JQMCheckbox cbSetPageTheme; @UiField JQMSelectWithIcons ddIcons; @UiField JQMButton ddIconsLeft; @UiField JQMButton ddIconsRight; @UiField JQMButton ddIconsNone; @UiField JQMButton ddIconsNull; @UiField JQMButton dividerShowBtn; @UiField JQMButton dividerBuyBtn; @UiField JQMButton dividerShareBtn; @UiField JQMList orderList1; @UiField JQMPopup listPopup; @UiField Heading listPopupInfo; @UiField JQMSearch searchEd; @UiField JQMNumber numberEd; @UiField JQMTelephone phoneEd; @UiField JQMPassword passwordEd; @UiField JQMUrl urlEd; @UiField JQMButton fltr2GetSearchTextBtn; @UiField JQMText fltr2SetSearchTextEd; @UiField JQMButton fltr2SetSearchTextBtn; @UiField JQMButton fruitsGetSearchTextBtn; @UiField JQMText fruitsSetSearchTextEd; @UiField JQMButton fruitsSetSearchTextBtn; @UiField JQMSelectFilterable selectFilterable; @UiField JQMButton navBarTest1Btn; @UiField JQMButton navbarBtn3; @UiField JQMNavBar navbar1; @UiField JQMTabs tabs1; @UiField JQMButton tabsGetActiveBtn; @UiField JQMButton tabsSetActiveBtn; @UiField JQMNumber tabsSetActiveEd; @UiField JQMButton tabsRemoveActiveBtn; @UiField JQMSelect multiSel; @UiField JQMButton btnMultiSelGetValue; @UiField JQMText edMultiSelValue; @UiField JQMButton btnMultiSelSetValue; @UiField JQMButton btnMultiSelAddOptions; @UiField JQMText edMultiSetSelIdx; @UiField JQMButton btnMultiSelSetSelIdx; @UiField JQMButton btnMultiSelClear; @UiField JQMCollapsible collapsibleWithBtns; @UiField JQMButton btnCollaps1; @UiField JQMButton collapChangeThemeBtn; @UiField JQMButton collapChangeContentThemeBtn; @UiField JQMButton btnToggleThemeTestView1Panel; @UiField JQMPanel testView1Panel; @UiField JQMCheckset checkset1; @UiField JQMCheckset checksetVert1; @UiField JQMButton btnChecksetThemeA; @UiField JQMButton btnChecksetThemeB; @UiField JQMDataTable dataTable1; @UiField JQMText edDataTableSort; @UiField JQMButton btnDataTableSort; @UiField ButtonElement btnUserOpinions; @UiField JQMForm popupFlipTest; @UiField JQMMonth monthEd; @UiField JQMRadiobox rb1; @UiField JQMRadiobox rb2; @UiField JQMButton radioboxBtn; @UiField JQMButton radioboxNullBtn; @UiField JQMButton radioboxFalseBtn; @UiField JQMCheckbox cbHeaderWidget; @UiField JQMTabs tabs2; @UiField FlowPanel tabs2Stage1; @UiField FlowPanel tabs2Stage2; @UiField JQMButton addLeftBtn; @UiField JQMButton addRightBtn; @UiField JQMButton removeLeftBtn; @UiField JQMButton removeRightBtn; @UiField JQMButton switchStagesBtn; @UiField JQMColumnToggle colToggle1; @UiField JQMButton colClassNamesBtn; public TestView1() { page.addPageHandler(new JQMPageEvent.DefaultHandler() { @Override public void onShow(JQMPageEvent event) { //Window.alert(event.toDebugString()); JQMFlip f = new JQMFlip(); f.setLabel1("On"); f.setLabel2("Off"); f.setValue1("ON"); f.setValue2("OFF"); f.setValue("ON"); f.setMini(true); f.setTextHidden(true); f.setText("Dynamic flip:"); popupFlipTest.add(f); JQMContext.render(popupFlipTest.getElement()); JsArrayString months = JQMCalBox.getClazzMonthNames(); String[] m = new String[months.length()]; for (int i = 0; i < months.length(); i++) m[i] = months.get(i); monthEd.setMonthNames(m); } }); } @UiHandler("popupOpenButton") void handlePopupOpenButtonClick(ClickEvent e) { popup.open(); } @UiHandler("popupCloseButton") void handlePopupCloseButtonClick(ClickEvent e) { popup.close(); } @UiHandler("disableTextButton") void handleDisableTextButtonClick(ClickEvent e) { text.disable(); } @UiHandler("enableTextButton") void handleEnableTextButtonClick(ClickEvent e) { text.enable(); } @UiHandler("disableSliderButton") void handleDisableSliderButtonClick(ClickEvent e) { slider.disable(); } @UiHandler("enableSliderButton") void handleEnableSliderButtonClick(ClickEvent e) { slider.enable(); } @UiHandler("getSliderValueBtn") void getSliderValueBtnClick(ClickEvent e) { Window.alert(String.valueOf(slider.getValue())); } @UiHandler("setSliderNullBtn") void setSliderNullBtnClick(ClickEvent e) { slider.setValue(null); } @UiHandler("setSliderMinBtn") void setSliderMinBtnClick(ClickEvent e) { Double min = slider.getMin(); if (min == null) { min = slider.getMax(); if (min == null) min = 0d; else min = min - 100; } slider.setValue(min); } @UiHandler("setSliderMinTo6Btn") void setSliderMinTo6BtnClick(ClickEvent e) { slider.setMin(6d); } @UiHandler("setSliderStepBtn") void setSliderStepBtnClick(ClickEvent e) { slider.setStep(0.5d); } @UiHandler("disableRangeSliderBtn") void handleDisableRangeSliderBtnClick(ClickEvent e) { rangeSlider.disable(); } @UiHandler("enableRangeSliderBtn") void handleEnableRangeSliderBtnClick(ClickEvent e) { rangeSlider.enable(); } @UiHandler("rangeSliderGetValuesBtn") void rangeSliderGetValuesBtnClick(ClickEvent e) { Window.alert(String.valueOf(rangeSlider.getLoValue()) + " - " + String.valueOf(rangeSlider.getHiValue())); } @UiHandler("setRangeSliderNullBtn") void setRangeSliderNullBtnClick(ClickEvent e) { rangeSlider.setLoValue(null); rangeSlider.setHiValue(null); } @UiHandler("busyButton") void handleBusyButtonClick(ClickEvent e) { Mobile.busy(true); Timer timer = new Timer() { @Override public void run() { Mobile.busy(false); }}; timer.schedule(3000); } @UiHandler("navBarBtn1") void handleNavBarBtn1Click(ClickEvent e) { Window.alert("'" + navBarBtn1.getText() + "' is clicked!"); } @UiHandler("checkboxInfoBtn") void checkboxInfoBtnClick(ClickEvent e) { String cb1Str = "'" + cb1.getText() + "' is " + (cb1.isChecked() ? "checked" : "unchecked"); String cb2Str = "'" + cb2.getText() + "' is " + (cb2.isChecked() ? "checked" : "unchecked"); String cb3Str = "'" + cb3.getText() + "' is " + (cb3.isChecked() ? "checked" : "unchecked"); String cb4Str = "'" + cb4.getText() + "' is " + (cb4.isChecked() ? "checked" : "unchecked"); Window.alert(cb1Str + "\n" + cb2Str + "\n" + cb3Str + "\n" + cb4Str); } @UiHandler("radioInfoBtn") void radioInfoBtnClick(ClickEvent e) { Window.alert("'" + radio1.getText() + "' value is " + radio1.getValue()); } @UiHandler("setRadioValBtn") void setRadioValBtnClick(ClickEvent e) { radio1.setValue("c"); } @UiHandler("setRadioNullBtn") void setRadioNullBtnClick(ClickEvent e) { radio1.setValue(null); } @UiHandler("btnRadio1ItemB") void btnRadio1ItemBClick(ClickEvent e) { radio1.setRadioVisible(1, !radio1.isRadioVisible(1)); } @UiHandler("flipInfoBtn") void flipInfoBtnClick(ClickEvent e) { Window.alert("'" + flip.getText() + "' value is " + flip.getValue()); } @UiHandler("setFlipValBtn") void setFlipValBtnClick(ClickEvent e) { flip.setValue("flip2Value"); } @UiHandler("setFlipNullBtn") void setFlipNullBtnClick(ClickEvent e) { flip.setValue(null); } @UiHandler("setFlipTrackTheme") void setFlipTrackThemeClick(ClickEvent e) { flip.setTrackTheme(flipTrackTheme.getValue()); } @UiHandler("datePickerGetValueBtn") void datePickerGetValueBtnClick(ClickEvent e) { Window.alert("'" + datePicker.getText() + "' value is " + datePicker.getValue()); } @UiHandler("datePickerSetNullBtn") void datePickerSetNullBtnClick(ClickEvent e) { datePicker.setValue(null); datePicker.refresh(); } @UiHandler("datePickerInfoBtn") void datePickerInfoBtnClick(ClickEvent e) { String fmt = datePicker.getActiveDateFormat(); JsArrayString months = datePicker.getMonthNames(); JsArrayString shortMonths = datePicker.getMonthShortNames(); Window.alert("Format: " + fmt + "\n" + "Months: " + months.join() + "\n" + "Short Months: " + shortMonths.join()); } @UiHandler("headerTestBtn1") void headerTestBtn1Click(ClickEvent e) { boolean visible = Mobile.isVisible(nextView.testPage2.getElement()); boolean hidden = Mobile.isHidden(nextView.testPage2.getElement()); String s2 = "nextView.testPage2: Mobile.isVisible=" + String.valueOf(visible) + "; Mobile.isHidden=" + String.valueOf(hidden) + "; HasVisibility.isVisible()=" + nextView.testPage2.isVisible(); visible = Mobile.isVisible(page.getElement()); hidden = Mobile.isHidden(page.getElement()); String s1 = "This page: Mobile.isVisible=" + String.valueOf(visible) + "; Mobile.isHidden=" + String.valueOf(hidden) + "; HasVisibility.isVisible()=" + page.isVisible(); Window.alert(headerTestBtn1.getText() + " is clicked!\n\n" + s1 + "\n\n" + s2); } @UiHandler("headerTestBtn2") void headerTestBtn2Click(ClickEvent e) { Window.alert(headerTestBtn2.getText() + " is clicked!"); } @UiHandler("page2AsDialog") void page2AsDialogClick(ClickEvent e) { nextView.testPage2.setDlgTransparent(true); nextView.testPage2.openDialog(); } @UiHandler("page2RestoreRolePage") void page2RestoreRolePageClick(ClickEvent e) { nextView.testPage2.restoreRolePage(); } @UiHandler("page2RestoreRoleDialog") void page2RestoreRoleDialogClick(ClickEvent e) { nextView.testPage2.restoreRoleDialog(); } @UiHandler("dlgButton") void dlgButtonClick(ClickEvent e) { dlg.setDlgTransparent(true); dlg.setCorners(false); dlg.setDlgCloseBtn(DlgCloseBtn.RIGHT); dlg.setDlgCloseBtnText("Close me"); dlg.openDialog(); } @UiHandler("dlgButton1") void dlgButton1Click(ClickEvent e) { if (dlgMsg == null) { dlgMsg = new JQMDialog(); dlgMsg.setCorners(false); dlgMsg.setHeader(new JQMHeader("Message")); dlgMsg.setDlgTransparent(true); dlgMsg.setDlgCloseBtn(DlgCloseBtn.RIGHT); FlowPanel p = new FlowPanel(); Paragraph messageText = new Paragraph("Some text message here."); p.add(messageText); messageText.getElement().getStyle().setPadding(1, Unit.EM); dlgMsg.add(p); p = new FlowPanel(); JQMButton b = new JQMButton("Close"); b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { dlgMsg.closeDialog(); } }); p.add(b); dlgMsg.add(p); } dlgMsg.openDialog(); } @UiHandler("setListItemTextBtn") void setListItemTextBtnClick(ClickEvent e) { listItem4.setText(null); } @UiHandler("fltr2GetSearchTextBtn") void fltr2GetSearchTextBtnClick(ClickEvent e) { Window.alert("Search text: " + orderList1.getFilterSearchText()); } @UiHandler("fltr2SetSearchTextBtn") void fltr2SetSearchTextBtnClick(ClickEvent e) { orderList1.setFilterSearchText(fltr2SetSearchTextEd.getValue()); } @UiHandler("fruitsGetSearchTextBtn") void fruitsGetSearchTextBtnClick(ClickEvent e) { Window.alert("Search text: " + fruitsList.getFilterSearchText()); } @UiHandler("fruitsSetSearchTextBtn") void fruitsSetSearchTextBtnClick(ClickEvent e) { fruitsList.setFilterSearchText(fruitsSetSearchTextEd.getValue()); } @UiHandler("listItemCheckedBtn") void listItemCheckedBtnClick(ClickEvent e) { Window.alert(liCbA.getText() + " isChecked(): " + liCbA.isChecked() + "; getCheckBox(): " + liCbA.getCheckBox() + "\n" + liCbC.getText() + " isChecked(): " + liCbC.isChecked() + "\n" + liCbD.getText() + " isChecked(): " + liCbD.isChecked()); //liCbA.setCheckBox(IconPos.LEFT); //listWithChecked.refresh(); } @UiHandler("listItemSwitchCheckedBtn") void listItemSwitchCheckedBtnClick(ClickEvent e) { boolean v = liCbD.isChecked(); liCbD.setChecked(!v); } @UiHandler("ulBtn") void ulBtnClick(ClickEvent e) { unorderedList.clear(); JQMListItem li = new JQMListItem("test1", ""); li.setSplitHref(""); unorderedList.appendItem(li); li = new JQMListItem("test2", ""); li.setSplitHref(""); unorderedList.appendItem(li); li = new JQMListItem(); li.setControlGroup(true); Label l = new Label("Input1"); li.addWidget(l); TextBox t = new TextBox(); li.addWidget(t); l = new Label("Input2"); li.addWidget(l); t = new TextBox(); li.addWidget(t); li.setSplitHref(""); unorderedList.appendItem(li); //unorderedList.recreate(); unorderedList.refresh(); } @UiHandler("movieYearBtn") void movieYearBtnClick(ClickEvent e) { Window.alert(movieYearBtn.getText()); } @UiHandler("movieTitleBtn") void movieTitleBtnClick(ClickEvent e) { Window.alert("'" + movieTitleBtn.getText() + "' button is clicked."); } @UiHandler("toggleAlwaysHoverBtn") void handleToggleAlwaysHoverBtnClick(ClickEvent e) { alwaysHoverBtn.setAlwaysHover(!alwaysHoverBtn.isAlwaysHover()); } @UiHandler("getSelectValBtn") void getSelectValBtnClick(ClickEvent e) { Window.alert("Selected index: " + select1.getSelectedIndex() + " Value: " + select1.getValue()); } @UiHandler("setSelectValBtn") void setSelectValBtnClick(ClickEvent e) { select1.setSelectedIndex(1); } @UiHandler("setSelectValNullBtn") void setSelectValNullBtnClick(ClickEvent e) { select1.setValue(null); } @UiHandler("addSelectItemsBtn") void addSelectItemsBtnClick(ClickEvent e) { if (select1.indexOf("option5value") >= 0) return; select1.addOption("option5value", "option5Text"); select1.addOption("option6value", "option6Text"); select1.addOption("option7value", "option7Text"); Option opt = new JQMSelect.Option(); opt.setText("option8Text"); opt.setValue("option8value"); opt.setDisabled(true); select1.addOption(opt); select1.refresh(); } @UiHandler("addFruitsBtn") void addFruitsBtnClick(ClickEvent e) { if (fruitsList.findItem("Apricot") != null) return; fruitsList.appendItem(new JQMListItem("Apricot", IconPos.LEFT)); fruitsList.appendItem(new JQMListItem("Kiwi", IconPos.LEFT)); fruitsList.appendItem(new JQMListItem("Mango", IconPos.LEFT)); fruitsList.recreate(); fruitsList.refresh(); fruitsList.refreshFilter(); } @UiHandler("addNumsBtn") void addNumsBtnClick(ClickEvent e) { if (numsList.indexOf("11") >= 0) return; numsList.addOption("11", "Eleven"); numsList.addOption("12", "Twelve"); numsList.addOption("13", "Thirteen"); numsList.refresh(); numsList.refreshFilter(); } @UiHandler("hidePctColBtn") void hidePctColBtnClick(ClickEvent e) { percentCols.hidePercentageColumns(1, 2); } @UiHandler("showPctColBtn") void showPctColBtnClick(ClickEvent e) { percentCols.hidePercentageColumns(); } @UiHandler("navBarTest1Btn") void navBarTest1BtnClick(ClickEvent e) { if (navbarBtn3 == null) return; navbar1.remove(navbarBtn3); navbarBtn3 = null; } @UiHandler("tabsGetActiveBtn") void tabsGetActiveBtnClick(ClickEvent e) { if (tabs1.isActiveIndex()) { Window.alert(String.valueOf(tabs1.getActiveIndex())); } else { Window.alert("No active index"); } } @UiHandler("tabsSetActiveBtn") void tabsSetActiveBtnClick(ClickEvent e) { String s = tabsSetActiveEd.getValue(); if (s == null) return; s = s.trim(); if (s.isEmpty()) return; int i = Integer.parseInt(s); if (i >= 0 && i < tabs1.getContentCount()) { tabs1.setActiveIndex(i); } } @UiHandler("tabsRemoveActiveBtn") void tabsRemoveActiveBtnClick(ClickEvent e) { tabs1.removeActiveIndex(); } @UiHandler("btnMultiSelGetValue") void btnMultiSelGetValueClick(ClickEvent e) { String v = multiSel.getValue(); Window.alert(v == null ? "null" : v); } @UiHandler("btnMultiSelSetValue") void btnMultiSelSetValueClick(ClickEvent e) { multiSel.setValue(edMultiSelValue.getValue()); } @UiHandler("btnMultiSelAddOptions") void btnMultiSelAddOptionsClick(ClickEvent e) { if (multiSel.indexOf("10") >= 0) return; multiSel.addOption("10", "Ten"); multiSel.addOption("11", "Eleven"); multiSel.addOption("12", "Twelve"); multiSel.addOption("13", "Thirteen"); multiSel.addOption("14", "Fourteen"); multiSel.addOption("15", "Fifteen"); multiSel.addOption("16", "Sixteen"); multiSel.addOption("17", "Seventeen"); multiSel.addOption("18", "Eighteen"); multiSel.addOption("19", "Nineteen"); multiSel.addOption("20", "Twenty"); multiSel.refresh(); } @UiHandler("btnMultiSelSetSelIdx") void btnMultiSelSetSelIdxClick(ClickEvent e) { String s = edMultiSetSelIdx.getValue().trim(); if (s.isEmpty()) return; int idx = Integer.parseInt(s); multiSel.setSelectedIndex(idx); } @UiHandler("btnMultiSelClear") void btnMultiSelClearClick(ClickEvent e) { multiSel.clear(); multiSel.refresh(); } @UiHandler("btnCollaps1") void btnCollaps1Click(ClickEvent e) { Window.alert("Button1 clicked!"); collapsibleWithBtns.discardHeaderClick(e); } @UiHandler("collapChangeThemeBtn") void collapChangeThemeBtnClick(ClickEvent e) { String s = collapsibleWithBtns.getTheme(); if ("b".equals(s)) collapsibleWithBtns.setTheme(null); else collapsibleWithBtns.setTheme("b"); } @UiHandler("collapChangeContentThemeBtn") void collapChangeContentThemeBtnClick(ClickEvent e) { String s = collapsibleWithBtns.getContentTheme(); if ("b".equals(s)) collapsibleWithBtns.setContentTheme(null); else collapsibleWithBtns.setContentTheme("b"); } @UiHandler("btnToggleThemeTestView1Panel") void btnToggleThemeTestView1PanelClick(ClickEvent e) { String s = testView1Panel.getTheme(); if (s == null || s.isEmpty() || "a".equals(s)) s = "b"; else s = "a"; testView1Panel.setTheme(s); } @UiHandler("ddIconsLeft") void ddIconsLeftClick(ClickEvent e) { ddIcons.setIconPos(IconPos.LEFT); } @UiHandler("ddIconsRight") void ddIconsRightClick(ClickEvent e) { ddIcons.setIconPos(IconPos.RIGHT); } @UiHandler("ddIconsNone") void ddIconsNoneClick(ClickEvent e) { ddIcons.setIconPosNone(true); } @UiHandler("ddIconsNull") void ddIconsNullClick(ClickEvent e) { ddIcons.setIconPos(null); } @UiHandler("btnChecksetThemeA") void btnChecksetThemeAClick(ClickEvent e) { checkset1.setTheme("a"); checksetVert1.setTheme("a"); } @UiHandler("btnChecksetThemeB") void btnChecksetThemeBClick(ClickEvent e) { checkset1.setTheme("b"); checksetVert1.setTheme("b"); } @UiHandler("btnDataTableSort") void btnDataTableSortClick(ClickEvent e) { dataTable1.setColSorts(edDataTableSort.getValue()); } @UiHandler("radioboxBtn") void handleRadioboxBtnClick(ClickEvent e) { Window.alert(rb1.getText() + ": " + rb1.getValue() + "\n" + rb2.getText() + ": " + rb2.getValue()); } @UiHandler("radioboxNullBtn") void handleRadioboxNullBtnClick(ClickEvent e) { rb1.setValue(null); rb2.setValue(null); } @UiHandler("radioboxFalseBtn") void handleRadioboxFalseBtnClick(ClickEvent e) { rb1.setValue(false); rb2.setValue(false); } @UiHandler("addLeftBtn") void addLeftBtnClick(ClickEvent e) { int i = tabs2.getLeftHeaderWidgetCount(); JQMButton b = new JQMButton("Left" + String.valueOf(++i)).withMini(true).withInline(true); tabs2.addLeftHeaderWidget(b); } @UiHandler("addRightBtn") void addRightBtnClick(ClickEvent e) { int i = tabs2.getRightHeaderWidgetCount(); JQMButton b = new JQMButton("Right" + String.valueOf(++i)).withMini(true).withInline(true); tabs2.addRightHeaderWidget(b); } @UiHandler("removeLeftBtn") void removeLeftBtnClick(ClickEvent e) { int i = tabs2.getLeftHeaderWidgetCount(); if (i > 0) { Widget w = tabs2.getLeftHeaderWidget(i - 1); tabs2.removeLeftHeaderWidget(i - 1); } } @UiHandler("removeRightBtn") void removeRightBtnClick(ClickEvent e) { int i = tabs2.getRightHeaderWidgetCount(); if (i > 0) { Widget w = tabs2.getRightHeaderWidget(i - 1); tabs2.removeRightHeaderWidget(i - 1); } } @UiHandler("switchStagesBtn") void switchStagesBtnClick(ClickEvent e) { Widget p = tabs2.getParent(); if (p == tabs2Stage1) p = tabs2Stage2; else p = tabs2Stage1; tabs2.removeFromParent(); ((FlowPanel) p).add(tabs2); } @UiHandler("colClassNamesBtn") void colClassNamesBtnClick(ClickEvent e) { colToggle1.setColClassNames("1=CENTER, 2=RIGHT_BODY CENTER_HEAD abc, 3=CENTER"); } { form.setSubmissionHandler(new SubmissionHandler<JQMForm>() { @Override public void onSubmit(JQMForm form) { // Do something here. } }); /*radio1.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert("'" + radio1.getText() + "' value changed: " +event.getValue()); }}); radio1.addSelectionHandler(new SelectionHandler<String>() { @Override public void onSelection(SelectionEvent<String> event) { Window.alert("'" + radio1.getText() + "' selected item: " + event.getSelectedItem()); }});*/ gender.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert("'" + gender.getText() + "' value changed: " +event.getValue()); }}); /*gender.addSelectionHandler(new SelectionHandler<String>() { @Override public void onSelection(SelectionEvent<String> event) { Window.alert("'" + gender.getText() + "' selected item: " + event.getSelectedItem()); }});*/ headerPanel1.addDomHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { //Window.alert("headerPanel1 is clicked!"); }}, ClickEvent.getType()); unorderedList.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { JQMListItem item = unorderedList.getClickItem(); boolean isSplit = unorderedList.getClickIsSplit(); Window.alert("Clicked: " + item.getText() + "; Split button: " + isSplit); } }); horzTabs.addTabsHandler(new JQMTabsEvent.DefaultHandler() { @Override public void onBeforeActivate(JQMTabsEvent event) { Widget old = event.getOldTabContent(); if (horzTabsTab1.equals(old) && (cbAllowLeavingTab1.getValue() == null || cbAllowLeavingTab1.getValue() == false)) { Window.alert("Cannot leave this tab, checkbox must be checked first!"); throw new RuntimeException(); } } }); select1.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { //Window.alert(event.getValue()); } }); cityList.addFilterableHandler(new JQMFilterableEvent.DefaultHandler() { @Override public void onBeforeFilter(JQMFilterableEvent event) { String s = event.getFilterText(); if (s != null) s = s.trim(); boolean empty1 = cityFilter == null || cityFilter.isEmpty(); boolean empty2 = s == null || s.isEmpty(); if (empty1 && empty2) return; if (empty2) { cityFilter = null; cityList.clear(); cityList.refresh(); return; } if (s != null && s.equals(cityFilter)) return; cityFilter = s; if (cityFilter.length() <= 2) { cityList.clear(); cityList.refresh(); return; } // See http://www.gwtproject.org/doc/latest/tutorial/Xsite.html String url = URL.encode(CITY_SEARCH_URL + cityFilter); JsonpRequestBuilder builder = new JsonpRequestBuilder(); builder.requestObject(url, new AsyncCallback<JsArrayString>() { @Override public void onFailure(Throwable caught) { Window.alert(caught.getMessage()); } @Override public void onSuccess(JsArrayString data) { cityList.clear(); if (data != null && data.length() > 0) { for (int i = 0; i < data.length(); i++) { cityList.appendItem(new JQMListItem(data.get(i), IconPos.LEFT)); } cityList.recreate(); } cityList.refresh(); } }); } }); btnGroup1.addFilterableHandler(new JQMFilterableEvent.DefaultHandler() { @Override public Boolean onFiltering(JQMFilterableEvent event) { String s = event.getFilterText(); if (s == null || s.isEmpty()) return null; String[] arr = s.split(","); String txt = JQMCommon.getTextForFiltering(event.getFilteringElt()); if (txt == null || txt.isEmpty()) return null; txt = txt.toLowerCase(); for (int i = 0; i < arr.length; i++) { String v = arr[i].trim(); if (v.isEmpty()) continue; v = v.toLowerCase(); if (txt.contains(v)) return false; } return true; // filter out } }); for (int i = 0; i < btnGroup1.getWidgetCount(); i++) { final Widget w = btnGroup1.getWidget(i); if (w instanceof JQMButton) { ((JQMButton) w).addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (cbSetPageTheme.isChecked()) { page.setTheme(((JQMButton) w).getText().toLowerCase()); } } }); } } String css = JQMCommon.getImageCss(ImageResources.INSTANCE.ajaxLoader(), JQMCommon.STYLE_UI_ICON + "loader"); StyleInjector.inject(css); ddIcons.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { String s = event.getValue(); String icon = ddIcons.getOptionIcon(s); ddIcons.setIconURL(icon); } }); /*popup.addPopupHandler(new JQMPopupEvent.DefaultHandler() { @Override public void onAfterClose(JQMPopupEvent event) { Window.alert("Popup after close"); } @Override public void onAfterOpen(JQMPopupEvent event) { Window.alert("Popup after open"); } @Override public void onBeforePosition(JQMPopupEvent event) { PopupOptions opts = event.getPopupOptions(); Window.alert("Popup before position: " + opts.toString()); } });*/ listPopup.addPopupHandler(new JQMPopupEvent.DefaultHandler() { @Override public void onBeforePosition(JQMPopupEvent event) { PopupOptions opts = event.getPopupOptions(); JQMListItem li = orderList1.getClickItem(); if (li == null) { listPopupInfo.setText("before position: " + opts.toString()); } else { EltCoords coords = JQMPopup.calcEltCoords('#' + li.getId()); listPopupInfo.setText("before position: " + opts.toString() + " " + coords.toString()); } } }); ClickHandler dividerBtnClick = new ClickHandler() { @Override public void onClick(ClickEvent event) { JQMButton btn = (JQMButton) event.getSource(); JQMListDivider di = orderList1.findDividerByTag("dividerWithButtons"); String s = di != null ? di.getTagStr() + " found" : "dividerWithButtons NOT found"; Window.alert("Clicked button: '" + btn.getText() + "'\n\n" + s); }}; dividerShowBtn.addClickHandler(dividerBtnClick); dividerBuyBtn.addClickHandler(dividerBtnClick); dividerShareBtn.addClickHandler(dividerBtnClick); //searchEd.setValue("abcd", false/*fireEvents*/); /*searchEd.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(searchEd.getValue()); } }); searchEd.addInputHandler(new JQMInputHandler() { @Override public void onEvent(JQMEvent<?> event) { Window.alert(searchEd.getValue()); } }); phoneEd.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(phoneEd.getValue()); } }); numberEd.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(numberEd.getValue()); } }); passwordEd.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(passwordEd.getValue()); } }); urlEd.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(urlEd.getValue()); } });*/ datePicker.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { datePickerValueChanged.setText(datePicker.getValue()); } }); /*datePicker.setGridDateFormatter(new GridDateFormatterEx() { @Override public String format(int yyyy, int mm, int dd, String iso8601, boolean selectedDateVisible) { return '~' + String.valueOf(dd) + '~'; } @Override public String getStyleNames(int yyyy, int mm, int dd, String iso8601, boolean selectedDateVisible) { return dd % 2 == 0 ? "aaa bbb" : "ccc ddd"; } });*/ /*datePicker.addCalBoxHandler(new JQMCalBoxEvent.DefaultHandler() { @Override public void onDisplayChange(JQMCalBoxEvent event) { Window.alert(event.getData().toString()); } });*/ /*datePicker.setGridDateBoxBeforeAppend(new GridDateBox() { @Override public void beforeAppend(Element box, JsDateBoxData data) { if (data.getDate() == 13) { data.setEnabled(false); JQMCommon.setEnabled(box, false); box.getStyle().setColor("red"); } } });*/ selectFilterable.addFilterableHandler(new JQMFilterableEvent.DefaultHandler() { @Override public Boolean onFiltering(JQMFilterableEvent event) { return event.filterStartWithIgnoreCase(","); }}); /*selectFilterable.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert("aaa"); }}); numsList.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert("bbb"); }});*/ page.addJQMEventHandler(JQMComponentEvents.ORIENTATIONCHANGE, new JQMOrientationChangeHandler() { @Override public void onEvent(JQMEvent<?> event) { //String s = JQMOrientationChangeHandler.Process.getOrientation(event); //Window.alert(s); } }); /*checkset1.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Window.alert(checkset1.getText() + ": " + event.getValue()); } });*/ Event.sinkEvents(btnUserOpinions, Event.ONCLICK); Event.setEventListener(btnUserOpinions, new EventListener() { @Override public void onBrowserEvent(Event event) { if (Event.ONCLICK == event.getTypeInt()) { EventTarget t = event.getCurrentEventTarget(); ButtonElement btn = t.cast(); Window.alert(btn.getInnerHTML() + " - who cares?"); } } }); cbHeaderWidget.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { Boolean v = event.getValue(); Window.alert(v != null ? v.toString() : "null"); cbHeaderWidget.refresh(); } }); cbHeaderWidget.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Boolean v = cbHeaderWidget.getValue(); Window.alert(v != null ? v.toString() : "null"); JQMCollapsible co = JQMCollapsible.isCollapsibleHeaderChild(cbHeaderWidget); if (co != null) co.discardHeaderClick(event); } }); } public void show() { JQMContext.changePage(page); } }