def __init__(self): self.tree_view_open = app_theme.get_pixbuf("treeview/open.png") self.tree_view_close = app_theme.get_pixbuf("treeview/close.png") self.tree_view_right = app_theme.get_pixbuf("treeview/right.png") self.tree_view_bottom = app_theme.get_pixbuf("treeview/bottom.png") # self.listview_color = ui_theme.get_color("scrolledbar") self.play_list_vbox = gtk.VBox() # self.list_scroll_win = ScrolledWindow(0, 0) self.list_scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) self.list_view = ListView() # self.tree_scroll_win = ScrolledWindow(0, 0) self.tree_scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) self.tree_view = TreeViewBase() self.note_book = NoteBook() # self.list_view.on_draw_sub_item = self.__listview_on_draw_sub_item self.list_view.columns.add_range(["filename", "time"]) self.list_view.columns[0].width = 120 self.list_view.columns[1].width = 95 # self.note_book.hide_title() self.tree_view.paint_nodes_event = self.__treeview_paint_nodes_event # self.list_scroll_win.add_with_viewport(self.list_view) self.tree_scroll_win.add_with_viewport(self.tree_view) self.note_book.add_layout1(self.list_scroll_win) self.note_book.add_layout2(self.tree_scroll_win) #self.play_list_vbox.pack_start(self.scroll_win, True, True) self.play_list_vbox.pack_start(self.note_book, True, True)
def __init__(self): self.button = ToggleButton( app_theme.get_pixbuf("bottom_buttons/play_list_button.png"), app_theme.get_pixbuf("bottom_buttons/list_button_background.png"), ) self.button.set_active(False) tooltip_text(self.button, _("Playlist"))
def __init__( self, padding_left=0, ): CycleStrip.__init__(self, app_theme.get_pixbuf("strip/background.png")) self.label = Label() self.label_align = gtk.Alignment() self.label_align.set(0.0, 0.5, 0, 0) self.label_align.set_padding(0, 0, padding_left, 0) self.label_align.add(self.label) self.search_button = ImageButton( app_theme.get_pixbuf("entry/search_normal.png"), app_theme.get_pixbuf("entry/search_hover.png"), app_theme.get_pixbuf("entry/search_press.png"), ) self.search_entry = InputEntry(action_button=self.search_button) self.search_entry.set_size(220, 24) entry_align = gtk.Alignment(0.5, 0.5, 0, 0) entry_align.set_padding(0, 0, 5, 5) entry_align.add(self.search_entry) self.pack_start(self.label_align, True, True) self.pack_start(entry_align, False, False)
def __init__(self, tip_text=None, menu=None, top_menu_normal = app_theme.get_pixbuf("top_menu/normal.png"), top_menu_prelight = app_theme.get_pixbuf("top_menu/prelight.png"), top_menu_press = app_theme.get_pixbuf("top_menu/press.png") ): gtk.Button.__init__(self) # set topmenu tooltip. if tip_text: tooltip_text(self, tip_text) self.top_menu_normal = top_menu_normal self.top_menu_prelight = top_menu_prelight self.top_menu_press = top_menu_press self.top_menu_pixbuf_width = 40 self.top_menu_pixbuf_height = 40 self.menu = menu self.menu_show = False # set topmenu size. self.set_size_request( self.top_menu_pixbuf_width, self.top_menu_pixbuf_height) # Init events. self.connect("expose-event", self.expose_topmenu) self.connect("button-press-event", self.button_press_topmenu) self.connect("button-release-event", self.button_release_topmenu) self.connect("leave-notify-event", self.leave_notify_topmenu)
def __init__( self, tip_text=None, menu=None, top_menu_normal=app_theme.get_pixbuf("top_menu/normal.png"), top_menu_prelight=app_theme.get_pixbuf("top_menu/prelight.png"), top_menu_press=app_theme.get_pixbuf("top_menu/press.png")): gtk.Button.__init__(self) # set topmenu tooltip. if tip_text: tooltip_text(self, tip_text) self.top_menu_normal = top_menu_normal self.top_menu_prelight = top_menu_prelight self.top_menu_press = top_menu_press self.top_menu_pixbuf_width = 40 self.top_menu_pixbuf_height = 40 self.menu = menu self.menu_show = False # set topmenu size. self.set_size_request(self.top_menu_pixbuf_width, self.top_menu_pixbuf_height) # Init events. self.connect("expose-event", self.expose_topmenu) self.connect("button-press-event", self.button_press_topmenu) self.connect("button-release-event", self.button_release_topmenu) self.connect("leave-notify-event", self.leave_notify_topmenu)
def __init__(self, padding_left=0,): ''' init docs ''' # Init. CycleStrip.__init__(self, app_theme.get_pixbuf("strip/background.png")) self.label = Label() self.label_align = gtk.Alignment() self.label_align.set(0.0, 0.5, 0, 0) self.label_align.set_padding(0, 0, padding_left, 0) self.label_align.add(self.label) self.search_button = ImageButton( app_theme.get_pixbuf("entry/search_normal.png"), app_theme.get_pixbuf("entry/search_hover.png"), app_theme.get_pixbuf("entry/search_press.png"), ) self.search_entry = InputEntry(action_button=self.search_button) self.search_entry.set_size(220, 24) entry_align = gtk.Alignment(0.5, 0.5, 0, 0) entry_align.set_padding(0, 0, 5, 5) entry_align.add(self.search_entry) self.pack_start(self.label_align, True, True) self.pack_start(entry_align, False, False)
def __init__(self): '''application.''' self.app = Application(False) # application set. self.app.set_default_size(800, 500) # self.app.window.resize self.app.set_icon(app_theme.get_pixbuf("icon.ico")) self.app.set_skin_preview(app_theme.get_pixbuf("frame.png")) # set titlebar. self.app.add_titlebar(["theme", "menu", "max", "min", "close"], app_theme.get_pixbuf("logo.png"), _("Deepin Media Player"), " ", add_separator = False) # self.main_ali = gtk.Alignment() self.main_vbox = gtk.VBox() self.main_ali.add(self.main_vbox) self.main_ali.set(0, 0, 1.0, 1.0) self.main_ali.set_padding(0, 2, 2, 2) '''movie screen. 电影播放屏幕.''' # 播放屏幕和播放列表的HBOX. self.screen_and_play_list_hbox = gtk.HBox() self.screen_frame = gtk.Alignment(0.0, 0.0, 1.0, 1.0) self.screen = gtk.DrawingArea() self.screen_frame.add(self.screen) # self.play_list = gtk.Button("播放列表") # self.screen_and_play_list_hbox.pack_start(self.screen_frame, True, True) self.screen_and_play_list_hbox.pack_start(self.play_list, False, False) # self.main_vbox.pack_start(self.screen_and_play_list_hbox, True, True) # self.app.main_box.pack_start(self.main_ali, True, True)
def update(self, title="icon_pixbuf", name="Linux deepin", length="progress_buffer", _format="rmvb"): '''Update.''' # Update. self.title = title self.name = name self.length = length self.format = _format # Calculate item size. # self.title_padding_x = 10 # self.title_padding_y = 5 # (self.title_width, self.title_height) = get_content_size(self.title, DEFAULT_FONT_SIZE) #DEFAULT_FONT_SIZE # self.title_width = 20 self.name_padding_x = 10 self.name_padding_y = 5 (self.name_width, self.name_height) = get_content_size(self.name, DEFAULT_FONT_SIZE) #DEFAULT_FONT_SIZE self.name_width = 80 self.length_padding_x = 50 self.length_padding_y = 5 (self.length_width, self.length_height) = get_content_size(self.length, DEFAULT_FONT_SIZE) #DEFAULT_FONT_SIZE self.format_padding_x = 0 self.format_padding_y = 5 (self.format_width, self.format_height) = get_content_size(self.format, 8) #DEFAULT_FONT_SIZE # ProgressBar buffer. self.progress_ratio = 0.0 # self.progress_padding_x = 30 self.progress_padding_x = 25 self.progress_padding_y = 5 self.progress_w, self.progress_h = 100, 10 self.progress_buffer = ProgressBuffer() self.status_icon = None self.status_icon_press = None self.wait_icon = app_theme.get_pixbuf("transcoder/wait.png").get_pixbuf() self.wait_icon_press = app_theme.get_pixbuf("transcoder/wait_press.png").get_pixbuf() # stop conv. self.stop_icon = app_theme.get_pixbuf("transcoder/stop.png").get_pixbuf() self.stop_icon_press = app_theme.get_pixbuf("transcoder/stop_press.png").get_pixbuf() # conv success. self.success_icon = app_theme.get_pixbuf("transcoder/success.png").get_pixbuf() self.success_icon_press = app_theme.get_pixbuf("transcoder/success_press.png").get_pixbuf() # staring conv. self.working_icon = app_theme.get_pixbuf("transcoder/working.png").get_pixbuf() self.working_icon_press = app_theme.get_pixbuf("transcoder/working_press.png").get_pixbuf() # error . self.error_icon = app_theme.get_pixbuf("transcoder/error.png").get_pixbuf() self.error_icon_press = app_theme.get_pixbuf("transcoder/error_press.png").get_pixbuf() # Init icon state. self.set_status_icon("wait") # set icon[position]->> x and y. self.status_icon_padding_x = 5 self.status_icon_padding_y = 5 # get icon width and height . self.status_icon_w, self.status_icon_h = (self.status_icon.get_width(), self.status_icon.get_height())
def __init__(self): self.one_close = app_theme.get_pixbuf("treeview/1-close.png") self.one_open = app_theme.get_pixbuf("treeview/1-open.png") self.two_close = app_theme.get_pixbuf("treeview/2-close.png") self.two_open = app_theme.get_pixbuf("treeview/2-open.png") self.three_close = app_theme.get_pixbuf("treeview/3-close.png") self.three_open = app_theme.get_pixbuf("treeview/3-open.png") # self.tree_view_open = app_theme.get_pixbuf("treeview/open.png") self.tree_view_close = app_theme.get_pixbuf("treeview/close.png") self.tree_view_right = app_theme.get_pixbuf("treeview/right.png") self.tree_view_bottom = app_theme.get_pixbuf("treeview/bottom.png") # self.listview_color = ui_theme.get_color("scrolledbar") self.play_list_vbox = gtk.VBox() # self.list_view_vbox = gtk.VBox() self.list_scroll_win = ScrolledWindow(0, 0) self.list_scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) self.list_view = ListView() # self.play_list_con = PlayListControl() # self.list_view_vbox.pack_start(self.list_scroll_win, True, True) self.list_view_vbox.pack_start(self.play_list_con, False, False) # 网络列表,搜索框. self.tree_scroll_win = ScrolledWindow(0, 0) self.tree_scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) self.tree_view_vbox = gtk.VBox() self.tree_view = TreeViewBase() self.search_ali = gtk.Alignment(0, 0, 1, 1) self.search = Search() self.search_ali.add(self.search) # self.search_ali.set_padding(7, 5, 12, 12) self.tree_view_vbox.pack_start(self.search_ali, False, False) self.tree_view_vbox.pack_start(self.tree_scroll_win, True, True) self.search_ali.connect("expose-event", self.search_ali_expose_event) # self.note_book = NoteBook() # self.list_view.on_draw_sub_item = self.__listview_on_draw_sub_item self.list_view.columns.add_range(["filename", "time"]) self.list_view.columns[0].width = 120 self.list_view.columns[1].width = 95 # self.note_book.hide_title() self.tree_view.paint_nodes_event = self.__treeview_paint_nodes_event # self.list_scroll_win.add_with_viewport(self.list_view) self.tree_scroll_win.add_with_viewport(self.tree_view) #self.note_book.add_layout1(self.list_scroll_win) self.note_book.add_layout1(self.list_view_vbox) self.note_book.add_layout2(self.tree_view_vbox) #self.play_list_vbox.pack_start(self.scroll_win, True, True) self.play_list_vbox.pack_start(self.note_book, True, True)
def __init_values(self): # b [ bseek], f [ fseek] self.b_normal_pixbuf = app_theme.get_pixbuf("progressbar/bseek_normal.png") self.b_press_pixbuf = app_theme.get_pixbuf("progressbar/bseek_press.png") self.f_normal_pixbuf = app_theme.get_pixbuf("progressbar/fseek_normal.png") self.f_press_pixbuf = app_theme.get_pixbuf("progressbar/fseek_press.png") # w = self.b_normal_pixbuf.get_pixbuf().get_width() h = self.b_normal_pixbuf.get_pixbuf().get_height() self.set_size_request(w, h)
def __init_values(self): self.clear_check = False self.search_none_color = app_theme.get_color("searchNone").get_color() self.search_input_color = app_theme.get_color("searchInput").get_color() # self.search_bg_pixbuf = app_theme.get_pixbuf("net_search/search_bg.png").get_pixbuf() self.clear_normal_pixbuf = app_theme.get_pixbuf("net_search/clean_normal.png").get_pixbuf() self.clear_hover_pixbuf = app_theme.get_pixbuf("net_search/clean_hover.png").get_pixbuf() self.search_hover_pixbuf = app_theme.get_pixbuf("net_search/search_hover.png").get_pixbuf() self.search_normal_pixbuf = app_theme.get_pixbuf("net_search/search_normal.png").get_pixbuf()
def __on_draw_item_fg(self, cr, rect): top_pixbuf = app_theme.get_pixbuf("playlist/list_top.png").get_pixbuf() bottom_pixbuf = app_theme.get_pixbuf("playlist/list_bottom.png").get_pixbuf() # scroll_win = get_match_parent(self, "ScrolledWindow") vadjust = scroll_win.get_vadjustment() if vadjust.get_value() != vadjust.get_lower(): draw_pixbuf(cr, top_pixbuf, 0, vadjust.get_value() - 1) if vadjust.get_value() + vadjust.get_page_size() != vadjust.get_upper(): y = vadjust.get_value() + vadjust.get_page_size() - bottom_pixbuf.get_height() draw_pixbuf(cr, bottom_pixbuf, 0, y)
def __init__(self): '''application.''' self.__init_values() self.app = Application(False) # application set. app_w, app_h = 890, 590 min_app_w, min_app_h = 480, 300 self.app.set_default_size(min_app_w, min_app_h) self.app.window.set_default_size(app_w, app_h) # self.app.window.resize self.app.set_icon(app_theme.get_pixbuf("icon.ico")) self.app.set_skin_preview(app_theme.get_pixbuf("frame.png")) # set titlebar. self.app.add_titlebar(["theme", "menu", "max", "min", "close"], app_theme.get_pixbuf("logo.png"), _("Deepin Media Player"), " ", add_separator = False) # self.play_menus = PlayMenus() # 设置主题菜单. self.app.set_menu_callback(lambda button: self.play_menus.show_theme_menu(button)) # self.main_ali = gtk.Alignment() self.main_vbox = gtk.VBox() self.main_ali.add(self.main_vbox) self.main_ali.set(0, 0, 1.0, 1.0) self.main_ali.set_padding(0, 2, 2, 2) '''movie screen. 电影播放屏幕.''' # 播放屏幕和播放列表的HBOX. self.play_list_view = PlayListView() self.screen_paned = Paned() self.screen_paned.paint_bottom_window = self.__paint_bottom_toolbar_background self.screen_frame = gtk.Alignment(0.0, 0.0, 1.0, 1.0) self.screen = gtk.DrawingArea() self.screen_frame.add(self.screen) self.top_toolbar = ToolBar() self.bottom_toolbar = BottomToolBar() # BUG: 当显示上部工具条的时候,画面抖动. self.screen_paned.add_top_widget(self.top_toolbar.hbox_hframe) self.screen_paned.add_bottom_widget(self.bottom_toolbar.vbox) # self.screen_frame_event = self.screen_paned self.screen_paned.screen = self.screen # self.screen_paned.add1(self.screen_frame) self.screen_paned.add2(self.play_list_view.play_list_vbox) # self.play_control_panel = BottomToolBar(False) # self.main_vbox.pack_start(self.screen_paned, True, True) self.main_vbox.pack_start(self.play_control_panel.vbox, False, False) # self.app.main_box.pack_start(self.main_ali, True, True)
def __on_draw_item_fg(self, cr, rect): top_pixbuf = app_theme.get_pixbuf("playlist/list_top.png").get_pixbuf() bottom_pixbuf = app_theme.get_pixbuf( "playlist/list_bottom.png").get_pixbuf() # scroll_win = get_match_parent(self, "ScrolledWindow") vadjust = scroll_win.get_vadjustment() if vadjust.get_value() != vadjust.get_lower(): draw_pixbuf(cr, top_pixbuf, 0, vadjust.get_value() - 1) if vadjust.get_value() + vadjust.get_page_size() != vadjust.get_upper( ): y = vadjust.get_value() + vadjust.get_page_size( ) - bottom_pixbuf.get_height() draw_pixbuf(cr, bottom_pixbuf, 0, y)
def __init_values(self): self.color = ui_theme.get_color("scrolledbar") self.fg_left_color = app_theme.get_color("progressBarLeft") self.fg_right_color = app_theme.get_color("progressBarRight") self.bg_pixbuf = app_theme.get_pixbuf("progressbar/bg.png").get_pixbuf() # self.drag_pixbuf = app_theme.get_pixbuf("progressbar/slide_block.png").get_pixbuf() self.drag_pixbuf_width = self.drag_pixbuf.get_width() self.drag_pixbuf_height = self.drag_pixbuf.get_height() # self.max_value = 100 self.min_value = 0 self.pos = 0 self.drag_show_check = False self.move_check = False
def button_press_start_button(self, widget, event, desktops): pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() desktop_infos = self.data_manager.get_pkg_desktop_info(desktops) global_event.emit("start-pkg", self.alias_name, desktop_infos, (int(event.x), int(event.y), pixbuf.get_width() / 2, 0))
def is_in_button_area(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() return (self.install_status and column == 2 and is_in_rect( (offset_x, offset_y), (self.BUTTON_PADDING_X, (self.height - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height())))
def __init__(self, pkg_name, pkg_version, data_manager): ''' init docs ''' TreeItem.__init__(self) self.pkg_name = pkg_name self.pkg_version = pkg_version self.data_manager = data_manager self.icon_pixbuf = None info = data_manager.get_item_pkg_info(self.pkg_name) self.alias_name = info[1] self.short_desc = info[2] self.star_level = get_star_level(5.0) self.star_buffer = DscStarBuffer(pkg_name) self.grade_star = 0 button_pixbuf = app_theme.get_pixbuf( "button/uninstall_normal.png").get_pixbuf() (self.button_width, self.button_height ) = button_pixbuf.get_width(), button_pixbuf.get_height() self.button_status = BUTTON_NORMAL self.status = self.STATUS_NORMAL self.status_text = "" self.progress_buffer = ProgressBuffer()
def get_offset_with_button(self, offset_x, offset_y): pixbuf = app_theme.get_pixbuf( "button/start_small_normal.png").get_pixbuf() popup_x = self.BUTTON_PADDING_X + pixbuf.get_width() / 2 popup_y = self.height - self.BUTTON_PADDING_BOTTOM - pixbuf.get_height( ) return (offset_x, offset_y, popup_x, popup_y)
def __init__(self, pkg_name, pkg_version, data_manager): ''' init docs ''' TreeItem.__init__(self) self.pkg_name = pkg_name self.pkg_version = pkg_version self.data_manager = data_manager self.icon_pixbuf = None (self.short_desc, star, self.alias_name) = data_manager.get_item_pkg_info(self.pkg_name) self.star_level = get_star_level(star) self.star_buffer = DscStarBuffer(pkg_name) self.grade_star = 0 self.status = self.STATUS_READY_DOWNLOAD self.status_text = _("Analyzing dependencies") self.progress_buffer = ProgressBuffer() button_pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() (self.button_width, self.button_height) = button_pixbuf.get_width(), button_pixbuf.get_height() self.button_status = BUTTON_NORMAL self.is_have_desktop_file = False
def __init_menu(self): self.menu = Menu() self.menu.set_title("DPlayer combobox") self.open_cdrom = app_theme.get_pixbuf( "screen_mid/screen_menu_open_cdrom.png") # ''' 添加子菜单的cdrom.
def __expose_event(self, widget, event): cr = widget.window.cairo_create() rect = widget.allocation # 画背景. bg_pixbuf = self.bg.get_pixbuf().scale_simple(rect.width, rect.height, gtk.gdk.INTERP_BILINEAR) x = rect.x y = rect.y draw_pixbuf(cr, bg_pixbuf, x, y) # if None != self.__index: cr.set_source_rgba(1, 1, 1, 0.1) cr.rectangle(x + 2, y + self.__index * self.__menu_height + 2, rect.width - 4, self.__menu_height - 4) cr.fill() # index = 0 for item in self.menu_items: pixbuf, text = item.pixbuf, item.text if pixbuf: draw_pixbuf( cr, pixbuf, x + 8, y + index * self.__menu_height + self.__menu_height / 2 - pixbuf.get_height() / 2) draw_text( cr, text, x + 35, y + index * self.__menu_height + self.__menu_height / 2 - get_text_size(text)[1] / 2) if item.child_menus: pixbuf = app_theme.get_pixbuf( "screen_mid/menu_child.png").get_pixbuf() draw_pixbuf( cr, pixbuf, x + rect.width - 10, y + index * self.__menu_height + self.__menu_height / 2 - pixbuf.get_height() / 2) index += 1
def __init__(self, mirror, item_clicked_callback=None): TreeItem.__init__(self) self.mirror = mirror self.radio_button = SelectedButtonBuffer(render_padding_x=2, render_padding_y=4) self.pixbuf_normal = app_theme.get_pixbuf("mirror/server_small_normal.png").get_pixbuf() self.pixbuf_hover = app_theme.get_pixbuf("mirror/server_small_hover.png").get_pixbuf() self.pixbuf_press = app_theme.get_pixbuf("mirror/server_small_press.png").get_pixbuf() (self.button_width, self.button_height) = self.pixbuf_normal.get_width(), self.pixbuf_normal.get_height() self.button_status = self.BUTTON_NORMAL if item_clicked_callback: self.connect('item-clicked', item_clicked_callback)
def is_stop_button_can_click(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("button/stop.png").get_pixbuf() return (column == 1 and is_in_rect( (offset_x, offset_y), (self.get_column_widths()[column] - ITEM_CANCEL_BUTTON_PADDING_RIGHT, (ITEM_HEIGHT - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height())))
def __init__(self, pkg_name, pkg_version, data_manager): ''' init docs ''' TreeItem.__init__(self) self.pkg_name = pkg_name self.pkg_version = pkg_version self.data_manager = data_manager self.icon_pixbuf = None info = self.data_manager.get_item_pkg_info(self.pkg_name) self.alias_name = info[1] self.short_desc = info[2] self.star_level = get_star_level(5.0) self.star_buffer = DscStarBuffer(pkg_name) self.grade_star = 0 self.status = self.STATUS_READY_DOWNLOAD self.status_text = _("Dependencies analyzing") self.progress_buffer = ProgressBuffer() button_pixbuf = app_theme.get_pixbuf( "button/start_normal.png").get_pixbuf() (self.button_width, self.button_height ) = button_pixbuf.get_width(), button_pixbuf.get_height() self.button_status = BUTTON_NORMAL ### TODO: is_installed status self.install_status = json.dumps([]) self.desktops = []
def __expose_event(self, widget, event): cr = widget.window.cairo_create() rect = widget.allocation # 画背景. bg_pixbuf = self.bg.get_pixbuf().scale_simple(rect.width, rect.height, gtk.gdk.INTERP_BILINEAR) x = rect.x y = rect.y draw_pixbuf(cr, bg_pixbuf, x, y) # if None != self.__index: cr.set_source_rgba(1, 1, 1, 0.1) cr.rectangle(x + 2, y + self.__index * self.__menu_height + 2, rect.width - 4, self.__menu_height - 4) cr.fill() # index = 0 for item in self.menu_items: pixbuf, text = item.pixbuf, item.text if pixbuf: draw_pixbuf(cr, pixbuf, x + 8, y + index * self.__menu_height + self.__menu_height/2 - pixbuf.get_height()/2) draw_text(cr, text, x + 35, y + index * self.__menu_height + self.__menu_height/2 - get_text_size(text)[1]/2) if item.child_menus: pixbuf = app_theme.get_pixbuf("screen_mid/menu_child.png").get_pixbuf() draw_pixbuf(cr, pixbuf, x + rect.width - 10, y + index * self.__menu_height + self.__menu_height/2 - pixbuf.get_height()/2) index += 1
def __init__(self, active=False, render_padding_x=0, render_padding_y=0, ): ''' Initialize RadioButtonBuffer class. @param active: Set True to active buffer status, default is False. @param render_padding_x: Horizontal padding value, default is 0. @param render_padding_y: Vertical padding value, default is 0. ''' gobject.GObject.__init__(self) #self.inactive_normal_dpixbuf = ui_theme.get_pixbuf("button/radio_button_inactive_normal.png") #self.active_normal_dpixbuf = ui_theme.get_pixbuf("button/radio_button_active_normal.png") #self.inactive_hover_dpixbuf = ui_theme.get_pixbuf("button/radio_button_inactive_hover.png") #self.active_hover_dpixbuf = ui_theme.get_pixbuf("button/radio_button_active_hover.png") #self.inactive_press_dpixbuf = ui_theme.get_pixbuf("button/radio_button_inactive_press.png") #self.active_press_dpixbuf = ui_theme.get_pixbuf("button/radio_button_active_press.png") self.active_dpixbuf = app_theme.get_pixbuf("mirror/check_box-2.png") self.render_padding_x = render_padding_x self.render_padding_y = render_padding_y pixbuf = self.active_dpixbuf.get_pixbuf() self.render_width = pixbuf.get_width() self.render_height = pixbuf.get_height() self.active = active self.button_state = self.STATE_NORMAL
def __init__(self, pkg_name, pkg_version, data_manager): ''' init docs ''' TreeItem.__init__(self) self.pkg_name = pkg_name self.pkg_version = pkg_version self.data_manager = data_manager self.icon_pixbuf = None info = self.data_manager.get_item_pkg_info(self.pkg_name) self.alias_name = info[1] self.short_desc = info[2] self.star_level = get_star_level(5.0) self.star_buffer = DscStarBuffer(pkg_name) self.grade_star = 0 self.status = self.STATUS_READY_DOWNLOAD self.status_text = _("Dependencies analyzing") self.progress_buffer = ProgressBuffer() button_pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() (self.button_width, self.button_height) = button_pixbuf.get_width(), button_pixbuf.get_height() self.button_status = BUTTON_NORMAL ### TODO: is_installed status self.install_status = json.dumps([]) self.desktops = []
def __init__(self, pkg_name, pkg_version, data_manager): ''' init docs ''' TreeItem.__init__(self) self.pkg_name = pkg_name self.pkg_version = pkg_version self.data_manager = data_manager self.icon_pixbuf = None info = data_manager.get_item_pkg_info(self.pkg_name) self.alias_name = info[1] self.short_desc = info[2] self.star_level = get_star_level(5.0) self.star_buffer = DscStarBuffer(pkg_name) self.grade_star = 0 button_pixbuf = app_theme.get_pixbuf("button/uninstall_normal.png").get_pixbuf() (self.button_width, self.button_height) = button_pixbuf.get_width(), button_pixbuf.get_height() self.button_status = BUTTON_NORMAL self.status = self.STATUS_NORMAL self.status_text = "" self.progress_buffer = ProgressBuffer()
def render_name(self, cr, rect): text_color = "#333333" font_image_color = app_theme.get_color("sidebar_select").get_color() if self.is_select: cr.set_source_rgba(*color_hex_to_cairo( app_theme.get_color("sidebar_select").get_color())) cr.rectangle(rect.x, rect.y, rect.width, rect.height) cr.fill() text_color = "#FFFFFF" font_image_color = "#FFFFFF" elif self.is_hover: cr.set_source_rgba(*color_hex_to_cairo( app_theme.get_color("sidebar_hover").get_color())) cr.rectangle(rect.x, rect.y, rect.width, rect.height) cr.fill() pixbuf = app_theme.get_pixbuf("category/%s.png" % (self.index)).get_pixbuf() category_img_path = os.path.join(get_parent_dir(__file__, 2), "image", "category", "%s.png" % (self.index + 1, )) surface = cairo.ImageSurface.create_from_png(category_img_path) cr.set_source_rgb(*color_hex_to_cairo(font_image_color)) cr.mask_surface(surface, rect.x + 14, rect.y + (rect.height - 24) / 2) draw_text( cr, get_category_name(self.first_category_name), rect.x + pixbuf.get_width() + 22, rect.y, rect.width, rect.height, text_size=CATEGORY_ITEM_NAME_SIZE, text_color=text_color, ) if self.is_hover: if self.is_expand: pixbuf = app_theme.get_pixbuf("sidebar/close.png").get_pixbuf() else: pixbuf = app_theme.get_pixbuf("sidebar/open.png").get_pixbuf() draw_pixbuf(cr, pixbuf, rect.x + rect.width - CATEGORY_ITEM_EXPAND_PADDING_X, rect.y + (rect.height - pixbuf.get_height()) / 2)
def __init_values(self): self.__index = None self.__menu_height = 25 self.__save_show_menu = None self.child_check = False self.menu_parent = None # self.bg = app_theme.get_pixbuf("screen_mid/menu_bg_normal.png") self.open_cdrom = app_theme.get_pixbuf("screen_mid/screen_menu_open_cdrom.png") self.open_dir = app_theme.get_pixbuf("screen_mid/screen_menu_open_dir.png") self.open_url = app_theme.get_pixbuf("screen_mid/screen_menu_open_url.png") self.menu_items = [] if self.menu_items == []: temp_items = [#(self.open_cdrom.get_pixbuf(), _("Open CDROM")), (self.open_dir.get_pixbuf(), _("Open Directory")), (self.open_url.get_pixbuf(), _("Open URL")),] self.set_menu_items(temp_items)
def is_in_expand_button_area(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("sidebar/close.png").get_pixbuf() return is_in_rect((offset_x, offset_y), (CATEGORY_VIEW_WIDTH - CATEGORY_ITEM_EXPAND_PADDING_X, (self.get_height() - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height()))
def is_stop_button_can_click(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("button/stop.png").get_pixbuf() return (column == 1 and is_in_rect((offset_x, offset_y), (self.get_column_widths()[column] - ITEM_CANCEL_BUTTON_PADDING_RIGHT, (ITEM_HEIGHT - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height())))
def is_cancel_button_area(self, column, offset_x, offset_y): cancel_pixbuf = app_theme.get_pixbuf("button/uninstall_cancel.png").get_pixbuf() return (column == 1 and is_in_rect((offset_x, offset_y), (self.get_column_widths()[column] - ITEM_CANCEL_BUTTON_PADDING_RIGHT, (ITEM_HEIGHT - cancel_pixbuf.get_height()) / 2, cancel_pixbuf.get_width(), cancel_pixbuf.get_height())))
def is_in_expand_button_area(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("sidebar/close.png").get_pixbuf() return is_in_rect( (offset_x, offset_y), (CATEGORY_VIEW_WIDTH - CATEGORY_ITEM_EXPAND_PADDING_X, (self.get_height() - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height()))
def __init_values(self): self.this = None self.screen = None self.alpha = 1.0 self.handle_alpha = 1.0 self.top_win_h = 25 self.bottom_win_h = 50 self.top_win_show_check = False self.bottom_win_show_check = False # self.mid_child = gtk.Button("测试") self.mid_child.set_parent(self) self.top_child = None self.bottom_child = None self.__child1 = None self.__child2 = None self.__child2_move_width = 0 #175 #self.__child2_min_width = 175 self.__child2_min_width = 215 self.save_move_width = 0 self.move_check = False # 是否移动paned. self.show_check = False # 是否显示handle图片. # self.__handle = None self.__handle_pos_x = self.__child2_move_width self.__handle_pos_y = 0 self.__handle_pos_w = 6 self.__handle_pos_h = self.allocation.height # self.paint_bottom_window = self.__paint_bottom_window # self.in_pixbuf = app_theme.get_pixbuf("paned/in.png").get_pixbuf() self.out_pixbuf = app_theme.get_pixbuf("paned/out.png").get_pixbuf() # tooltip text. self.tooltip_show_check = False self.text_color = ui_theme.get_color("scrolledbar") self.tooltip_text = "" self.tooltip_x = 30 self.tooltip_y = 30 self.tooltip_alpha = 0.0 self.border_radious = 1 self.tooltip_font = DEFAULT_FONT self.tooltip_size = 15 self.tooltip_hide_hd = None self.border_color = ui_theme.get_color("osd_tooltip_border")
def is_in_button_area(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() return (column == 1 and is_in_rect((offset_x, offset_y), (self.get_column_widths()[column] - ITEM_BUTTON_PADDING_RIGHT - pixbuf.get_width(), (ITEM_HEIGHT - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height() )))
def __init__(self, connect_function, argv, normal_pixbuf_1 = app_theme.get_pixbuf("top_toolbar/cacel_window_above_normal.png"), hover_pixbuf_1 = app_theme.get_pixbuf("top_toolbar/cacel_window_above_hover.png"), normal_pixbuf_2 = app_theme.get_pixbuf("top_toolbar/window_above_normal.png"), hover_pixbuf_2 = app_theme.get_pixbuf("top_toolbar/window_above_hover.png")): gtk.Button.__init__(self) self.connect_function = connect_function self.argv = argv self.flags = True self.normal_pixbuf_1 = normal_pixbuf_1 self.normal_pixbuf_2 = normal_pixbuf_2 self.hover_pixbuf_1 = hover_pixbuf_1 self.hover_pixbuf_2 = hover_pixbuf_2 self.add_events(gtk.gdk.ALL_EVENTS_MASK) self.togglehoverbutton_event(self) self.cache_pixbuf = CachePixbuf()
def is_cancel_button_area(self, column, offset_x, offset_y): cancel_pixbuf = app_theme.get_pixbuf( "button/uninstall_cancel.png").get_pixbuf() return (column == 1 and is_in_rect( (offset_x, offset_y), (self.get_column_widths()[column] - ITEM_CANCEL_BUTTON_PADDING_RIGHT, (ITEM_HEIGHT - cancel_pixbuf.get_height()) / 2, cancel_pixbuf.get_width(), cancel_pixbuf.get_height())))
def __on_draw_item_hd(self, e): #print "__on_draw_item_hd...", e.drag_rect e.cr.set_source_rgba(*alpha_color_hex_to_cairo(("#272727",1.0))) e.cr.rectangle(*e.rect) e.cr.fill() if e.drag_rect[0] != None: drag_pixbuf = app_theme.get_pixbuf("listview/drag_line.png").get_pixbuf() drag_pixbuf = drag_pixbuf.scale_simple(e.drag_rect[2], 5, gtk.gdk.INTERP_BILINEAR) draw_pixbuf(e.cr, drag_pixbuf, 0, e.drag_rect[0] * e.drag_rect[1])
def __init__(self): self.opacity = 0.0 self.show = False self.hbox = gtk.HBox() self.default_opacity = 0.9 self.toolbar_radio_button = ToolbarRadioButton(None, [None, None]) # full buton. self.toolbar_full_hframe = self.toolbar_radio_button.full_button_align self.toolbar_full_button = self.toolbar_radio_button.full_button # self.toolbar_common_hframe = self.toolbar_radio_button.win_mode_button_align self.toolbar_common_button = self.toolbar_radio_button.win_mode_button # self.toolbar_concise_hframe = self.toolbar_radio_button.concise_button_align self.toolbar_concise_button = self.toolbar_radio_button.concise_button # 1X conect-> self.set_2x_video_play self.toolbar_1X_hframe = HorizontalFrame(5) self.toolbar_1X_button = ToggleHoverButton(None, [None, None], app_theme.get_pixbuf("top_toolbar/1_window_normal.png"), app_theme.get_pixbuf("top_toolbar/1_window_hover.png"), app_theme.get_pixbuf("top_toolbar/1_window_normal.png"), app_theme.get_pixbuf("top_toolbar/1_window_hover.png"), ) tooltip_text(self.toolbar_1X_button, _("100%")) self.toolbar_1X_hframe.add(self.toolbar_1X_button) # 2X conect-> self.set_2x_video_play 显示是 1.5倍. self.toolbar_2X_hframe = HorizontalFrame(5) self.toolbar_2X_button = ToggleHoverButton(None, [None, None], app_theme.get_pixbuf("top_toolbar/2_window_normal.png"), app_theme.get_pixbuf("top_toolbar/2_window_hover.png"), app_theme.get_pixbuf("top_toolbar/2_window_normal.png"), app_theme.get_pixbuf("top_toolbar/2_window_hover.png"), ) tooltip_text(self.toolbar_2X_button, _("150%")) self.toolbar_2X_hframe.add(self.toolbar_2X_button) self.toolbar_above_hframe = HorizontalFrame(5) self.toolbar_above_button = ToggleHoverButton(None, [None, None]) tooltip_text(self.toolbar_above_button, _("Always on Top")) self.toolbar_above_hframe.add(self.toolbar_above_button) self.hbox.pack_start(self.toolbar_radio_button, False, False) self.hbox.pack_start(self.toolbar_1X_hframe, False, False) self.hbox.pack_start(self.toolbar_2X_hframe, False, False) self.hbox.pack_start(self.toolbar_above_hframe, False, False) # above_button self.hbox_hframe = VerticalFrame(padding=4) self.hbox_hframe.add(self.hbox) self.show_time_id = None
def __init__(self): self.opacity = 0.0 self.show = False self.hbox = gtk.HBox() self.default_opacity = 0.9 self.toolbar_radio_button = ToolbarRadioButton(None, [None, None]) # full buton. self.toolbar_full_hframe = self.toolbar_radio_button.full_button_align self.toolbar_full_button = self.toolbar_radio_button.full_button # self.toolbar_common_hframe = self.toolbar_radio_button.win_mode_button_align self.toolbar_common_button = self.toolbar_radio_button.win_mode_button # self.toolbar_concise_hframe = self.toolbar_radio_button.concise_button_align self.toolbar_concise_button = self.toolbar_radio_button.concise_button # 1X conect-> self.set_2x_video_play self.toolbar_1X_hframe = HorizontalFrame(5) self.toolbar_1X_button = ToggleHoverButton(None, [None, None], app_theme.get_pixbuf("top_toolbar/1_window_normal.png"), app_theme.get_pixbuf("top_toolbar/1_window_hover.png"), app_theme.get_pixbuf("top_toolbar/1_window_normal.png"), app_theme.get_pixbuf("top_toolbar/1_window_hover.png"), ) tooltip_text(self.toolbar_1X_button, _("100%")) self.toolbar_1X_hframe.add(self.toolbar_1X_button) # 2X conect-> self.set_2x_video_play self.toolbar_2X_hframe = HorizontalFrame(5) self.toolbar_2X_button = ToggleHoverButton(None, [None, None], app_theme.get_pixbuf("top_toolbar/2_window_normal.png"), app_theme.get_pixbuf("top_toolbar/2_window_hover.png"), app_theme.get_pixbuf("top_toolbar/2_window_normal.png"), app_theme.get_pixbuf("top_toolbar/2_window_hover.png"), ) tooltip_text(self.toolbar_2X_button, _("200%")) self.toolbar_2X_hframe.add(self.toolbar_2X_button) self.toolbar_above_hframe = HorizontalFrame(5) self.toolbar_above_button = ToggleHoverButton(None, [None, None]) tooltip_text(self.toolbar_above_button, _("Always on Top")) self.toolbar_above_hframe.add(self.toolbar_above_button) self.hbox.pack_start(self.toolbar_radio_button, False, False) self.hbox.pack_start(self.toolbar_1X_hframe, False, False) self.hbox.pack_start(self.toolbar_2X_hframe, False, False) self.hbox.pack_start(self.toolbar_above_hframe, False, False) # above_button self.hbox_hframe = VerticalFrame(padding=4) self.hbox_hframe.add(self.hbox) self.show_time_id = None
def is_in_button_area(self, column, offset_x, offset_y): pixbuf = app_theme.get_pixbuf("button/start_normal.png").get_pixbuf() return (self.install_status and column == 2 and is_in_rect((offset_x, offset_y), (self.BUTTON_PADDING_X, (self.height - pixbuf.get_height()) / 2, pixbuf.get_width(), pixbuf.get_height() )))
def is_in_button_area(self, x, y): if self.install_status == "uninstalled" or self.desktops: pixbuf = app_theme.get_pixbuf("button/start_small_normal.png").get_pixbuf() x1 = self.BUTTON_PADDING_X y1 = self.height - self.BUTTON_PADDING_BOTTOM - pixbuf.get_height() w = pixbuf.get_width() h = pixbuf.get_height() return is_in_rect((x, y), (x1, y1, w, h)) else: return False
def __on_draw_item_hd(self, e): #print "__on_draw_item_hd...", e.drag_rect e.cr.set_source_rgba(*alpha_color_hex_to_cairo(("#272727", 1.0))) e.cr.rectangle(*e.rect) e.cr.fill() if e.drag_rect[0] != None: drag_pixbuf = app_theme.get_pixbuf( "listview/drag_line.png").get_pixbuf() drag_pixbuf = drag_pixbuf.scale_simple(e.drag_rect[2], 5, gtk.gdk.INTERP_BILINEAR) draw_pixbuf(e.cr, drag_pixbuf, 0, e.drag_rect[0] * e.drag_rect[1])
def is_in_button_area(self, x, y): if self.install_status == "uninstalled" or self.desktops: pixbuf = app_theme.get_pixbuf( "button/start_small_normal.png").get_pixbuf() x1 = self.BUTTON_PADDING_X y1 = self.height - self.BUTTON_PADDING_BOTTOM - pixbuf.get_height() w = pixbuf.get_width() h = pixbuf.get_height() return is_in_rect((x, y), (x1, y1, w, h)) else: return False
def __init_values(self): self.__index = None self.__menu_height = 25 self.__save_show_menu = None self.child_check = False self.menu_parent = None # self.bg = app_theme.get_pixbuf("screen_mid/menu_bg_normal.png") self.open_cdrom = app_theme.get_pixbuf( "screen_mid/screen_menu_open_cdrom.png") self.open_dir = app_theme.get_pixbuf( "screen_mid/screen_menu_open_dir.png") self.open_url = app_theme.get_pixbuf( "screen_mid/screen_menu_open_url.png") self.menu_items = [] if self.menu_items == []: temp_items = [ #(self.open_cdrom.get_pixbuf(), _("Open CDROM")), (self.open_dir.get_pixbuf(), _("Open Directory")), (self.open_url.get_pixbuf(), _("Open URL")), ] self.set_menu_items(temp_items)
def __init__(self, start_button_normal=app_theme.get_pixbuf("bottom_buttons/play_button_normal.png"), start_button_hover=app_theme.get_pixbuf("bottom_buttons/play_button_hover.png"), start_button_press=app_theme.get_pixbuf("bottom_buttons/play_button_press.png"), pause_button_normal=app_theme.get_pixbuf("bottom_buttons/pause_button_normal.png"), pause_button_hover=app_theme.get_pixbuf("bottom_buttons/pause_button_hover.png"), pause_button_press=app_theme.get_pixbuf("bottom_buttons/pause_button_press.png"), image_y_padding=-2): gtk.Button.__init__(self) self.image_y_padding = image_y_padding self.start_bool = True self.stop_bool = False self.start_button_normal = start_button_normal self.start_button_hover = start_button_hover self.start_button_press = start_button_press self.pause_button_normal = pause_button_normal self.pause_button_hover = pause_button_hover self.pause_button_press = pause_button_press self.connect("expose-event", self.expose_button) self.connect("clicked", self.clicked_button) self.cache_pixbuf = CachePixbuf()
def __init__(self): gtk.HBox.__init__(self) # self.__init_menu() # self.left_hover_pixbuf = app_theme.get_pixbuf( "screen_mid/hover_button_left.png") self.left_press_pixbuf = app_theme.get_pixbuf( "screen_mid/press_button_left.png") self.left_normal_pixbuf = app_theme.get_pixbuf( "screen_mid/normal_button_left.png") # self.right_hover_pixbuf = app_theme.get_pixbuf( "screen_mid/hover_button_right.png") self.right_press_pixbuf = app_theme.get_pixbuf( "screen_mid/press_button_right.png") self.right_normal_pixbuf = app_theme.get_pixbuf( "screen_mid/normal_button_right.png") # self.select_btn = gtk.Button(_("Open file")) self.popup_btn = gtk.Button("Open Menu") pixbuf = self.left_normal_pixbuf.get_pixbuf() self.select_btn.set_size_request(pixbuf.get_width(), pixbuf.get_height()) pixbuf = self.right_normal_pixbuf.get_pixbuf() self.popup_btn.set_size_request(pixbuf.get_width(), pixbuf.get_height()) # self.select_btn.connect("expose-event", self.__select_btn_expose_event) self.popup_btn.connect("clicked", self.__popup_btn_clicked) self.popup_btn.connect("expose-event", self.__popup_btn_expose_event) # self.pack_start(self.select_btn, True, True) self.pack_start(self.popup_btn, True, True)
def __init__(self, padding_left=0): ''' init docs ''' # Init. CycleStrip.__init__(self, app_theme.get_pixbuf("strip/background.png")) self.label = Label() self.label_align = gtk.Alignment() self.label_align.set(0.0, 0.5, 0, 0) self.label_align.set_padding(0, 0, padding_left, 0) self.label_align.add(self.label) self.pack_start(self.label_align, True, True)
def __init__(self): gtk.HBox.__init__(self) self.del_btn = gtk.Button("del") self.add_btn = gtk.Button("add") self.empty_btn = gtk.Button('') height = 22 self.del_btn.set_size_request(-1, height) self.add_btn.set_size_request(-1, height) self.empty_btn.set_size_request(-1, height) # init pixbuf. self.del_pixbuf = app_theme.get_pixbuf( "bottom_buttons/play_list_del_file.png").get_pixbuf() self.add_pixbuf = app_theme.get_pixbuf( "bottom_buttons/play_list_add_file.png").get_pixbuf() # self.del_btn.connect("expose-event", self.del_btn_expose_event) self.add_btn.connect("expose-event", self.add_btn_expose_event) self.empty_btn.connect("expose-event", self.empty_btn_expose_event) # self.pack_start(self.empty_btn, True, True) self.pack_start(self.add_btn, False, False) self.pack_start(self.del_btn, False, False)