A6plus-Global
@ 32
A6plus-Global / trunk / GWT / gwt-2.5.0 / samples / DynaTableRf / src / main / java / com / google / gwt / sample / dynatablerf / client / widgets / DayCheckBox.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
/* * Copyright 2010 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.sample.dynatablerf.client.widgets; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.event.shared.EventBus; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.sample.dynatablerf.client.events.FilterChangeEvent; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Composite; /** * Used by DayFilterWidget. */ class DayCheckBox extends Composite { private final CheckBox cb = new CheckBox(); private int day; private final EventBus eventBus; private HandlerRegistration filterRegistration; public DayCheckBox(EventBus eventBus) { this.eventBus = eventBus; initWidget(cb); cb.setValue(true); cb.addValueChangeHandler(new ValueChangeHandler<Boolean>() { public void onValueChange(ValueChangeEvent<Boolean> event) { DayCheckBox.this.eventBus.fireEvent(new FilterChangeEvent(getDay(), getValue())); } }); } public int getDay() { return day; } public boolean getValue() { return cb.getValue(); } public void setCaption(String caption) { cb.setText(caption); } public void setDay(int day) { this.day = day; } public void setValue(boolean value) { cb.setValue(value); } /** * Attach to the event bus only when the widget is actually attached to the * DOM. */ @Override protected void onLoad() { filterRegistration = eventBus.addHandler(FilterChangeEvent.TYPE, new FilterChangeEvent.Handler() { public void onFilterChanged(FilterChangeEvent e) { if (e.getDay() == getDay()) { setValue(e.isSelected()); } } }); } @Override protected void onUnload() { filterRegistration.removeHandler(); } } |