Exemplo n.º 1
0
class TabMsgLog(gtk.ScrolledWindow):
    def __init__(self, emma):
        """
        @param emma: Emma
        """
        super(TabMsgLog, self).__init__()
        self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.emma = emma
        self.model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
        self.tv = gtk.TreeView()
        self.tv.set_model(self.model)
        self.tv.append_column(gtk.TreeViewColumn("Time", gtk.CellRendererText(), text=0))
        self.tv.append_column(gtk.TreeViewColumn("Message", gtk.CellRendererText(), text=1))

        self.tv.connect('button-press-event', self.on_msg_tv_button_press_event)

        self.menu = PopUpTabMsgLog()
        self.menu.connect('item-selected', self.menu_item_selected)

        self.add(self.tv)
        self.show_all()

    def log(self, log):
        if not log:
            return
        log.replace(
            "You have an error in your SQL syntax.  "
            "Check the manual that corresponds to your MySQL server version for the right syntax to use near",
            "syntax error at "
        )
        now = time.time()
        now = int((now - int(now)) * 100)
        timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
        if now:
            timestamp = "%s.%02d" % (timestamp, now)
        _iter = self.model.append((timestamp, log))
        self.tv.scroll_to_cell(self.model.get_path(_iter))
        self.emma.message_notebook.set_current_page(self.emma.message_notebook.page_num(self))

    def on_msg_tv_button_press_event(self, tv, event):
        if not event.button == 3:
            return False
        res = tv.get_path_at_pos(int(event.x), int(event.y))
        if not res:
            return False
        tv.set_cursor_on_cell(res[0])
        self.menu.popup(None, None, None, event.button, event.time)
        return True

    def menu_item_selected(self, menu, item):
        if item.name == "clear_messages":
            self.model.clear()
Exemplo n.º 2
0
    def __init__(self, emma):
        """
        @param emma: Emma
        """
        super(TabMsgLog, self).__init__()
        self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.emma = emma
        self.model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
        self.tv = gtk.TreeView()
        self.tv.set_model(self.model)
        self.tv.append_column(gtk.TreeViewColumn("Time", gtk.CellRendererText(), text=0))
        self.tv.append_column(gtk.TreeViewColumn("Message", gtk.CellRendererText(), text=1))

        self.tv.connect('button-press-event', self.on_msg_tv_button_press_event)

        self.menu = PopUpTabMsgLog()
        self.menu.connect('item-selected', self.menu_item_selected)

        self.add(self.tv)
        self.show_all()