Beispiel #1
0
 def __create_column(self):
     from gtk import TreeViewColumn, CellRendererText
     column = TreeViewColumn()
     renderer = CellRendererText()
     column.pack_start(renderer, False)
     column.set_attributes(renderer, text=0)
     column.set_expand(False)
     return column
Beispiel #2
0
	def __create_column(self):
		from gtk import TreeViewColumn, CellRendererText
		column = TreeViewColumn()
		renderer = CellRendererText()
		column.pack_start(renderer, False)
		column.set_attributes(renderer, text=0)
		column.set_expand(False)
		return column
Beispiel #3
0
	def __create_column(self, title, renderer, text=0, expand=False, indicator=False):
		from gtk import TREE_VIEW_COLUMN_AUTOSIZE, SORT_DESCENDING
		from gtk import TreeViewColumn
		column = TreeViewColumn(title, renderer, text=text)
		column.set_expand(expand)
		column.set_sizing(TREE_VIEW_COLUMN_AUTOSIZE)
		column.set_sort_indicator(indicator)
		column.set_sort_order(SORT_DESCENDING)
		column.set_sort_column_id(text)
		return column
Beispiel #4
0
 def __create_column(self,
                     title,
                     renderer,
                     text=0,
                     expand=False,
                     indicator=False):
     from gtk import TREE_VIEW_COLUMN_AUTOSIZE, SORT_DESCENDING
     from gtk import TreeViewColumn
     column = TreeViewColumn(title, renderer, text=text)
     column.set_expand(expand)
     column.set_sizing(TREE_VIEW_COLUMN_AUTOSIZE)
     column.set_sort_indicator(indicator)
     column.set_sort_order(SORT_DESCENDING)
     column.set_sort_column_id(text)
     return column
Beispiel #5
0
	def __set_properties(self):
		from gtk import TreeView, CellRendererToggle, TreeViewColumn
		from gtk import TREE_VIEW_COLUMN_AUTOSIZE, CellRendererText
		from gtk import SORT_DESCENDING
		view = self.__view
		self.__renderer.set_property("activatable", True)
		# Create a column for selecting encodings.
		column = TreeViewColumn(_("Select"), self.__renderer)
		view.append_column(column)
		column.set_expand(False)
		column.set_sizing(TREE_VIEW_COLUMN_AUTOSIZE)
		column.add_attribute(self.__renderer, "active", 0)
		column.set_sort_indicator(True)
		column.set_sort_order(SORT_DESCENDING)
		column.set_sort_column_id(0)
		# Create a renderer for the character encoding column.
		renderer = CellRendererText()
		# Create a column for character encoding.
		column = TreeViewColumn(_("Character Encoding"), renderer, text=1)
		view.append_column(column)
		column.set_expand(True)
		column.set_sizing(TREE_VIEW_COLUMN_AUTOSIZE)
		column.set_sort_indicator(True)
		column.set_sort_order(SORT_DESCENDING)
		column.set_sort_column_id(1)
		# Create the renderer for the Language column
		renderer = CellRendererText()
		# Create a column for Language and Region and set the column's properties.
		column = TreeViewColumn(_("Language and Region"), renderer, text=2)
		view.append_column(column)
		column.set_expand(True)
		column.set_sizing(TREE_VIEW_COLUMN_AUTOSIZE)
		column.set_sort_indicator(True)
		column.set_sort_order(SORT_DESCENDING)
		column.set_sort_column_id(2)
		# Set treeview properties
		view.columns_autosize()
		view.set_model(self.__create_model())
		#view.set_enable_search(True)
		return
