Advertisement
Guest User

Untitled

a guest
Mar 17th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.31 KB | None | 0 0
  1. --- segmented_bar.py    2012-11-01 15:53:04.455710299 +0000
  2. +++ segmented_bar2.py   2012-11-01 16:23:27.017144225 +0000
  3. @@ -9,10 +9,10 @@
  4.  
  5.  from cairo_extensions import CairoExtensions, CairoCorners, Color
  6.  
  7. -class SegmentedBar(gtk.Widget):
  8. +class SegmentedBar(gtk.EventBox):
  9.      __gtype_name__ = 'SegmentedBar'
  10.      def __init__(self):
  11. -        gtk.Widget.__init__(self)
  12. +        gtk.EventBox.__init__(self)
  13.  
  14.          # State
  15.          self.segments = []
  16. @@ -22,7 +22,7 @@
  17.          # Properties
  18.          self.bar_height = 30
  19.          # Vertical space between the bar and the label.
  20. -        self.bar_label_spacing = 12
  21. +        self.bar_label_spacing = 9
  22.          # Horizontal space between the label and the next box.
  23.          self.segment_label_spacing = 16
  24.          self.segment_box_size = 12
  25. @@ -36,6 +36,8 @@
  26.  
  27.          self.disk_size = 0
  28.  
  29. +   self.set_visible_window( False)
  30. +
  31.      def add_segment(self, title, size, color, show_in_bar=True):
  32.          self.do_size_allocate(self.get_allocation())
  33.          self.disk_size += size
  34. @@ -54,8 +56,9 @@
  35.          requisition.width = 200
  36.          requisition.height = 0
  37.  
  38. -    def do_realize(self):
  39. -        self.set_flags(self.flags() | gtk.REALIZED)
  40. +    #def do_realize(self):
  41. +   #return
  42. +        '''self.set_flags(self.flags() | gtk.REALIZED)
  43.          self.window = gtk.gdk.Window(
  44.              self.get_parent_window(),
  45.              width=self.allocation.width,
  46. @@ -67,7 +70,7 @@
  47.          self.window.set_user_data(self)
  48.          self.style.attach(self.window)
  49.          self.style.set_background(self.window, gtk.STATE_NORMAL)
  50. -        self.window.move_resize(*self.allocation)
  51. +        self.window.move_resize(*self.allocation)'''
  52.  
  53.      #def do_unrealize(self):
  54.      #    # FIXME evand 2008-07-19: Is overloading this function really
  55. @@ -186,14 +189,17 @@
  56.      def render_labels(self, cr):
  57.          if len(self.segments) == 0:
  58.              return
  59. -        text_color = CairoExtensions.gdk_color_to_cairo_color(self.get_style().fg[self.state])
  60. +        #text_color = CairoExtensions.gdk_color_to_cairo_color(self.get_style().fg[self.state])
  61. +   text_color = CairoExtensions.gdk_color_to_cairo_color (gtk.gdk.color_parse("white"))
  62.          box_stroke_color = Color(0, 0, 0, 0.6)
  63.          x = 0
  64.          layout = None
  65.  
  66.          for segment in self.segments:
  67.              cr.set_line_width(1)
  68. -            cr.rectangle(x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1)
  69. +            #cr.rectangle(x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1)
  70. +            # Draw a rounded legend key
  71. +            CairoExtensions.rounded_rectangle(cr, x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1, 3)
  72.              grad = self.make_segment_gradient(self.segment_box_size, segment.color)
  73.              cr.set_source(grad)
  74.              cr.fill_preserve()
  75. @@ -527,14 +533,15 @@
  76.     win.set_size_request(400, 400)
  77.  
  78.     bar = SegmentedBar()
  79. -
  80. +   #bar.realize()
  81.     from pretty_wrapper import PrettyWrapper
  82.     bar.add_segment_rgb( "/dev/sda1", 2**64/4, "7CA4BF")
  83. -   bar.add_segment_rgb( "/dev/sda2", 2**64/4, "7CA4BF")
  84. +   bar.add_segment_rgb( "/dev/sda2", 2**64/4, "FFFFFF")
  85.  
  86.     box = PrettyWrapper()
  87.     box.pack_start(bar)
  88.     win.add(box)
  89. +   box.set_border_width(30)
  90.     win.set_border_width(30)
  91.  
  92.     win.show_all()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement