本文整理汇总了Python中blueman.gui.GenericList.GenericList类的典型用法代码示例。如果您正苦于以下问题:Python GenericList类的具体用法?Python GenericList怎么用?Python GenericList使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GenericList类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, adapter=None, tabledata=[]):
def on_adapter_removed(path):
self.emit("adapter-removed", path)
if path == self.__adapter_path:
self.clear()
self.Adapter = None
self.SetAdapter()
def on_adapter_added(path):
def on_activate():
dprint("adapter powered", path)
if self.Adapter == None:
self.SetAdapter(path)
self.emit("adapter-added", path)
a = Bluez.Adapter(path)
wait_for_adapter(a, on_activate)
#cache for fast lookup in the list
self.address_to_row = {}
self.path_to_row = {}
self.monitored_devices = []
self.discovered_devices = []
self.signals = SignalTracker()
try:
self.Manager = Bluez.Manager("gobject")
self.signals.Handle(self.Manager, on_adapter_removed, "AdapterRemoved")
self.signals.Handle(self.Manager, on_adapter_added, "AdapterAdded")
except:
self.Manager = None
self.__discovery_time = 0
self.__adapter_path = None
self.Adapter = None
self.discovering = False
data = []
data = data + tabledata
data = data + [
["device", object],
["dbus_path", str]
]
GenericList.__init__(self, data)
self.adapter_signals = SignalTracker()
self.device_signals = SignalTracker()
self.SetAdapter(adapter)
self.signals.Handle(self.selection, "changed", self.on_selection_changed)
示例2: destroy
def destroy(self):
dprint("destroying")
#self.clear()
if len(self.liststore):
for i in self.liststore:
iter = i.iter
device = self.get(iter, "device")["device"]
#device.Destroy()
GenericList.destroy(self)
示例3: __init__
def __init__(self, adapter=None, tabledata=None):
Gtk.TreeView.__init__(self)
self.set_name("DeviceList")
if not tabledata:
tabledata = []
def on_adapter_removed(_manager, path):
self.emit("adapter-removed", path)
if path == self.__adapter_path:
self.clear()
self.Adapter = None
self.SetAdapter()
def on_adapter_added(_manager, path):
def on_activate():
dprint("adapter powered", path)
if self.Adapter is None:
self.SetAdapter(path)
self.emit("adapter-added", path)
a = Bluez.Adapter(path)
wait_for_adapter(a, on_activate)
#cache for fast lookup in the list
self.address_to_row = {}
self.path_to_row = {}
self.monitored_devices = []
self.manager = Bluez.Manager()
self.manager.connect_signal('adapter-removed', on_adapter_removed)
self.manager.connect_signal('adapter-added', on_adapter_added)
self.__discovery_time = 0
self.__adapter_path = None
self.Adapter = None
self.discovering = False
data = []
data = data + tabledata
data = data + [
["device", object],
["dbus_path", str]
]
GenericList.__init__(self, data)
self.SetAdapter(adapter)
self.selection.connect('changed', self.on_selection_changed)
示例4: destroy
def destroy(self):
dprint("destroying")
self.adapter_signals.DisconnectAll()
self.device_signals.DisconnectAll()
self.signals.DisconnectAll()
self.device_signals = None
#self.clear()
if len(self.liststore):
for i in self.liststore:
iter = i.iter
device = self.get(iter, "device")["device"]
#device.Destroy()
GenericList.destroy(self)
示例5: __init__
def __init__(self, applet):
super().__init__(
title=_("Plugins"),
icon_name="blueman",
name="PluginDialog",
border_width=6,
default_width=490,
default_height=380,
resizable=False,
visible=False
)
self.applet = applet
self.Builder = Gtk.Builder(translation_domain="blueman")
bind_textdomain_codeset("blueman", "UTF-8")
self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
self.description = self.Builder.get_object("description")
self.icon = self.Builder.get_object("icon")
self.author_txt = self.Builder.get_object("author_txt")
self.depends_hdr = self.Builder.get_object("depends_hdr")
self.depends_txt = self.Builder.get_object("depends_txt")
self.conflicts_hdr = self.Builder.get_object("conflicts_hdr")
self.conflicts_txt = self.Builder.get_object("conflicts_txt")
self.plugin_name = self.Builder.get_object("name")
self.main_container = self.Builder.get_object("main_container")
self.content_grid = self.Builder.get_object("content")
self.b_prefs = self.Builder.get_object("b_prefs")
self.b_prefs.connect("toggled", self.on_prefs_toggled)
ref = weakref.ref(self)
self.add(self.Builder.get_object("all"))
cr = Gtk.CellRendererToggle()
cr.connect("toggled", lambda *args: ref() and ref().on_toggled(*args))
data = [
{"id": "active", "type": bool, "renderer": cr, "render_attrs": {"active": 0, "activatable": 1,
"visible": 1}},
{"id": "activatable", "type": bool},
{"id": "icon", "type": str, "renderer": Gtk.CellRendererPixbuf(), "render_attrs": {"icon-name": 2}},
# device caption
{"id": "desc", "type": str, "renderer": Gtk.CellRendererText(), "render_attrs": {"markup": 3},
"view_props": {"expand": True}},
{"id": "name", "type": str},
]
self.list = GenericList(data, headers_visible=False, visible=True)
self.list.liststore.set_sort_column_id(3, Gtk.SortType.ASCENDING)
self.list.liststore.set_sort_func(3, self.list_compare_func)
self.list.selection.connect("changed", lambda *args: ref() and ref().on_selection_changed(*args))
plugin_list = self.Builder.get_object("plugin_list")
plugin_info = self.Builder.get_object("main_scrolled_window")
plugin_list.add(self.list)
# Disable overlay scrolling
if Gtk.get_minor_version() >= 16:
plugin_list.props.overlay_scrolling = False
plugin_info.props.overlay_scrolling = False
self.populate()
self.sig_a = self.applet.Plugins.connect("plugin-loaded", self.plugin_state_changed, True)
self.sig_b = self.applet.Plugins.connect("plugin-unloaded", self.plugin_state_changed, False)
self.connect("delete-event", self._on_close)
self.list.set_cursor(0)
示例6: PluginDialog
class PluginDialog(Gtk.Window):
def __init__(self, applet):
super().__init__(
title=_("Plugins"),
icon_name="blueman",
name="PluginDialog",
border_width=6,
default_width=490,
default_height=380,
resizable=False,
visible=False
)
self.applet = applet
self.Builder = Gtk.Builder(translation_domain="blueman")
bind_textdomain_codeset("blueman", "UTF-8")
self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
self.description = self.Builder.get_object("description")
self.icon = self.Builder.get_object("icon")
self.author_txt = self.Builder.get_object("author_txt")
self.depends_hdr = self.Builder.get_object("depends_hdr")
self.depends_txt = self.Builder.get_object("depends_txt")
self.conflicts_hdr = self.Builder.get_object("conflicts_hdr")
self.conflicts_txt = self.Builder.get_object("conflicts_txt")
self.plugin_name = self.Builder.get_object("name")
self.main_container = self.Builder.get_object("main_container")
self.content_grid = self.Builder.get_object("content")
self.b_prefs = self.Builder.get_object("b_prefs")
self.b_prefs.connect("toggled", self.on_prefs_toggled)
ref = weakref.ref(self)
self.add(self.Builder.get_object("all"))
cr = Gtk.CellRendererToggle()
cr.connect("toggled", lambda *args: ref() and ref().on_toggled(*args))
data = [
{"id": "active", "type": bool, "renderer": cr, "render_attrs": {"active": 0, "activatable": 1,
"visible": 1}},
{"id": "activatable", "type": bool},
{"id": "icon", "type": str, "renderer": Gtk.CellRendererPixbuf(), "render_attrs": {"icon-name": 2}},
# device caption
{"id": "desc", "type": str, "renderer": Gtk.CellRendererText(), "render_attrs": {"markup": 3},
"view_props": {"expand": True}},
{"id": "name", "type": str},
]
self.list = GenericList(data, headers_visible=False, visible=True)
self.list.liststore.set_sort_column_id(3, Gtk.SortType.ASCENDING)
self.list.liststore.set_sort_func(3, self.list_compare_func)
self.list.selection.connect("changed", lambda *args: ref() and ref().on_selection_changed(*args))
plugin_list = self.Builder.get_object("plugin_list")
plugin_info = self.Builder.get_object("main_scrolled_window")
plugin_list.add(self.list)
# Disable overlay scrolling
if Gtk.get_minor_version() >= 16:
plugin_list.props.overlay_scrolling = False
plugin_info.props.overlay_scrolling = False
self.populate()
self.sig_a = self.applet.Plugins.connect("plugin-loaded", self.plugin_state_changed, True)
self.sig_b = self.applet.Plugins.connect("plugin-unloaded", self.plugin_state_changed, False)
self.connect("delete-event", self._on_close)
self.list.set_cursor(0)
def list_compare_func(self, treemodel, iter1, iter2, user_data):
a = self.list.get(iter1, "activatable", "name")
b = self.list.get(iter2, "activatable", "name")
if (a["activatable"] and b["activatable"]) or (not a["activatable"] and not b["activatable"]):
if a["name"] == b["name"]:
return 0
if a["name"] < b["name"]:
return -1
else:
return 1
else:
if a["activatable"] and not b["activatable"]:
return -1
elif not a["activatable"] and b["activatable"]:
return 1
def _on_close(self, *args, **kwargs):
self.applet.Plugins.disconnect(self.sig_a)
self.applet.Plugins.disconnect(self.sig_b)
def on_selection_changed(self, selection):
model, tree_iter = selection.get_selected()
#.........这里部分代码省略.........
示例7: set
def set(self, tree_iter, **kwargs):
GenericList.set(self, tree_iter, **kwargs)
self.do_cache(tree_iter, kwargs)
示例8: prepend
def prepend(self, **columns):
tree_iter = GenericList.prepend(self, **columns)
self.do_cache(tree_iter, columns)
示例9: __init__
def __init__(self, applet):
Gtk.Dialog.__init__(self, buttons=("_Close", Gtk.ResponseType.CLOSE))
self.set_name("PluginDialog")
self.applet = applet
self.Builder = Gtk.Builder()
self.Builder.set_translation_domain("blueman")
bind_textdomain_codeset("blueman", "UTF-8")
self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
self.set_title(_("Plugins"))
self.props.icon_name = "blueman"
self.description = self.Builder.get_object("description")
self.description.props.wrap = True
self.icon = self.Builder.get_object("icon")
self.author_txt = self.Builder.get_object("author_txt")
self.depends_hdr = self.Builder.get_object("depends_hdr")
self.depends_txt = self.Builder.get_object("depends_txt")
self.conflicts_hdr = self.Builder.get_object("conflicts_hdr")
self.conflicts_txt = self.Builder.get_object("conflicts_txt")
self.plugin_name = self.Builder.get_object("name")
self.main_container = self.Builder.get_object("main_container")
self.content_grid = self.Builder.get_object("content")
self.b_prefs = self.Builder.get_object("b_prefs")
self.b_prefs.connect("toggled", self.on_prefs_toggled)
widget = self.Builder.get_object("all")
ref = weakref.ref(self)
self.vbox.pack_start(widget, True, True, 0)
cr = Gtk.CellRendererToggle()
cr.connect("toggled", lambda *args: ref() and ref().on_toggled(*args))
data = [
["active", bool, cr, {"active": 0, "activatable": 1, "visible": 1}, None],
["activatable", bool],
["icon", str, Gtk.CellRendererPixbuf(), {"icon-name": 2}, None],
# device caption
["desc", str, Gtk.CellRendererText(), {"markup": 3}, None, {"expand": True}],
["name", str]
]
self.list = GenericList(data)
# self.sorted = Gtk.TreeModelSort(self.list.liststore)
self.list.liststore.set_sort_column_id(3, Gtk.SortType.ASCENDING)
self.list.liststore.set_sort_func(3, self.list_compare_func)
self.list.selection.connect("changed", lambda *args: ref() and ref().on_selection_changed(*args))
self.list.props.headers_visible = False
self.list.show()
self.props.border_width = 6
self.resize(490, 380)
self.Builder.get_object("viewport").add(self.list)
self.populate()
self.sig_a = self.applet.Plugins.connect("plugin-loaded", self.plugin_state_changed, True)
self.sig_b = self.applet.Plugins.connect("plugin-unloaded", self.plugin_state_changed, False)
self.connect("response", self.on_response)
self.list.set_cursor(0)
示例10: PluginDialog
class PluginDialog(Gtk.Dialog):
def __init__(self, applet):
Gtk.Dialog.__init__(self, buttons=("_Close", Gtk.ResponseType.CLOSE))
self.set_name("PluginDialog")
self.applet = applet
self.Builder = Gtk.Builder()
self.Builder.set_translation_domain("blueman")
bind_textdomain_codeset("blueman", "UTF-8")
self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
self.set_title(_("Plugins"))
self.props.icon_name = "blueman"
self.description = self.Builder.get_object("description")
self.description.props.wrap = True
self.icon = self.Builder.get_object("icon")
self.author_txt = self.Builder.get_object("author_txt")
self.depends_hdr = self.Builder.get_object("depends_hdr")
self.depends_txt = self.Builder.get_object("depends_txt")
self.conflicts_hdr = self.Builder.get_object("conflicts_hdr")
self.conflicts_txt = self.Builder.get_object("conflicts_txt")
self.plugin_name = self.Builder.get_object("name")
self.main_container = self.Builder.get_object("main_container")
self.content_grid = self.Builder.get_object("content")
self.b_prefs = self.Builder.get_object("b_prefs")
self.b_prefs.connect("toggled", self.on_prefs_toggled)
widget = self.Builder.get_object("all")
ref = weakref.ref(self)
self.vbox.pack_start(widget, True, True, 0)
cr = Gtk.CellRendererToggle()
cr.connect("toggled", lambda *args: ref() and ref().on_toggled(*args))
data = [
["active", bool, cr, {"active": 0, "activatable": 1, "visible": 1}, None],
["activatable", bool],
["icon", str, Gtk.CellRendererPixbuf(), {"icon-name": 2}, None],
# device caption
["desc", str, Gtk.CellRendererText(), {"markup": 3}, None, {"expand": True}],
["name", str]
]
self.list = GenericList(data)
# self.sorted = Gtk.TreeModelSort(self.list.liststore)
self.list.liststore.set_sort_column_id(3, Gtk.SortType.ASCENDING)
self.list.liststore.set_sort_func(3, self.list_compare_func)
self.list.selection.connect("changed", lambda *args: ref() and ref().on_selection_changed(*args))
self.list.props.headers_visible = False
self.list.show()
self.props.border_width = 6
self.resize(490, 380)
self.Builder.get_object("viewport").add(self.list)
self.populate()
self.sig_a = self.applet.Plugins.connect("plugin-loaded", self.plugin_state_changed, True)
self.sig_b = self.applet.Plugins.connect("plugin-unloaded", self.plugin_state_changed, False)
self.connect("response", self.on_response)
self.list.set_cursor(0)
def list_compare_func(self, treemodel, iter1, iter2, user_data):
a = self.list.get(iter1, "activatable", "name")
b = self.list.get(iter2, "activatable", "name")
if (a["activatable"] and b["activatable"]) or (not a["activatable"] and not b["activatable"]):
if a["name"] == b["name"]:
return 0
if a["name"] < b["name"]:
return -1
else:
return 1
else:
if a["activatable"] and not b["activatable"]:
return -1
elif not a["activatable"] and b["activatable"]:
return 1
def on_response(self, dialog, resp):
self.applet.Plugins.disconnect(self.sig_a)
self.applet.Plugins.disconnect(self.sig_b)
def on_selection_changed(self, selection):
model, iter = selection.get_selected()
name = self.list.get(iter, "name")["name"]
#.........这里部分代码省略.........
示例11: set
def set(self, iter, **kwargs):
self.do_cache(iter, kwargs)
GenericList.set(self, iter, **kwargs)
示例12: append
def append(self, **columns):
iter = GenericList.append(self, **columns)
self.do_cache(iter, columns)
示例13: __init__
def __init__(self):
super(BluemanServices, self).__init__(title=_("Local Services"))
self.resize(520, 420)
self.set_name("BluemanServices")
self.set_position(Gtk.WindowPosition.CENTER)
self.props.border_width = 5
self.props.icon_name = "blueman"
self.b_apply = self.add_button("_Apply", Gtk.ResponseType.APPLY)
self.b_apply.props.receives_default = True
self.b_apply.props.sensitive = False
self.b_apply.props.use_underline = True
self.b_close = self.add_button("_Close", Gtk.ResponseType.CLOSE)
self.b_close.props.use_underline = True
self.content_area = self.get_content_area()
self.box = Gtk.Box(Gtk.Orientation.HORIZONTAL)
self.box.props.vexpand = True
self.box.props.visible = True
self.viewport = Gtk.Viewport()
self.viewport.props.visible = True
self.viewport.props.width_request = 120
self.box.add(self.viewport)
self.content_area.add(self.box)
self.connect("delete-event", Gtk.main_quit)
self.Config = Config("org.blueman.general")
check_single_instance("blueman-services", lambda time: self.Dialog.present_with_time(time))
data = [
{"id": "icon_name", "type": str, "renderer": Gtk.CellRendererPixbuf(stock_size=Gtk.IconSize.DND),
"render_attrs": {"icon_name": 0}},
{"id": "caption", "type": str, "renderer": Gtk.CellRendererText(), "render_attrs": {"markup": 1},
"view_props": {"expand": True}},
{"id": "id", "type": str},
]
ls = GenericList(data)
ls.props.headers_visible = False
ls.selection.connect("changed", self.on_selection_changed)
self.List = ls
self.viewport.add(ls)
ls.show()
self.load_plugins()
try:
ls.selection.select_path(self.Config["services-last-item"])
except:
ls.selection.select_path(0)
self.b_apply.connect("clicked", self.on_apply_clicked)
self.b_close.connect("clicked", Gtk.main_quit)
self.show()