Example #1
0
 def on_new_cmd_mi_activate(self, *args):
     sd.do_add_command_dialog(self.sheriff, self.cmds_ts, self.window)
Example #2
0
 def on_new_cmd_mi_activate(self, *args):
     sd.do_add_command_dialog(self.sheriff, self.cmds_ts, self.window)
    def __init__(self, _sheriff, cmds_ts):
        super(SheriffCommandTreeView, self).__init__(cmds_ts)
        self.cmds_ts = cmds_ts
        self.sheriff = _sheriff

        cmds_tr = gtk.CellRendererText()
        cmds_tr.set_property("ellipsize", pango.ELLIPSIZE_END)
        plain_tr = gtk.CellRendererText()
        status_tr = gtk.CellRendererText()

        cols_to_make = [ \
            ("Id",       cmds_tr,   cm.COL_CMDS_TV_COMMAND_ID,  None),
            ("Command",  cmds_tr,   cm.COL_CMDS_TV_EXEC,  None),
            ("Deputy",   plain_tr,  cm.COL_CMDS_TV_HOST, None),
            ("Status",   status_tr, cm.COL_CMDS_TV_STATUS_ACTUAL, self._status_cell_data_func),
            ("CPU %",    plain_tr,  cm.COL_CMDS_TV_CPU_USAGE, None),
            ("Mem (kB)", plain_tr,  cm.COL_CMDS_TV_MEM_VSIZE, None),
            ]

        self.columns = []
        for command_id, renderer, col_id, cell_data_func in cols_to_make:
            col = gtk.TreeViewColumn(command_id, renderer, text=col_id)
            col.set_sort_column_id(col_id)
            col.set_data("col-id", col_id)
            if cell_data_func:
                col.set_cell_data_func(renderer, cell_data_func)
            self.columns.append(col)

        # set an initial width for the id column
        self.columns[0].set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
        self.columns[0].set_fixed_width(150)

        for col in self.columns:
            col.set_resizable(True)
            self.append_column(col)

        cmds_sel = self.get_selection()
        cmds_sel.set_mode(gtk.SELECTION_MULTIPLE)

        self.add_events (gtk.gdk.KEY_PRESS_MASK | \
                gtk.gdk.BUTTON_PRESS | gtk.gdk._2BUTTON_PRESS)
        self.connect("key-press-event", self._on_cmds_tv_key_press_event)
        self.connect("button-press-event", self._on_cmds_tv_button_press_event)
        self.connect("row-activated", self._on_cmds_tv_row_activated)

        # commands treeview context menu
        self.cmd_ctxt_menu = gtk.Menu()

        self.start_cmd_ctxt_mi = gtk.MenuItem("_Start")
        self.cmd_ctxt_menu.append(self.start_cmd_ctxt_mi)
        self.start_cmd_ctxt_mi.connect("activate",
                                       self._start_selected_commands)

        self.stop_cmd_ctxt_mi = gtk.MenuItem("_Stop")
        self.cmd_ctxt_menu.append(self.stop_cmd_ctxt_mi)
        self.stop_cmd_ctxt_mi.connect("activate", self._stop_selected_commands)

        self.restart_cmd_ctxt_mi = gtk.MenuItem("R_estart")
        self.cmd_ctxt_menu.append(self.restart_cmd_ctxt_mi)
        self.restart_cmd_ctxt_mi.connect("activate",
                                         self._restart_selected_commands)

        self.remove_cmd_ctxt_mi = gtk.MenuItem("_Remove")
        self.cmd_ctxt_menu.append(self.remove_cmd_ctxt_mi)
        self.remove_cmd_ctxt_mi.connect("activate",
                                        self._remove_selected_commands)

        self.cmd_ctxt_menu.append(gtk.SeparatorMenuItem())

        self.edit_cmd_ctxt_mi = gtk.MenuItem("_Edit")
        self.cmd_ctxt_menu.append(self.edit_cmd_ctxt_mi)
        self.edit_cmd_ctxt_mi.connect("activate", self._edit_selected_command)

        self.new_cmd_ctxt_mi = gtk.MenuItem("_New Command")
        self.cmd_ctxt_menu.append(self.new_cmd_ctxt_mi)
        self.new_cmd_ctxt_mi.connect(
            "activate", lambda *s: sd.do_add_command_dialog(
                self.sheriff, self.cmds_ts, self.get_toplevel()))

        self.cmd_ctxt_menu.show_all()
Example #4
0
    def __init__(self, _sheriff, cmds_ts):
        super(SheriffCommandTreeView, self).__init__(cmds_ts)
        self.cmds_ts = cmds_ts
        self.sheriff = _sheriff

        cmds_tr = gtk.CellRendererText()
        cmds_tr.set_property("ellipsize", pango.ELLIPSIZE_END)
        plain_tr = gtk.CellRendererText()
        status_tr = gtk.CellRendererText()

        cols_to_make = [
            ("Id", cmds_tr, cm.COL_CMDS_TV_COMMAND_ID, None),
            ("Command", cmds_tr, cm.COL_CMDS_TV_EXEC, None),
            ("Deputy", plain_tr, cm.COL_CMDS_TV_HOST, None),
            ("Status", status_tr, cm.COL_CMDS_TV_STATUS_ACTUAL, self._status_cell_data_func),
            ("CPU %", plain_tr, cm.COL_CMDS_TV_CPU_USAGE, None),
            ("Mem (kB)", plain_tr, cm.COL_CMDS_TV_MEM_VSIZE, None),
        ]

        self.columns = []
        for command_id, renderer, col_id, cell_data_func in cols_to_make:
            col = gtk.TreeViewColumn(command_id, renderer, text=col_id)
            col.set_sort_column_id(col_id)
            col.set_data("col-id", col_id)
            if cell_data_func:
                col.set_cell_data_func(renderer, cell_data_func)
            self.columns.append(col)

        # set an initial width for the id column
        self.columns[0].set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
        self.columns[0].set_fixed_width(150)

        for col in self.columns:
            col.set_resizable(True)
            self.append_column(col)

        cmds_sel = self.get_selection()
        cmds_sel.set_mode(gtk.SELECTION_MULTIPLE)

        self.add_events(gtk.gdk.KEY_PRESS_MASK | gtk.gdk.BUTTON_PRESS | gtk.gdk._2BUTTON_PRESS)
        self.connect("key-press-event", self._on_cmds_tv_key_press_event)
        self.connect("button-press-event", self._on_cmds_tv_button_press_event)
        self.connect("row-activated", self._on_cmds_tv_row_activated)

        # commands treeview context menu
        self.cmd_ctxt_menu = gtk.Menu()

        self.start_cmd_ctxt_mi = gtk.MenuItem("_Start")
        self.cmd_ctxt_menu.append(self.start_cmd_ctxt_mi)
        self.start_cmd_ctxt_mi.connect("activate", self._start_selected_commands)

        self.stop_cmd_ctxt_mi = gtk.MenuItem("_Stop")
        self.cmd_ctxt_menu.append(self.stop_cmd_ctxt_mi)
        self.stop_cmd_ctxt_mi.connect("activate", self._stop_selected_commands)

        # self.restart_cmd_ctxt_mi = gtk.MenuItem ("R_estart")
        # self.cmd_ctxt_menu.append (self.restart_cmd_ctxt_mi)
        # self.restart_cmd_ctxt_mi.connect ("activate",
        #        self._restart_selected_commands)

        self.printf_cmd_ctxt_mi = gtk.MenuItem("F_etch Printf")
        self.cmd_ctxt_menu.append(self.printf_cmd_ctxt_mi)
        self.printf_cmd_ctxt_mi.connect("activate", self._printf_selected_commands)

        self.remove_cmd_ctxt_mi = gtk.MenuItem("_Remove")
        self.cmd_ctxt_menu.append(self.remove_cmd_ctxt_mi)
        self.remove_cmd_ctxt_mi.connect("activate", self._remove_selected_commands)

        self.cmd_ctxt_menu.append(gtk.SeparatorMenuItem())

        self.edit_cmd_ctxt_mi = gtk.MenuItem("_Edit")
        self.cmd_ctxt_menu.append(self.edit_cmd_ctxt_mi)
        self.edit_cmd_ctxt_mi.connect("activate", self._edit_selected_command)

        self.new_cmd_ctxt_mi = gtk.MenuItem("_New Command")
        self.cmd_ctxt_menu.append(self.new_cmd_ctxt_mi)
        self.new_cmd_ctxt_mi.connect(
            "activate", lambda *s: sd.do_add_command_dialog(self.sheriff, self.cmds_ts, self.get_toplevel())
        )

        self.cmd_ctxt_menu.show_all()