Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (51 sloc) 2.23 KB
from pyjamas.ui.Composite import Composite
from pyjamas.ui.CheckBox import CheckBox
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.VerticalPanel import VerticalPanel
from pyjamas.ui.Button import Button
from pyjamas.ui import HasAlignment
class DayCheckBox(CheckBox):
def __init__(self, owner, caption, day):
CheckBox.__init__(self, caption)
self.day = day
self.addClickListener(owner.dayCheckBoxListener)
self.setChecked(owner.calendar.getDayIncluded(day))
class DayCheckBoxListener:
def __init__(self, calendar):
self.calendar = calendar
def onClick(self, sender):
self.calendar.setDayIncluded(sender.day, sender.isChecked())
class DayFilterWidget(Composite):
def __init__(self, calendar):
Composite.__init__(self)
self.calendar = calendar
self.dayCheckBoxListener = DayCheckBoxListener(calendar)
self.outer = VerticalPanel()
self.initWidget(self.outer)
self.setStyleName("DynaTable-DayFilterWidget")
self.outer.add(DayCheckBox(self, "Sunday", 0))
self.outer.add(DayCheckBox(self, "Monday", 1))
self.outer.add(DayCheckBox(self, "Tuesday", 2))
self.outer.add(DayCheckBox(self, "Wednesday", 3))
self.outer.add(DayCheckBox(self, "Thursday", 4))
self.outer.add(DayCheckBox(self, "Friday", 5))
self.outer.add(DayCheckBox(self, "Saturday", 6))
self.buttonAll = Button("All", self)
self.buttonNone = Button("None", self)
hp = HorizontalPanel()
hp.setHorizontalAlignment(HasAlignment.ALIGN_CENTER)
hp.add(self.buttonAll)
hp.add(self.buttonNone)
self.outer.add(hp)
self.outer.setCellVerticalAlignment(hp, HasAlignment.ALIGN_BOTTOM)
self.outer.setCellHorizontalAlignment(hp, HasAlignment.ALIGN_CENTER)
def setAllCheckBoxes(self, checked):
for widget in self.outer:
if hasattr(widget, "setChecked"):
widget.setChecked(checked)
self.dayCheckBoxListener.onClick(widget)
def onClick(self, sender):
if self.buttonAll == sender:
self.setAllCheckBoxes(True)
elif self.buttonNone == sender:
self.setAllCheckBoxes(False)