Example #1
0
    def __init__(self, default_value=inch):
        gobject.GObject.__init__(self)
        gtk.HBox.__init__(self)
        self.__quiet__ = False
        self.unit_combo = gtk.combo_box_new_text()
        for key in self.units:
            self.unit_combo.append_text(key)
        unit = get_prefs().get('default_margin_unit', _('cm'))
        if unit not in self.units: unit = _('cm')
        self.last_unit = self.units[unit]
        cb_extras.setup_typeahead(self.unit_combo)
        cb_extras.cb_set_active_text(self.unit_combo, unit)
        self.unit_combo.connect('changed', self.unit_changed_cb)
        self.value_adjustment = gtk.Adjustment(
            value=self.adjust_to_unit(default_value),
            lower=self.min_val / self.last_unit,
            upper=self.max_val / self.last_unit,
            step_incr=self.adjustments[self.last_unit][0],
            page_incr=self.adjustments[self.last_unit][1],
        )

        def emit_changed(*args):
            self.emit('changed')

        self.value_adjustment.connect('changed', emit_changed)
        self.value_widget = gtk.SpinButton(self.value_adjustment, digits=2)
        self.value_widget.connect('changed', emit_changed)
        self.value_widget.show()
        self.unit_combo.show()
        self.pack_start(self.value_widget)
        self.pack_start(self.unit_combo)
Example #2
0
    def __init__(self, default_value=inch):
        Gtk.HBox.__init__(self)  # do we really inherit from HBox?
        self.__quiet__ = False
        self.unit_combo = Gtk.ComboBoxText()
        for key in self.units:
            self.unit_combo.append_text(key)
        unit = Prefs.instance().get('default_margin_unit', _('cm'))
        if unit not in self.units: unit = _('cm')
        self.last_unit = self.units[unit]
        cb_extras.setup_typeahead(self.unit_combo)
        cb_extras.cb_set_active_text(self.unit_combo, unit)
        self.unit_combo.connect('changed', self.unit_changed_cb)
        self.value_adjustment = Gtk.Adjustment(
            value=self.adjust_to_unit(default_value),
            lower=self.min_val / self.last_unit,
            upper=self.max_val / self.last_unit,
            step_incr=self.adjustments[self.last_unit][0],
            page_incr=self.adjustments[self.last_unit][1],
        )

        def emit_changed(*args):
            self.emit('changed')

        self.value_adjustment.connect('changed', emit_changed)
        self.value_widget = Gtk.SpinButton()
        self.value_widget.set_adjustment(self.value_adjustment)
        self.value_widget.set_digits(2)
        self.value_widget.connect('changed', emit_changed)
        self.value_widget.show()
        self.unit_combo.show()
        self.pack_start(self.value_widget, True, True, 0)
        self.pack_start(self.unit_combo, True, True, 0)
Example #3
0
 def __init__ (self, default_value = inch):
     gobject.GObject.__init__(self)
     gtk.HBox.__init__(self)
     self.__quiet__ = False
     self.unit_combo = gtk.combo_box_new_text()
     for key in self.units:
         self.unit_combo.append_text(key)
     unit = get_prefs().get('default_margin_unit',_('cm'))
     if unit not in self.units: unit = _('cm')
     self.last_unit = self.units[unit]
     cb_extras.setup_typeahead(self.unit_combo)
     cb_extras.cb_set_active_text(self.unit_combo,unit)
     self.unit_combo.connect('changed',self.unit_changed_cb)
     self.value_adjustment = gtk.Adjustment(
         value=self.adjust_to_unit(default_value),
         lower= self.min_val / self.last_unit,
         upper = self.max_val / self.last_unit,
         step_incr = self.adjustments[self.last_unit][0],
         page_incr = self.adjustments[self.last_unit][1],
         )
     def emit_changed (*args):
         self.emit('changed')
     self.value_adjustment.connect('changed',emit_changed)
     self.value_widget = gtk.SpinButton(self.value_adjustment,digits=2)
     self.value_widget.connect('changed',emit_changed)
     self.value_widget.show(); self.unit_combo.show()
     self.pack_start(self.value_widget)
     self.pack_start(self.unit_combo)
