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()
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()