Beispiel #1
0
    def setup_widgets (self):
        self.srchentry=self.ui.get_object('rlistSearchbox')
	self.limitButton = self.ui.get_object('rlAddButton')
        # Don't # allow for special keybindings
        #self.srchentry.connect('key_press_event',self.srchentry_keypressCB)        
        self.SEARCH_MENU_KEY = "b"
        self.srchLimitBar = self.ui.get_object('srchLimitBar')
        assert(self.srchLimitBar)
        self.srchLimitBar.hide()
        self.srchLimitLabel=self.ui.get_object('srchLimitLabel')
        self.srchLimitClearButton = self.ui.get_object('srchLimitClear')
        self.srchLimitText=self.srchLimitLabel.get_text()
        self.srchLimitDefaultText=self.srchLimitText
        self.searchButton = self.ui.get_object('searchButton')
        self.rSearchByMenu = self.ui.get_object('rlistSearchByMenu')
        cb.set_model_from_list(self.rSearchByMenu, self.searchByList, expand=False)
        cb.setup_typeahead(self.rSearchByMenu)
        self.rSearchByMenu.set_active(0)
        self.rSearchByMenu.connect('changed',self.search_as_you_type)
        self.sautTog = self.ui.get_object('searchAsYouTypeToggle')
        self.search_actions.get_action('toggleSearchAsYouType').connect_proxy(self.sautTog)
        self.regexpTog = self.ui.get_object('regexpTog')
        self.searchOptionsBox = self.ui.get_object('searchOptionsBox')
        self.search_actions.get_action('toggleShowSearchOptions').connect_proxy(
            self.ui.get_object('searchOptionsToggle')
            )
        self.search_actions.get_action('toggleRegexp').connect_proxy(self.regexpTog)
        self.rectree = self.ui.get_object('recTree')
        self.sw = self.ui.get_object('scrolledwindow')
        self.rectree.connect('start-interactive-search',lambda *args: self.srchentry.grab_focus())
        self.prev_button = self.ui.get_object('prevButton')
        self.next_button = self.ui.get_object('nextButton')
        self.first_button = self.ui.get_object('firstButton')
        self.last_button = self.ui.get_object('lastButton')        
        self.showing_label = self.ui.get_object('showingLabel')
        self.stat = self.ui.get_object('statusbar')
        self.contid = self.stat.get_context_id('main')
        self.setup_search_views()
        self.setup_rectree()
        self.prev_button.connect('clicked',lambda *args: self.rmodel.prev_page())
        self.next_button.connect('clicked',lambda *args: self.rmodel.next_page())
        self.first_button.connect('clicked',lambda *args: self.rmodel.goto_first_page())
        self.last_button.connect('clicked',lambda *args: self.rmodel.goto_last_page())
        self.ui.connect_signals({
            'rlistSearch': self.search_as_you_type,
            'ingredientSearch' : lambda *args: self.set_search_by('ingredient'),
            'titleSearch' : lambda *args: self.set_search_by('title'),
            'ratingSearch' : lambda *args: self.set_search_by('rating'),
            'categorySearch' : lambda *args: self.set_search_by('category'),
            'cuisineSearch' : lambda *args: self.set_search_by('cuisine'),
            'search' : self.search,
            'searchBoxActivatedCB':self.search_entry_activate_cb,
            'rlistReset' : self.reset_search,
            'rlistLimit' : self.limit_search,
            'search_as_you_type_toggle' : self.toggleTypeSearchCB,})
        self.toggleTypeSearchCB(self.sautTog)
        # this has to come after the type toggle is connected!
        self.rg.conf.append(WidgetSaver.WidgetSaver(
            self.sautTog,
            self.prefs.get('sautTog',
                           {'active':self.sautTog.get_active()}),
            ['toggled']))
        self.rg.conf.append(WidgetSaver.WidgetSaver(
            self.regexpTog,
            self.prefs.get('regexpTog',
                           {'active':self.regexpTog.get_active()}),
            ['toggled']))        
        # and we update our count with each deletion.
        self.rd.delete_hooks.append(self.set_reccount)
        # setup a history
        self.uim=self.ui.get_object('undo_menu_item')
        self.rim=self.ui.get_object('redo_menu_item')
        self.raim=self.ui.get_object('reapply_menu_item')
        self.history = Undo.UndoHistoryList(self.uim,self.rim,self.raim)
        # Fix up our mnemonics with some heavenly magic
        self.mm = mnemonic_manager.MnemonicManager()
        self.mm.sacred_cows.append("search for") # Don't touch _Search for:
        self.mm.add_builder(self.ui)
        self.mm.add_treeview(self.rectree)
        self.mm.fix_conflicts_peacefully()
Beispiel #2
0
 def setup_widgets(self):
     self.srchentry = self.ui.get_object('rlistSearchbox')
     self.limitButton = self.ui.get_object('rlAddButton')
     # Don't # allow for special keybindings
     #self.srchentry.connect('key_press_event',self.srchentry_keypressCB)
     self.SEARCH_MENU_KEY = "b"
     self.srchLimitBar = self.ui.get_object('srchLimitBar')
     assert (self.srchLimitBar)
     self.srchLimitBar.hide()
     self.srchLimitLabel = self.ui.get_object('srchLimitLabel')
     self.srchLimitClearButton = self.ui.get_object('srchLimitClear')
     self.srchLimitText = self.srchLimitLabel.get_text()
     self.srchLimitDefaultText = self.srchLimitText
     self.searchButton = self.ui.get_object('searchButton')
     self.rSearchByMenu = self.ui.get_object('rlistSearchByMenu')
     cb.set_model_from_list(self.rSearchByMenu,
                            self.searchByList,
                            expand=False)
     cb.setup_typeahead(self.rSearchByMenu)
     self.rSearchByMenu.set_active(0)
     self.rSearchByMenu.connect('changed', self.search_as_you_type)
     self.sautTog = self.ui.get_object('searchAsYouTypeToggle')
     self.search_actions.get_action('toggleSearchAsYouType').connect_proxy(
         self.sautTog)
     self.regexpTog = self.ui.get_object('regexpTog')
     self.searchOptionsBox = self.ui.get_object('searchOptionsBox')
     self.search_actions.get_action(
         'toggleShowSearchOptions').connect_proxy(
             self.ui.get_object('searchOptionsToggle'))
     self.search_actions.get_action('toggleRegexp').connect_proxy(
         self.regexpTog)
     self.rectree = self.ui.get_object('recTree')
     self.sw = self.ui.get_object('scrolledwindow')
     self.rectree.connect('start-interactive-search',
                          lambda *args: self.srchentry.grab_focus())
     self.prev_button = self.ui.get_object('prevButton')
     self.next_button = self.ui.get_object('nextButton')
     self.first_button = self.ui.get_object('firstButton')
     self.last_button = self.ui.get_object('lastButton')
     self.showing_label = self.ui.get_object('showingLabel')
     self.stat = self.ui.get_object('statusbar')
     self.contid = self.stat.get_context_id('main')
     self.setup_search_views()
     self.setup_rectree()
     self.prev_button.connect('clicked',
                              lambda *args: self.rmodel.prev_page())
     self.next_button.connect('clicked',
                              lambda *args: self.rmodel.next_page())
     self.first_button.connect('clicked',
                               lambda *args: self.rmodel.goto_first_page())
     self.last_button.connect('clicked',
                              lambda *args: self.rmodel.goto_last_page())
     self.ui.connect_signals({
         'rlistSearch':
         self.search_as_you_type,
         'ingredientSearch':
         lambda *args: self.set_search_by('ingredient'),
         'titleSearch':
         lambda *args: self.set_search_by('title'),
         'ratingSearch':
         lambda *args: self.set_search_by('rating'),
         'categorySearch':
         lambda *args: self.set_search_by('category'),
         'cuisineSearch':
         lambda *args: self.set_search_by('cuisine'),
         'search':
         self.search,
         'searchBoxActivatedCB':
         self.search_entry_activate_cb,
         'rlistReset':
         self.reset_search,
         'rlistLimit':
         self.limit_search,
         'search_as_you_type_toggle':
         self.toggleTypeSearchCB,
     })
     self.toggleTypeSearchCB(self.sautTog)
     # this has to come after the type toggle is connected!
     self.rg.conf.append(
         WidgetSaver.WidgetSaver(
             self.sautTog,
             self.prefs.get('sautTog',
                            {'active': self.sautTog.get_active()}),
             ['toggled']))
     self.rg.conf.append(
         WidgetSaver.WidgetSaver(
             self.regexpTog,
             self.prefs.get('regexpTog',
                            {'active': self.regexpTog.get_active()}),
             ['toggled']))
     # and we update our count with each deletion.
     self.rd.delete_hooks.append(self.set_reccount)
     # setup a history
     self.uim = self.ui.get_object('undo_menu_item')
     self.rim = self.ui.get_object('redo_menu_item')
     self.raim = self.ui.get_object('reapply_menu_item')
     self.history = Undo.UndoHistoryList(self.uim, self.rim, self.raim)
     # Fix up our mnemonics with some heavenly magic
     self.mm = mnemonic_manager.MnemonicManager()
     self.mm.sacred_cows.append("search for")  # Don't touch _Search for:
     self.mm.add_builder(self.ui)
     self.mm.add_treeview(self.rectree)
     self.mm.fix_conflicts_peacefully()
Beispiel #3
0
 def __init__ (self, converter=None,
               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(uibase,'converter.ui'))
     self.conv = convert.get_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=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)