Exemplo n.º 1
0
 def __init__(self,  content=""):
     '''
     Initialize InputEntry class.
     '''
     # Init.
     gtk.VBox.__init__(self)
     clean_button = CleanButton()
     clean_button.connect("clicked", self.on_clean_clicked)
     self.entry = Entry(content, place_holder=_("Need some music? Find it here..."))
     entry_align = gtk.Alignment()
     entry_align.set(0.5, 0.5, 1, 1)
     entry_align.add(self.entry)
     
     clean_box = gtk.HBox(spacing=5)
     clean_box.pack_start(entry_align, True, True)
     self.clean_button_align = set_widget_gravity(clean_button, gravity=(0.5, 0.5, 0, 0),
                                             paddings=(0, 0, 0, 5))
     self.clean_button_align.set_no_show_all(True)
     
     clean_box.pack_start(self.clean_button_align, False, False)
     self.add(clean_box)
     
     self.entry.connect("press-return", self.__emit_enter_signal)
     self.entry.connect("changed", self.__on_entry_changed)
     self.connect("expose-event", self.expose_input_entry)
    def double_click(self, widget, item, column):
        if not item.is_select:
            return
        #if not item.clicked:
            #return

        if not column in item.ENTRY_COLUMN:
            return
        if item.entry:
            item.entry.grab_focus()
            return
        item.get_buffer(column)
        item.entry_buffer.set_property('cursor-visible', True)
        hbox = gtk.HBox(False)
        align = gtk.Alignment(0, 0, 1, 1)
        entry = Entry()
        entry.set_data("item", item)
        entry.set_data("button_press", False)
        entry.set_buffer(item.entry_buffer)
        width = item.get_column_widths()[column]
        if width >= 0:
            entry.set_size_request(item.get_column_widths()[column]-4, 0)

        entry.connect("press-return", lambda w: hbox.destroy())
        entry.connect("destroy", self.edit_done, hbox, item)
        entry.connect_after("focus-in-event", self.entry_focus_changed, item)
        entry.connect_after("focus-out-event", self.entry_focus_changed, item)
        self.pack_start(hbox, False, False)
        self.set_data("entry_widget", entry)
        hbox.pack_start(entry, False, False)
        hbox.pack_start(align)
        hbox.show_all()
        entry.set_can_focus(True)
        entry.grab_focus()
        entry.select_all()
        item.entry = entry