Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- segmented_bar.py 2012-11-01 15:53:04.455710299 +0000
- +++ segmented_bar2.py 2012-11-01 16:23:27.017144225 +0000
- @@ -9,10 +9,10 @@
- from cairo_extensions import CairoExtensions, CairoCorners, Color
- -class SegmentedBar(gtk.Widget):
- +class SegmentedBar(gtk.EventBox):
- __gtype_name__ = 'SegmentedBar'
- def __init__(self):
- - gtk.Widget.__init__(self)
- + gtk.EventBox.__init__(self)
- # State
- self.segments = []
- @@ -22,7 +22,7 @@
- # Properties
- self.bar_height = 30
- # Vertical space between the bar and the label.
- - self.bar_label_spacing = 12
- + self.bar_label_spacing = 9
- # Horizontal space between the label and the next box.
- self.segment_label_spacing = 16
- self.segment_box_size = 12
- @@ -36,6 +36,8 @@
- self.disk_size = 0
- + self.set_visible_window( False)
- +
- def add_segment(self, title, size, color, show_in_bar=True):
- self.do_size_allocate(self.get_allocation())
- self.disk_size += size
- @@ -54,8 +56,9 @@
- requisition.width = 200
- requisition.height = 0
- - def do_realize(self):
- - self.set_flags(self.flags() | gtk.REALIZED)
- + #def do_realize(self):
- + #return
- + '''self.set_flags(self.flags() | gtk.REALIZED)
- self.window = gtk.gdk.Window(
- self.get_parent_window(),
- width=self.allocation.width,
- @@ -67,7 +70,7 @@
- self.window.set_user_data(self)
- self.style.attach(self.window)
- self.style.set_background(self.window, gtk.STATE_NORMAL)
- - self.window.move_resize(*self.allocation)
- + self.window.move_resize(*self.allocation)'''
- #def do_unrealize(self):
- # # FIXME evand 2008-07-19: Is overloading this function really
- @@ -186,14 +189,17 @@
- def render_labels(self, cr):
- if len(self.segments) == 0:
- return
- - text_color = CairoExtensions.gdk_color_to_cairo_color(self.get_style().fg[self.state])
- + #text_color = CairoExtensions.gdk_color_to_cairo_color(self.get_style().fg[self.state])
- + text_color = CairoExtensions.gdk_color_to_cairo_color (gtk.gdk.color_parse("white"))
- box_stroke_color = Color(0, 0, 0, 0.6)
- x = 0
- layout = None
- for segment in self.segments:
- cr.set_line_width(1)
- - cr.rectangle(x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1)
- + #cr.rectangle(x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1)
- + # Draw a rounded legend key
- + CairoExtensions.rounded_rectangle(cr, x + 0.5, 2 + 0.5, self.segment_box_size - 1, self.segment_box_size - 1, 3)
- grad = self.make_segment_gradient(self.segment_box_size, segment.color)
- cr.set_source(grad)
- cr.fill_preserve()
- @@ -527,14 +533,15 @@
- win.set_size_request(400, 400)
- bar = SegmentedBar()
- -
- + #bar.realize()
- from pretty_wrapper import PrettyWrapper
- bar.add_segment_rgb( "/dev/sda1", 2**64/4, "7CA4BF")
- - bar.add_segment_rgb( "/dev/sda2", 2**64/4, "7CA4BF")
- + bar.add_segment_rgb( "/dev/sda2", 2**64/4, "FFFFFF")
- box = PrettyWrapper()
- box.pack_start(bar)
- win.add(box)
- + box.set_border_width(30)
- win.set_border_width(30)
- win.show_all()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement