def set_text(self, text): """ Sets the text of the entry @param text: """ self._has_been_updated = True self._update_current_object(text) # If content isn't empty set_text emitts changed twice. # Protect content-changed from being updated and issue # a manual emission afterwards self._block_changed = True KiwiEntry.set_text(self, text) self._block_changed = False self.emit('content-changed') self.set_position(-1)
def set_text(self, text): """ Sets the text of the entry :param text: """ self._has_been_updated = True self._update_current_object(text) # If content isn't empty set_text emitts changed twice. # Protect content-changed from being updated and issue # a manual emission afterwards self._block_changed = True KiwiEntry.set_text(self, text) self._block_changed = False self.emit('content-changed') self.set_position(-1)
class BaseComboBoxEntry(gtk.ComboBox): def __init__(self, model=None, text_column=-1): deprecationwarn( 'ComboBoxEntry is deprecated, use ComboEntry instead', stacklevel=3) gtk.ComboBox.__init__(self) self.entry = KiwiEntry() # HACK: We need to set a private variable, this seems to # be the only way of doing so self.entry.start_editing(gtk.gdk.Event(gtk.gdk.BUTTON_PRESS)) self.add(self.entry) self.entry.show() self._text_renderer = gtk.CellRendererText() self.pack_start(self._text_renderer, True) self.set_active(-1) self.entry_changed_id = self.entry.connect('changed', self._on_entry__changed) self._active_changed_id = self.connect("changed", self._on_entry__active_changed) self._has_frame_changed(None) self.connect("notify::has-frame", self._has_frame_changed) if not model: model = gtk.ListStore(str) text_column = 0 self.set_model(model) self.set_text_column(text_column) # Virtual methods def do_mnemnoic_activate(self, group_cycling): self.entry.grab_focus() return True def do_grab_focus(self): self.entry.grab_focus() # Signal handlers def _on_entry__active_changed(self, combobox): iter = combobox.get_active_iter() if not iter: return self.entry.handler_block(self.entry_changed_id) model = self.get_model() self.entry.set_text(model[iter][self._text_column]) self.entry.handler_unblock(self.entry_changed_id) def _has_frame_changed(self, pspec): has_frame = self.get_property("has-frame") self.entry.set_has_frame(has_frame) def _on_entry__changed(self, entry): self.handler_block(self._active_changed_id) self.set_active(-1) self.handler_unblock(self._active_changed_id) # Public API def set_text_column(self, text_column): self._text_column = text_column if text_column != -1: self.set_attributes(self._text_renderer, text=text_column) def get_text_column(self): return self._text_column # IconEntry def set_pixbuf(self, pixbuf): self.entry.set_pixbuf(pixbuf) def update_background(self, color): self.entry.update_background(color) def get_background(self): return self.entry.get_background() def get_icon_window(self): return self.entry.get_icon_window()
class BaseComboBoxEntry(gtk.ComboBox): def __init__(self, model=None, text_column=-1): deprecationwarn('ComboBoxEntry is deprecated, use ComboEntry instead', stacklevel=3) gtk.ComboBox.__init__(self) self.entry = KiwiEntry() # HACK: We need to set a private variable, this seems to # be the only way of doing so self.entry.start_editing(gtk.gdk.Event(gtk.gdk.BUTTON_PRESS)) self.add(self.entry) self.entry.show() self._text_renderer = gtk.CellRendererText() self.pack_start(self._text_renderer, True) self.set_active(-1) self.entry_changed_id = self.entry.connect('changed', self._on_entry__changed) self._active_changed_id = self.connect("changed", self._on_entry__active_changed) self._has_frame_changed(None) self.connect("notify::has-frame", self._has_frame_changed) if not model: model = gtk.ListStore(str) text_column = 0 self.set_model(model) self.set_text_column(text_column) # Virtual methods def do_mnemnoic_activate(self, group_cycling): self.entry.grab_focus() return True def do_grab_focus(self): self.entry.grab_focus() # Signal handlers def _on_entry__active_changed(self, combobox): iter = combobox.get_active_iter() if not iter: return self.entry.handler_block(self.entry_changed_id) model = self.get_model() self.entry.set_text(model[iter][self._text_column]) self.entry.handler_unblock(self.entry_changed_id) def _has_frame_changed(self, pspec): has_frame = self.get_property("has-frame") self.entry.set_has_frame(has_frame) def _on_entry__changed(self, entry): self.handler_block(self._active_changed_id) self.set_active(-1) self.handler_unblock(self._active_changed_id) # Public API def set_text_column(self, text_column): self._text_column = text_column if text_column != -1: self.set_attributes(self._text_renderer, text=text_column) def get_text_column(self): return self._text_column # IconEntry def set_pixbuf(self, pixbuf): self.entry.set_pixbuf(pixbuf) def update_background(self, color): self.entry.update_background(color) def get_background(self): return self.entry.get_background()