public void onClick(ClickEvent sender) { for (int i = 0; i < supportedOperators.length; i++) { if (operator == supportedOperators[i]) { if (i < supportedOperators.length - 1) { operator = supportedOperators[i + 1]; } else { operator = supportedOperators[0]; } break; } } if (operator == Operator.BETWEEN) { secondaryDateBox.setVisible(true); horizontalPanel.setCellWidth(primaryDateBox, "50%"); horizontalPanel.setCellWidth(secondaryDateBox, "50%"); } else { horizontalPanel.setCellWidth(primaryDateBox, "100%"); secondaryDateBox.setVisible(false); } setButtonText(((PushButton) operatorButton), operator); Date primaryDate = primaryDateBox.getDatePicker().getValue(); Date secondaryDate = secondaryDateBox.getDatePicker().getValue(); fireColumnFilterChangedEvent(primaryDate, secondaryDate); } };
public Widget createFilterWidget() { DatePicker datePicker = new DatePicker(); primaryDateBox = new DateBox(); primaryDateBox.setFormat(new DateBox.DefaultFormat(dateTimeFormat)); primaryDateBox.setWidth("100%"); primaryDateBox.addStyleName("dateBox"); primaryDateBox.addValueChangeHandler(valueChangeHandler); secondaryDateBox = new DateBox(); secondaryDateBox.setFormat(new DateBox.DefaultFormat(dateTimeFormat)); secondaryDateBox.setWidth("100%"); secondaryDateBox.addStyleName("dateBox"); secondaryDateBox.addValueChangeHandler(valueChangeHandler); operatorButton = new PushButton(); setButtonText(operatorButton, operator); operatorButton.addClickHandler(clickHandler); operatorButton.addStyleName("operatorButton"); horizontalPanel.addStyleName("columnDateFilter"); horizontalPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE); horizontalPanel.add(operatorButton); horizontalPanel.add(primaryDateBox); horizontalPanel.add(secondaryDateBox); horizontalPanel.setCellWidth(operatorButton, "30px"); horizontalPanel.setCellWidth(primaryDateBox, "100%"); secondaryDateBox.setVisible(false); return horizontalPanel; }