/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to branchview/graphcell.py

  • Committer: Curtis Hovey
  • Date: 2011-09-04 20:04:03 UTC
  • mto: This revision was merged to the branch mainline in revision 741.
  • Revision ID: sinzui.is@verizon.net-20110904200403-t38t3o2q1j600dho
Added missing tests for BranchTreeModel and CellRendererGraph.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
CAIRO_FILL_RULE_EVEN_ODD = 1
34
34
 
35
35
 
 
36
def PANGO_PIXELS(d):
 
37
    # Macro from  Pango header.
 
38
    return (d + 512) / 1000
 
39
 
 
40
 
36
41
class CellRendererGraph(Gtk.CellRendererPixbuf):
37
42
    """Cell renderer for directed graph.
38
43
 
76
81
        else:
77
82
            raise AttributeError, "no such property: '%s'" % property.name
78
83
 
79
 
    def do_get_property(self, property):
80
 
        """Get properties from GObject properties."""
81
 
        if property.name == "node":
82
 
            return self.node
83
 
        elif property.name == "tags":
84
 
            return self.tags
85
 
        elif property.name == "in-lines":
86
 
            return self.in_lines
87
 
        elif property.name == "out-lines":
88
 
            print "get outlines"
89
 
            return self.out_lines
90
 
        else:
91
 
            raise AttributeError, "no such property: '%s'" % property.name
92
 
 
93
84
    def box_size(self, widget):
94
85
        """Calculate box size based on widget's font.
95
86
 
102
93
            pango_ctx = widget.get_pango_context()
103
94
            font_desc = widget.get_style().font_desc
104
95
            metrics = pango_ctx.get_metrics(font_desc, None)
105
 
 
106
 
            def PANGO_PIXELS(d):
107
 
                # Macro from  Pango header.
108
 
                return (d + 512) / 1000
109
 
 
110
96
            ascent = PANGO_PIXELS(metrics.get_ascent())
111
97
            descent = PANGO_PIXELS(metrics.get_descent())
112
 
 
113
98
            self._box_size = ascent + descent + 6
114
99
            return self._box_size
115
100
 
143
128
        ctx.set_source_rgb(red, green, blue)
144
129
 
145
130
    def do_activate(event, widget, path, bg_area, cell_area, flags):
 
131
        """Renderers cannot be activated; always return True."""
146
132
        return True
147
133
 
148
134
    def do_editing_started(event, widget, path, fb_area, cell_area, flags):
 
135
        """Renderers cannot be edited; always return None."""
149
136
        return None
150
137
 
151
138
    def do_get_size(self, widget, cell_area):