def __init__(self, data_dir, connection, connection_is_bus, bus_name, method_obj, parent_window): signal_dict = { 'execute_dbus_method_cb': self.execute_cb, 'execute_dialog_close_cb': self.close_cb } self.connection = connection self.connection_is_bus = connection_is_bus self.bus_name = bus_name self.method_obj = method_obj ui = UILoader(data_dir, UILoader.UI_EXECUTEDIALOG) self.dialog = ui.get_root_widget() self.dialog.set_transient_for(parent_window) self.label_method_name = ui.get_widget('label_method_name') self.label_bus_name = ui.get_widget('label_bus_name') self.label_object_path = ui.get_widget('label_object_path') self.label_interface = ui.get_widget('label_interface') self.notebook = ui.get_widget('notebook1') self.parameter_textview = ui.get_widget('parametertextview1') self.source_textview = ui.get_widget('sourcetextview1') self.prettyprint_textview = ui.get_widget('prettyprinttextview1') self.method_execution_count_spinbutton = ui.get_widget( 'method_exec_count_spinbutton') self.label_avg = ui.get_widget('label_avg') self.label_min = ui.get_widget('label_min') self.label_max = ui.get_widget('label_max') ui.connect_signals(signal_dict) self.label_method_name.set_markup("%s" % (self.method_obj.markup_str)) self.label_bus_name.set_text(self.bus_name) self.label_object_path.set_markup("%s" % (self.method_obj.object_path)) self.label_interface.set_markup("%s" % (self.method_obj.iface_info.name))
def __init__(self, data_dir, connection, connection_is_bus, bus_name, method_obj): signal_dict = { 'execute_dbus_method_cb': self.execute_cb, 'execute_dialog_close_cb': self.close_cb } self.connection = connection self.connection_is_bus = connection_is_bus self.bus_name = bus_name self.method_obj = method_obj ui = UILoader(data_dir, UILoader.UI_EXECUTEDIALOG) self.dialog = ui.get_root_widget() self.label_method_name = ui.get_widget('label_method_name') self.label_object_path = ui.get_widget('label_object_path') self.label_interface = ui.get_widget('label_interface') self.notebook = ui.get_widget('notebook1') self.parameter_textview = ui.get_widget('parametertextview1') self.source_textview = ui.get_widget('sourcetextview1') self.prettyprint_textview = ui.get_widget('prettyprinttextview1') self.method_execution_count_spinbutton = ui.get_widget('method_exec_count_spinbutton') self.label_avg = ui.get_widget('label_avg') self.label_min = ui.get_widget('label_min') self.label_max = ui.get_widget('label_max') ui.connect_signals(signal_dict) self.label_method_name.set_markup("%s" % (self.method_obj.markup_str)) self.label_object_path.set_markup("%s" % (self.method_obj.object_path)) self.label_interface.set_markup("%s" % (self.method_obj.iface_info.name))
def __init__(self, data_dir, address, name, unique_name, connection_is_bus=True): self.data_dir = data_dir signal_dict = { 'treeview_row_activated_cb': self.__treeview_row_activated_cb, 'treeview_row_expanded_cb': self.__treeview_row_expanded_cb, 'button_reload_clicked_cb': self.__button_reload_clicked_cb, } self.address = address # can be Gio.BusType.SYSTEM or Gio.BusType.SYSTEM or other address self.name = name # the well-known name or None self.unique_name = unique_name # the unique name or None self.connection_is_bus = connection_is_bus # is it a bus or a p2p connection? # setup UI ui = UILoader(self.data_dir, UILoader.UI_INTROSPECTION) self.introspect_box = ui.get_root_widget() # this is the main box with the treeview self.__spinner = ui.get_widget('spinner') # progress during the introspection self.__scrolledwindow = \ ui.get_widget('scrolledwindow') # the scrolledwindow contains the treeview self.__treemodel = ui.get_widget('treestore') self.__treemodel.set_sort_func(0, self.__sort_model) self.__treemodel.set_sort_column_id(0, Gtk.SortType.ASCENDING) self.__treeview = ui.get_widget('treeview') self.__label_name = ui.get_widget('label_name') self.__label_unique_name = ui.get_widget('label_unique_name') self.__label_address = ui.get_widget('label_address') self.__messagedialog = ui.get_widget('messagedialog') self.__messagedialog.connect("close", self.__messagedialog_close_cb) # connect signals ui.connect_signals(signal_dict) if self.connection_is_bus: # we expect a bus connection if self.address == Gio.BusType.SYSTEM or self.address == Gio.BusType.SESSION: self.connection = Gio.bus_get_sync(self.address, None) self.__label_address.set_text( Gio.dbus_address_get_for_bus_sync(self.address, None)) elif Gio.dbus_is_address(self.address): self.connection = Gio.DBusConnection.new_for_address_sync( self.address, Gio.DBusConnectionFlags.AUTHENTICATION_CLIENT | Gio.DBusConnectionFlags.MESSAGE_BUS_CONNECTION, None, None) self.__label_address.set_text(self.address) else: self.connection = None raise Exception("Invalid bus address '%s'" % (self.address)) else: # we have a peer-to-peer connection if Gio.dbus_is_supported_address(self.address): self.connection = Gio.DBusConnection.new_for_address_sync( self.address, Gio.DBusConnectionFlags.AUTHENTICATION_CLIENT, None, None) self.__label_address.set_text(self.address) else: self.connection = None raise Exception("Invalid p2p address '%s'" % (self.address)) # start processing data self.introspect_start()
def __init__(self, data_dir, connection, connection_is_bus, bus_name, signal_obj): # by Zex signal_dict = { 'emit_dbus_signal_cb': self.emit_signal_cb, 'execute_dialog_close_cb': self.close_cb } self.connection = connection self.connection_is_bus = connection_is_bus self.bus_name = bus_name self.signal_obj = signal_obj self.emit_iface = signal_obj.iface_info.name self.emit_signame = str(signal_obj) self.emit_path = signal_obj.object_path self.emit_signature = signal_obj.args # ----------------subscribe backend------------------ self.subscribe_id = connection.signal_subscribe( None,#bus_name, # sender signal_obj.iface_info.name, # interface str(signal_obj), # signal name signal_obj.object_path, # object path None, 0, self.subscribe_cb, signal_obj.args) # --------------------------------------------------- ui = UILoader(data_dir, UILoader.UI_BUSWATCHBYZEX) self.dialog = ui.get_root_widget() self.label_sender_name = ui.get_widget('label_sender_name') self.label_object_path = ui.get_widget('label_object_path') self.label_interface_name = ui.get_widget('label_interface_name') self.label_signal_name = ui.get_widget('label_signal_name') """ self.label_interface = ui.get_widget('label_interface') self.notebook = ui.get_widget('notebook1') self.parameter_textview = ui.get_widget('parametertextview1') """ self.parameter_textview = ui.get_widget('parametertextview1') self.source_textview = ui.get_widget('sourcetextview1') self.prettyprint_textview = ui.get_widget('prettyprinttextview1') """ self.method_execution_count_spinbutton = ui.get_widget('method_exec_count_spinbutton') self.label_avg = ui.get_widget('label_avg') self.label_min = ui.get_widget('label_min') self.label_max = ui.get_widget('label_max') """ ui.connect_signals(signal_dict) """
def __init__(self, app, package, version, data_dir): Gtk.Window.__init__(self, application=app) self.package = package self.version = version self.data_dir = data_dir #setup the window self.set_default_size(600, 480) self.set_title(self.package) self.set_icon_name(package) signal_dict = { 'action_systembus_connect_activate_cb': self.__systembus_connect_cb, 'action_sessionbus_connect_activate_cb': self.__sessionbus_connect_cb, 'action_otherbus_connect_activate_cb': self.__otherbus_connect_cb, 'action_close_activate_cb': self.__close_cb, } #get settings settings = Settings.get_instance() ui = UILoader(self.data_dir, UILoader.UI_MAINWINDOW) vbox1 = ui.get_widget('vbox1') self.add(vbox1) self.connect('delete-event', self.__quit_dfeet) self.set_default_size(int(settings.general['windowwidth']), int(settings.general['windowheight'])) self.notebook = ui.get_widget('display_notebook') self.notebook.show_all() self.notebook_page_widget = ui.get_widget('box_notebook_page') #create bus history list and load entries from settings self.__bus_history = [] for bus in settings.general['addbus_list']: if bus != '': self.__bus_history.append(bus) ui.connect_signals(signal_dict) #add a System- and Session Bus tab self.__systembus_connect_cb(None) self.__sessionbus_connect_cb(None) self.show_all()