本文整理汇总了Python中dtk.ui.iconview.IconView.drag_source_set方法的典型用法代码示例。如果您正苦于以下问题:Python IconView.drag_source_set方法的具体用法?Python IconView.drag_source_set怎么用?Python IconView.drag_source_set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dtk.ui.iconview.IconView
的用法示例。
在下文中一共展示了IconView.drag_source_set方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_icon_view
# 需要导入模块: from dtk.ui.iconview import IconView [as 别名]
# 或者: from dtk.ui.iconview.IconView import drag_source_set [as 别名]
def get_icon_view(self, padding_x=0, padding_y=10):
''' Draggable IconView '''
icon_view = IconView(padding_x, padding_y)
targets = [("text/deepin-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2)]
icon_view.drag_source_set(gtk.gdk.BUTTON1_MASK, targets, gtk.gdk.ACTION_COPY)
icon_view.connect("drag-data-get", self.__on_drag_data_get)
icon_view.connect("double-click-item", self.__on_double_click_item)
icon_view.connect("single-click-item", self.__on_single_click_item)
icon_view.connect("right-click-item", self.__on_right_click_item)
icon_view.draw_mask = self.on_iconview_draw_mask
scrolled_window = ScrolledWindow()
scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scrolled_window.add_child(icon_view)
return icon_view, scrolled_window
示例2: Browser
# 需要导入模块: from dtk.ui.iconview import IconView [as 别名]
# 或者: from dtk.ui.iconview.IconView import drag_source_set [as 别名]
class Browser(gtk.VBox, SignalContainer):
def __init__(self, db_query):
gtk.VBox.__init__(self)
SignalContainer.__init__(self)
self.__db_query = db_query
self._tree = {}
self.__selected_tag = {"album": [], "artist": [], "genre": []}
self.view_mode = ICON_VIEW_MODE
self.__search_flag = False
self.__song_cache_items = []
self.__cover_cache_items = []
# init widget.
self.entry_box = SearchEntry("")
self.entry_box.set_size(155, 22)
self.entry_box.entry.connect("changed", self.__search_cb)
# upper box.
self.back_button = self.__create_simple_button("back", self.__switch_to_filter_view)
self.back_button.set_no_show_all(True)
back_align = gtk.Alignment()
back_align.set(0.5, 0.5, 0, 0)
back_align.set_padding(0, 0, 0, 10)
back_align.add(self.back_button)
# path control
self.path_combo_box = ComboMenuButton()
self.path_combo_box.connect("list-actived", lambda w: self.update_path_list_view())
self.path_combo_box.connect("combo-actived", lambda w, k : self.update_path_filter_view(k))
path_combo_align = gtk.Alignment()
path_combo_align.set_padding(0, 0, 10, 0)
path_combo_align.add(self.path_combo_box)
self.path_combo_box.set_no_show_all(True)
upper_box = gtk.HBox(spacing=5)
upper_box.pack_start(path_combo_align, False, False)
upper_box.pack_start(create_right_align(), True, True)
upper_box.pack_start(back_align, False, False)
entry_box_align = gtk.Alignment()
entry_box_align.set(0.5, 0.5, 0, 0)
entry_box_align.set_padding(1, 0, 0, 0)
entry_box_align.add(self.entry_box)
upper_box.pack_start(entry_box_align, False, False)
upper_box_align = gtk.Alignment()
upper_box_align.set_padding(0, 10, 0, 10)
upper_box_align.set(0.5, 0.5, 1, 1)
upper_box_align.connect("expose-event", self.expose_upper_box_mask)
upper_box_align.add(upper_box)
self.categorybar_status = "artist"
self.filter_categorybar = OptionBar(
[(app_theme.get_pixbuf("filter/artist_normal.png"), app_theme.get_pixbuf("filter/artist_press.png"),
_("By artist"), lambda : self.reload_filter_view("artist", True)),
(app_theme.get_pixbuf("filter/album_normal.png"), app_theme.get_pixbuf("filter/album_press.png"),
_("By album"), lambda : self.reload_filter_view("album", True)),
(app_theme.get_pixbuf("filter/genre_normal.png"), app_theme.get_pixbuf("filter/genre_press.png"),
_("By genre"), lambda : self.reload_filter_view("genre", True)),]
)
# Song path bar.
self.__current_path = None
self.current_icon_item = None
self.reload_path_flag = True
self.path_categorybar = SongPathBar(_("Local"))
self.path_categorybar.set_size_request(-1, 205)
# Song import bar.
self.import_categorybar = SongImportBar()
self.import_categorybar.reload_items(
[
(_("Scan Home dir"), lambda : ImportFolderJob([os.path.expanduser("~")])),
(_("Select dir to scan"), lambda : ImportFolderJob()),
(_("Refresh library"), lambda : ReloadDBJob())]
)
# iconview.
self.filter_view = IconView(10, 10)
targets = [("text/deepin-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2)]
self.filter_view.drag_source_set(gtk.gdk.BUTTON1_MASK, targets, gtk.gdk.ACTION_COPY)
self.filter_view.connect("drag-data-get", self.__on_drag_data_get)
self.filter_view.connect("double-click-item", self.__on_double_click_item)
self.filter_view.connect("single-click-item", self.__on_single_click_item)
self.filter_view.draw_mask = self.draw_filter_view_mask
self.filter_scrolled_window = ScrolledWindow()
self.filter_scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
self.filter_scrolled_window.add_child(self.filter_view)
# songs_view
self.songs_view = MultiDragSongView()
self.songs_view.add_titles([_("Title"), _("Artist"), _("Album"), _("Added time")])
self.songs_scrolled_window = ScrolledWindow(0, 0)
self.songs_scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
self.songs_scrolled_window.add_child(self.songs_view)
# left_vbox
align = gtk.Alignment()
#.........这里部分代码省略.........