summaryrefslogtreecommitdiffstats
path: root/src/fringlib/fringrenderer.py
diff options
context:
space:
mode:
authorFrederic Back <fredericback@gmail.com>2006-10-06 09:57:24 +0000
committerFrederic Back <fredericback@gmail.com>2006-10-06 09:57:24 +0000
commit6318dc2b0a054bc428265cf771e6e5dbc040308c (patch)
tree5c8ef0902d8e6cda1c32ec655ed25575f7572aec /src/fringlib/fringrenderer.py
parent5df72aab9a1064a1b008c58d5adaf11abe85fcbb (diff)
* Display state every 250ms
* Changed parent button size to SMALL_TOOLBAR * Added progress bar * The progress signal now also emits the path getting parsed * Path in status bar is now relative to current path (shorter) git-svn-id: file:///home/lennart/svn/public/fring/trunk@66 d0d2c35f-0a1e-0410-abeb-dabff30a67ee
Diffstat (limited to 'src/fringlib/fringrenderer.py')
-rw-r--r--src/fringlib/fringrenderer.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/fringlib/fringrenderer.py b/src/fringlib/fringrenderer.py
index 63b719b..2c6825b 100644
--- a/src/fringlib/fringrenderer.py
+++ b/src/fringlib/fringrenderer.py
@@ -75,12 +75,12 @@ class FringRenderer:
ctx.move_to(CENTERX, CENTERY)
n = len(data.children)
- i = 0
accumulated = 0
last = start_angle
- for entry in data.children:
+ for i in range(len(data.children)):
+ entry = data.children[i]
hasContents = entry.has_children()
@@ -88,14 +88,16 @@ class FringRenderer:
accumulated += entry.size
if data.size == 0: continue
- end = start_angle+(end_angle - start_angle)*1.0*accumulated/data.size
-
+ end = start_angle+(end_angle - start_angle)*1.0*accumulated/data.size
+
if end-start >= .005:
p = previouspath+os.sep+entry.name
self.lookup_data[ring].append( Segment(hasContents , p, entry, start, end) )
- color = self._choose_color(start_hue + (end_hue-start_hue)*1.0*i/n, ring)
+ #c = start_hue + (end_hue-start_hue)*1.0*i/n # old implementation
+ c = start_hue + (end_hue-start_hue)*start
+ color = self._choose_color(c, ring)
r = self.INNER_RADIUS + ring * (self.RING_RADIUS + self.RING_SPACE)
ctx.move_to(CENTERX+r*cos(start*2*pi), CENTERY+r*sin(start*2*pi))
@@ -112,8 +114,12 @@ class FringRenderer:
if hasContents and ring+1 < self.RINGS_MAX:
self.draw_segment(ctx, ring+1, start, end,
- start_hue + (end_hue-start_hue)*1.0*i/n,
- start_hue + (end_hue-start_hue)*1.0*(i+1)/n, entry,
+ #start_hue + (end_hue-start_hue)*1.0*i/n,
+ #start_hue + (end_hue-start_hue)*1.0*(i+1)/n, entry,
+
+ start_hue + (end_hue-start_hue)*start,
+ start_hue + (end_hue-start_hue)*end,
+ entry,
previouspath+os.sep+entry.name)
r += self.RING_RADIUS/2
@@ -192,7 +198,7 @@ class FringRenderer:
self._draw_centered_text(ctx, "%.0f%%" %percent)
last = end
- i += 1
+
if ring == 0:
ctx.set_source_rgb(.3,.3,.3)