def on_new_cmd_mi_activate(self, *args): sd.do_add_command_dialog(self.sheriff, self.cmds_ts, self.window)
def __init__(self, _sheriff, _script_manager, cmds_ts): super(SheriffCommandTreeView, self).__init__(cmds_ts) self.cmds_ts = cmds_ts self.sheriff = _sheriff self.script_manager = _script_manager 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_DEPUTY, 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_RSS, 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 on_new_cmd_mi_activate(self, *args): sd.do_add_command_dialog(self.sheriff, self.cmds_ts, self.window)