Beispiel #6
0
	def __init__(self, runaslib=True):
		"""Class constructor."""
		# Load Glade XML
		self.xml = gtk.glade.XML( "graph.glade" )

		# Make sure application shuts down if main window closes
		self.w = self.xml.get_widget( 'window_graph' )
		self.w.connect( 'delete_event', gtk.main_quit )

		# Get Windows child
		self.w_child = self.w.get_child()

		# Get a 2nd degree polynomial
		self.poly = None

		# Get widgets
		self.label_info = self.xml.get_widget( 'label_info' )
		self.txt_func_a_1 = self.xml.get_widget( 'txt_func_a_1' )
		self.txt_func_b_1 = self.xml.get_widget( 'txt_func_b_1' )
		self.txt_func_a_2 = self.xml.get_widget( 'txt_func_a_2' )
		self.txt_func_b_2 = self.xml.get_widget( 'txt_func_b_2' )
		self.txt_func_c_2 = self.xml.get_widget( 'txt_func_c_2' )

		# Axis widgets
		self.txt_axis_x_min = self.xml.get_widget( 'txt_axis_x_min' )
		self.txt_axis_x_max = self.xml.get_widget( 'txt_axis_x_max' )
		self.txt_axis_x_step = self.xml.get_widget( 'txt_axis_x_step' )
		self.txt_axis_y_min = self.xml.get_widget( 'txt_axis_y_min' )
		self.txt_axis_y_max = self.xml.get_widget( 'txt_axis_y_max' )
		self.txt_axis_y_step = self.xml.get_widget( 'txt_axis_y_step' )

		# Main tab buttons
		btn_draw = self.xml.get_widget( 'btn_draw' )
		btn_draw.connect( 'clicked', self.on_draw_clicked )
		self.set_button_icon( btn_draw, 'draw.svg' )

		btn_store = self.xml.get_widget( 'btn_store' )
		btn_store.connect( 'clicked', self.on_store_clicked )
		self.set_button_icon( btn_store, 'archive.svg' )

		self.btn_delete = self.xml.get_widget( 'btn_delete' )
		self.btn_delete.connect( 'clicked', self.on_delete_clicked )
		self.set_button_icon( self.btn_delete, 'delete.svg' )

		self.btn_color = self.xml.get_widget( 'btn_color' )
		self.btn_color.connect( 'clicked', self.on_color_clicked )
		self.set_button_icon( self.btn_color, 'color.svg' )
		self.color_dlg = None

		self.btn_animate = self.xml.get_widget( 'btn_animate' )
		self.btn_animate.connect( 'clicked', self.on_animate_clicked )
		self.set_button_icon( self.btn_animate, 'animate.svg' )

		# Config tab buttons
		btn_reset = self.xml.get_widget( 'btn_reset' )
		btn_reset.connect( 'clicked', self.on_reset_clicked )
		self.set_button_icon( btn_reset, 'undo.svg' )

		self.toggle_show_axis_numbers = self.xml.get_widget( "toggle_show_axis_numbers" )
		self.set_button_icon( self.toggle_show_axis_numbers, 'ruller.svg' )

		self.toggle_show_grid = self.xml.get_widget( "toggle_show_grid" )
		self.set_button_icon( self.toggle_show_grid, 'grid.svg' )

		# Setup draw area
		self.draw = self.xml.get_widget( 'drawing_area' )
		self.draw.connect( 'motion_notify_event', self.update_coords )
		self.draw.connect( 'button_press_event', self.on_draw_button_pressed )
		self.draw.connect( 'configure_event', self.on_draw_configure )
		self.draw.connect( "expose_event", self.on_draw_expose )
		self.draw.get_pango_context().set_font_description( pango.FontDescription( "fixed 6" ) )
		self.pixmap = None
		self.old_pixmap = None
		self.gc = None
		self.width = self.height = 0

		# More event handlers
		self.notebook = self.xml.get_widget( 'notebook_app' )
		self.notebook.connect( 'switch_page', self.on_tab_switched )

		# Template labels
		self.notebook_degree = self.xml.get_widget( 'notebook_degree' )
		self.list_functions = self.xml.get_widget( 'list_functions' )
		self.list_functions.connect( "cursor-changed", self.on_functions_updated )
		# setup the view ...
		cellr = gtk.CellRendererText()
		col = TreeViewColumn( _( 'Functions' ), cellr )
		col.set_cell_data_func( cellr, markup_func )
		col.set_expand( True )
		self.list_functions.append_column( col )

		cellr = gtk.CellRendererToggle()
		cellr.connect( "toggled", self.on_visible_toggled )
		pb = gtk.gdk.pixbuf_new_from_file( "icons/eye.png" )
		img = gtk.Image()
		img.set_from_pixbuf( pb )
		img.show()
		col = TreeViewColumn( None, cellr )
		col.set_widget( img )
		col.set_cell_data_func( cellr, toggle_visible_func )
		col.set_expand( False )
		self.list_functions.append_column( col )

		cellr = gtk.CellRendererToggle()
		cellr.connect( "toggled", self.on_info_toggled )
		pb = gtk.gdk.pixbuf_new_from_file( "icons/information.png" )
		img = gtk.Image()
		img.set_from_pixbuf( pb )
		img.show()
		col = TreeViewColumn( None, cellr )
		col.set_widget( img )
		col.set_cell_data_func( cellr, toggle_info_func )
		col.set_expand( False )
		self.list_functions.append_column( col )

		# ... and the model
		self.list_functions.set_model( ListStore( gobject.TYPE_PYOBJECT ) )

		# Labels
		self.label_function_1_template = self.xml.get_widget( 'label_function_1_template' )
		self.label_function_1_template.set_markup( Polynomial( 1 ).get_template_markup() )
		self.label_function_2_template = self.xml.get_widget( 'label_function_2_template' )
		self.label_function_2_template.set_markup( Polynomial( 2 ).get_template_markup() )

		# Info label
		self.label_info = self.xml.get_widget( 'label_info' )
		self.label_info.set_text( '' )

		self.label_coords = self.xml.get_widget( 'label_coords' )
		self.label_coords.set_text( '' )

		# a[n] labels
		self.xml.get_widget( "label_a_1" ).set_text( _( 'a1' ) + ' = ' ) 
		self.xml.get_widget( "label_b_1" ).set_text( _( 'a2' ) + ' = ' ) 
		self.xml.get_widget( "label_a_2" ).set_text( _( 'a1' ) + ' = ' ) 
		self.xml.get_widget( "label_b_2" ).set_text( _( 'a2' ) + ' = ' ) 
		self.xml.get_widget( "label_c_2" ).set_text( _( 'a3' ) + ' = ' ) 

		# More labels
		self.xml.get_widget( "label_from_1" ).set_text( _( 'From' ) )
		self.xml.get_widget( "label_from_2" ).set_text( _( 'From' ) )
		self.xml.get_widget( "label_until_1" ).set_text( _( 'To' ) )
		self.xml.get_widget( "label_until_2" ).set_text( _( 'To' ) )
		self.xml.get_widget( "label_step_1" ).set_text( _( 'Step' ) )
		self.xml.get_widget( "label_step_2" ).set_text( _( 'Step' ) )
		self.xml.get_widget( "label_axis" ).set_text( _( 'Axis' ) )
		self.xml.get_widget( "label_dec_1" ).set_text( _( 'Decimals' ) )
		self.xml.get_widget( "label_dec_2" ).set_text( _( 'Decimals' ) )

		# Spin
		self.spin_axis_x_dec = self.xml.get_widget( "spin_axis_x_dec" )
		self.spin_axis_y_dec = self.xml.get_widget( "spin_axis_y_dec" )
		self.spin_axis_x_dec.set_editable( False )
		self.spin_axis_y_dec.set_editable( False )

		# Tab labels
		self.xml.get_widget( "label_tab_graph" ).set_text( _( 'Graph Tab' ) )
		self.xml.get_widget( "label_tab_config" ).set_text( _( 'Config Tab' ) )

		# Get parameters
		self.txt_func_a_1 = self.xml.get_widget( 'txt_func_a_1' )
		self.txt_func_b_1 = self.xml.get_widget( 'txt_func_b_1' )
		self.txt_func_a_2 = self.xml.get_widget( 'txt_func_a_2' )
		self.txt_func_b_2 = self.xml.get_widget( 'txt_func_b_2' )
		self.txt_func_c_2 = self.xml.get_widget( 'txt_func_c_2' )

		# Setup colors
		cmap = gtk.gdk.colormap_get_system()
		self.color_bg = cmap.alloc_color( '#FFFFCC' )
		self.marked_point_color = cmap.alloc_color( '#00FF00' )

		# Setup initial axis values etc
		self.validate_parameters( None )
		self.update_buttons_status()

		# self.widget will be attached to the Activity
		# This can be any GTK widget except a window
		self.widget = self.w_child
		if not runaslib:
			self.w.show_all()
			gtk.main()	
