def __init__(self, gender, page=None): Gtk.Grid.__init__(self) self.set_row_spacing(style.DEFAULT_SPACING) self.set_column_spacing(style.DEFAULT_SPACING) self._group_labels = get_group_labels() self._page = page self._gender = gender self._age = self.get_age() self._pickers = [] self._nocolor = XoColor('#010101,#ffffff') self._color = XoColor() if self._gender not in GENDERS: self._gender = 'male' gender_index = GENDERS.index(self._gender) age_index = age_to_index(self._age) width = Gdk.Screen.width() num_ages = len(self._group_labels.AGES) for i in range(num_ages): self._pickers.append( Picker(self._group_labels.ICONS[i][gender_index], _(self._group_labels.LABELS[i]))) self._pickers[i].connect(self._button_activate_cb, i) self._fixed = Gtk.Fixed() fixed_size = width - 4 * style.GRID_CELL_SIZE self._fixed.set_size_request(fixed_size, -1) self.attach(self._fixed, 0, 0, 1, 1) self._fixed.show() self._age_adj = Gtk.Adjustment(value=age_index, lower=0, upper=num_ages - 1, step_incr=1, page_incr=3, page_size=0) self._age_adj.connect('value-changed', self.__age_adj_changed_cb) self._age_slider = Gtk.HScale() self._age_slider.set_draw_value(False) self._age_slider.set_adjustment(self._age_adj) self.attach(self._age_slider, 0, 1, 1, 1) for i in range(num_ages): self._fixed.put(self._pickers[i], 0, 0) self._configure(width) Gdk.Screen.get_default().connect('size-changed', self._configure_cb)
def update_gender(self, gender): self._gender = gender if self._gender in GENDERS: gender_index = GENDERS.index(self._gender) else: gender_index = 0 for i in range(len(self._group_labels.AGES)): self._pickers[i].set_icon( self._group_labels.ICONS[i][gender_index])
def __init__(self, gender, page=None): Gtk.Grid.__init__(self) self.set_row_spacing(style.DEFAULT_SPACING) self.set_column_spacing(style.DEFAULT_SPACING) self._group_labels = get_group_labels() self._page = page self._gender = gender self._age = self.get_age() self._pickers = [] self._nocolor = XoColor('#010101,#ffffff') self._color = XoColor() if self._gender not in GENDERS: self._gender = 'female' gender_index = GENDERS.index(self._gender) age_index = age_to_index(self._age) width = Gdk.Screen.width() num_ages = len(self._group_labels.AGES) for i in range(num_ages): self._pickers.append( Picker(self._group_labels.ICONS[i][gender_index], _(self._group_labels.LABELS[i]))) self._pickers[i].connect(self._button_activate_cb, i) self._fixed = Gtk.Fixed() fixed_size = width - 4 * style.GRID_CELL_SIZE self._fixed.set_size_request(fixed_size, -1) self.attach(self._fixed, 0, 0, 1, 1) self._fixed.show() self._age_adj = Gtk.Adjustment(value=age_index, lower=0, upper=num_ages - 1, step_incr=1, page_incr=3, page_size=0) self._age_adj.connect('value-changed', self.__age_adj_changed_cb) self._age_slider = Gtk.HScale() self._age_slider.set_draw_value(False) self._age_slider.set_adjustment(self._age_adj) self.attach(self._age_slider, 0, 1, 1, 1) for i in range(num_ages): self._fixed.put(self._pickers[i], 0, 0) self._configure(width) Gdk.Screen.get_default().connect('size-changed', self._configure_cb)