Example #4
0
 def __init__(self,
              converter=convert.get_converter(),
              unitModel=None,
              amt1=None,
              unit1=None,
              item=None,
              okcb=None):
     self.possible_conversions = None
     self.ui = gtk.Builder()
     self.ui.add_from_file(os.path.join(current_path, 'converter.ui'))
     self.conv = converter
     self.changing_item = False
     self.okcb = okcb
     self.widget_names = [
         'window', 'amt1Entry', 'amt2Label', 'unit1ComboBox',
         'unit2ComboBox', 'itemComboBox', 'densitySpinButton',
         'useDensityCheckButton', 'statusbar', 'expander1', 'messageLabel'
     ]
     # grab all our widgets
     for w in self.widget_names:
         setattr(self, w, self.ui.get_object(w))
     # HACK FOR READABILITY w/o glade change
     self.resultLabel = self.amt2Label
     self.resultLabel.set_use_markup(True)
     self.resultLabel.set_line_wrap(True)
     if unitModel: self.unitModel = unitModel
     else:
         self.unitModel = gourmet.GourmetRecipeManager.UnitModel(self.conv)
     #self.unit2Model = self.unitModel.filter_new()
     self.unit1ComboBox.set_model(self.unitModel)
     self.unit1ComboBox.set_wrap_width(3)
     self.unit2ComboBox.set_wrap_width(3)
     #self.unit2Model.set_visible_func(self.unit_filter)
     #self.unit2ComboBox.set_model(self.unit2Model)
     self.unit2ComboBox.set_model(self.unitModel)
     for combobox in [self.unit1ComboBox, self.unit2ComboBox]:
         cell = gtk.CellRendererText()
         combobox.pack_start(cell, True)
         combobox.add_attribute(cell, 'text', 1)
         setup_typeahead(combobox)
     #self.itemComboBox.append_text('None')
     ikeys = self.conv.density_table.keys()
     ikeys.sort()
     for itm in ikeys:
         self.itemComboBox.append_text(itm)
     if len(self.conv.density_table.keys()) > 8:
         self.itemComboBox.set_wrap_width(3)
     setup_typeahead(self.itemComboBox)
     if amt1:
         self.amt1Entry = self.conv.float_to_frac(amt1)
     self.ui.connect_signals({
         'amt1changed': self.changed,
         'unit1changed': self.changed,
         'unit2changed': self.changed,
         'itemChanged': self.density_itm_changed,
         'densitySpinChanged': self.density_spin_changed,
         'densityChecked': self.density_toggled,
         'close': self.close,
     })
     self.last_amt1 = None
     self.last_amt2 = None
     self.last_unit1 = None
     self.last_unit2 = None
     if unit1 and self.conv.unit_dict.has_key[unit1]:
         u = self.conv.unit_dict[unit1]
         cb_set_active_text(self.unit1ComboBox, u)
     if amt1: self.amt1Entry.set_text("%s" % amt1)
     if item: cb_set_active_text(self.itemComboBox, item)
Example #5
0
 def __init__ (self, converter=convert.get_converter(),
               unitModel=None,
               amt1=None, unit1=None, item=None,
               okcb=None
               ):
     self.possible_conversions = None
     self.ui = gtk.Builder()
     self.ui.add_from_file(os.path.join(current_path,'converter.ui'))
     self.conv = converter
     self.changing_item = False
     self.okcb = okcb
     self.widget_names = ['window','amt1Entry', 'amt2Label', 'unit1ComboBox', 'unit2ComboBox',
                'itemComboBox', 'densitySpinButton', 'useDensityCheckButton', 'statusbar','expander1','messageLabel']
     # grab all our widgets
     for w in self.widget_names:
         setattr(self,w,self.ui.get_object(w))
     # HACK FOR READABILITY w/o glade change
     self.resultLabel = self.amt2Label
     self.resultLabel.set_use_markup(True)
     self.resultLabel.set_line_wrap(True)
     if unitModel: self.unitModel=unitModel
     else: self.unitModel=gourmet.GourmetRecipeManager.UnitModel(self.conv)
     #self.unit2Model = self.unitModel.filter_new()
     self.unit1ComboBox.set_model(self.unitModel)
     self.unit1ComboBox.set_wrap_width(3)
     self.unit2ComboBox.set_wrap_width(3)
     #self.unit2Model.set_visible_func(self.unit_filter)
     #self.unit2ComboBox.set_model(self.unit2Model)
     self.unit2ComboBox.set_model(self.unitModel)
     for combobox in [self.unit1ComboBox, self.unit2ComboBox]:
         cell = gtk.CellRendererText()
         combobox.pack_start(cell, True)
         combobox.add_attribute(cell, 'text', 1)
         setup_typeahead(combobox)
     #self.itemComboBox.append_text('None')
     ikeys = self.conv.density_table.keys()
     ikeys.sort()
     for itm in ikeys:
         self.itemComboBox.append_text(itm)
     if len(self.conv.density_table.keys()) > 8:
         self.itemComboBox.set_wrap_width(3)
     setup_typeahead(self.itemComboBox)
     if amt1:
         self.amt1Entry=self.conv.float_to_frac(amt1)
     self.ui.connect_signals({
         'amt1changed':self.changed,
         'unit1changed':self.changed,
         'unit2changed':self.changed,
         'itemChanged':self.density_itm_changed,
         'densitySpinChanged':self.density_spin_changed,
         'densityChecked':self.density_toggled,
         'close':self.close,
         })
     self.last_amt1 = None
     self.last_amt2 = None
     self.last_unit1 = None
     self.last_unit2 = None
     if unit1 and self.conv.unit_dict.has_key[unit1]:
         u = self.conv.unit_dict[unit1]
         cb_set_active_text(self.unit1ComboBox,u)
     if amt1: self.amt1Entry.set_text("%s"%amt1)
     if item: cb_set_active_text(self.itemComboBox,item)