Beispiel #7
0
    def __init__(self):
        super(PeersTab, self).__init__('Peers', 'peers_tab', 'peers_tab_label')

        self.peer_menu = self.main_builder.get_object('menu_peer_tab')
        component.get('MainWindow').connect_signals(self)

        self.listview = self.main_builder.get_object('peers_listview')
        self.listview.props.has_tooltip = True
        self.listview.connect('button-press-event',
                              self._on_button_press_event)
        self.listview.connect('query-tooltip', self._on_query_tooltip)

        # flag, ip, client, downspd, upspd, country code, int_ip, seed/peer icon, progress
        self.liststore = ListStore(Pixbuf, str, str, int, int, str, float,
                                   Pixbuf, float)
        self.cached_flag_pixbufs = {}

        self.seed_pixbuf = icon_seeding
        self.peer_pixbuf = icon_downloading

        # key is ip address, item is row iter
        self.peers = {}

        # Country column
        column = TreeViewColumn()
        render = CellRendererPixbuf()
        column.pack_start(render, False)
        column.add_attribute(render, 'pixbuf', 0)
        column.set_sort_column_id(5)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(20)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Address column
        column = TreeViewColumn(_('Address'))
        render = CellRendererPixbuf()
        column.pack_start(render, False)
        column.add_attribute(render, 'pixbuf', 7)
        render = CellRendererText()
        column.pack_start(render, False)
        column.add_attribute(render, 'text', 1)
        column.set_sort_column_id(6)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Client column
        column = TreeViewColumn(_('Client'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.add_attribute(render, 'text', 2)
        column.set_sort_column_id(2)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Progress column
        column = TreeViewColumn(_('Progress'))
        render = CellRendererProgress()
        column.pack_start(render, True)
        column.set_cell_data_func(render, cell_data_peer_progress, 8)
        column.set_sort_column_id(8)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Down Speed column
        column = TreeViewColumn(_('Down Speed'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.set_cell_data_func(render, cell_data_speed_down, 3)
        column.set_sort_column_id(3)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(50)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Up Speed column
        column = TreeViewColumn(_('Up Speed'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.set_cell_data_func(render, cell_data_speed_up, 4)
        column.set_sort_column_id(4)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(50)
        # Bugfix: Last column needs max_width set to stop scrollbar appearing
        column.set_max_width(150)
        column.set_reorderable(True)
        self.listview.append_column(column)

        self.listview.set_model(self.liststore)

        self.load_state()

        self.torrent_id = None
Beispiel #8
0
    def __init__(self):
        super(PeersTab, self).__init__('Peers', 'peers_tab', 'peers_tab_label')

        self.peer_menu = self.main_builder.get_object('menu_peer_tab')
        component.get('MainWindow').connect_signals(self)

        self.listview = self.main_builder.get_object('peers_listview')
        self.listview.props.has_tooltip = True
        self.listview.connect('button-press-event', self._on_button_press_event)
        self.listview.connect('query-tooltip', self._on_query_tooltip)

        # flag, ip, client, downspd, upspd, country code, int_ip, seed/peer icon, progress
        self.liststore = ListStore(Pixbuf, str, str, int, int, str, float, Pixbuf, float)
        self.cached_flag_pixbufs = {}

        self.seed_pixbuf = icon_seeding
        self.peer_pixbuf = icon_downloading

        # key is ip address, item is row iter
        self.peers = {}

        # Country column
        column = TreeViewColumn()
        render = CellRendererPixbuf()
        column.pack_start(render, False)
        column.add_attribute(render, 'pixbuf', 0)
        column.set_sort_column_id(5)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(20)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Address column
        column = TreeViewColumn(_('Address'))
        render = CellRendererPixbuf()
        column.pack_start(render, False)
        column.add_attribute(render, 'pixbuf', 7)
        render = CellRendererText()
        column.pack_start(render, False)
        column.add_attribute(render, 'text', 1)
        column.set_sort_column_id(6)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Client column
        column = TreeViewColumn(_('Client'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.add_attribute(render, 'text', 2)
        column.set_sort_column_id(2)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Progress column
        column = TreeViewColumn(_('Progress'))
        render = CellRendererProgress()
        column.pack_start(render, True)
        column.set_cell_data_func(render, cell_data_peer_progress, 8)
        column.set_sort_column_id(8)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(100)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Down Speed column
        column = TreeViewColumn(_('Down Speed'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.set_cell_data_func(render, cell_data_speed_down, 3)
        column.set_sort_column_id(3)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(50)
        column.set_reorderable(True)
        self.listview.append_column(column)

        # Up Speed column
        column = TreeViewColumn(_('Up Speed'))
        render = CellRendererText()
        column.pack_start(render, False)
        column.set_cell_data_func(render, cell_data_speed_up, 4)
        column.set_sort_column_id(4)
        column.set_clickable(True)
        column.set_resizable(True)
        column.set_expand(False)
        column.set_min_width(50)
        # Bugfix: Last column needs max_width set to stop scrollbar appearing
        column.set_max_width(150)
        column.set_reorderable(True)
        self.listview.append_column(column)

        self.listview.set_model(self.liststore)

        self.load_state()

        self.torrent_id = None