Changeset 171
- Timestamp:
- 01/27/08 23:32:48 (1 year ago)
- Files:
-
- pytrainer/trunk/glade/pytrainer.glade (modified) (4 diffs)
- pytrainer/trunk/pytrainer/gui/drawArea.py (modified) (5 diffs)
- pytrainer/trunk/pytrainer/gui/windowmain.py (modified) (2 diffs)
- pytrainer/trunk/pytrainer/heartrategraph.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pytrainer/trunk/glade/pytrainer.glade
r168 r171 1581 1581 1582 1582 <child> 1583 <widget class="GtkVBox" id="heartrate_vbox ">1583 <widget class="GtkVBox" id="heartrate_vbox_"> 1584 1584 <property name="visible">True</property> 1585 1585 <property name="homogeneous">False</property> … … 2223 2223 <property name="relief">GTK_RELIEF_NONE</property> 2224 2224 <property name="focus_on_click">True</property> 2225 <signal name="clicked" handler="on_hrpiebutton_clicked" last_modification_time="Sun, 27 Jan 2008 22:27:26 GMT"/> 2225 2226 2226 2227 <child> … … 2248 2249 <property name="relief">GTK_RELIEF_NONE</property> 2249 2250 <property name="focus_on_click">True</property> 2251 <signal name="clicked" handler="on_hrplotbutton_clicked" last_modification_time="Sun, 27 Jan 2008 22:27:46 GMT"/> 2250 2252 2251 2253 <child> … … 2275 2277 2276 2278 <child> 2277 <placeholder/> 2279 <widget class="GtkNotebook" id="notebook8"> 2280 <property name="visible">True</property> 2281 <property name="show_tabs">False</property> 2282 <property name="show_border">False</property> 2283 <property name="tab_pos">GTK_POS_TOP</property> 2284 <property name="scrollable">False</property> 2285 <property name="enable_popup">False</property> 2286 2287 <child> 2288 <widget class="GtkVBox" id="heartrate_vbox"> 2289 <property name="visible">True</property> 2290 <property name="homogeneous">False</property> 2291 <property name="spacing">0</property> 2292 2293 <child> 2294 <placeholder/> 2295 </child> 2296 </widget> 2297 <packing> 2298 <property name="tab_expand">False</property> 2299 <property name="tab_fill">True</property> 2300 </packing> 2301 </child> 2302 2303 <child> 2304 <widget class="GtkLabel" id="label-2147483648"> 2305 <property name="visible">True</property> 2306 <property name="label" translatable="yes">label-2147483648</property> 2307 <property name="use_underline">False</property> 2308 <property name="use_markup">False</property> 2309 <property name="justify">GTK_JUSTIFY_LEFT</property> 2310 <property name="wrap">False</property> 2311 <property name="selectable">False</property> 2312 <property name="xalign">0.5</property> 2313 <property name="yalign">0.5</property> 2314 <property name="xpad">0</property> 2315 <property name="ypad">0</property> 2316 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 2317 <property name="width_chars">-1</property> 2318 <property name="single_line_mode">False</property> 2319 <property name="angle">0</property> 2320 </widget> 2321 <packing> 2322 <property name="type">tab</property> 2323 </packing> 2324 </child> 2325 2326 <child> 2327 <widget class="GtkVBox" id="heartrate_vbox2"> 2328 <property name="homogeneous">False</property> 2329 <property name="spacing">0</property> 2330 2331 <child> 2332 <placeholder/> 2333 </child> 2334 </widget> 2335 <packing> 2336 <property name="tab_expand">False</property> 2337 <property name="tab_fill">True</property> 2338 </packing> 2339 </child> 2340 2341 <child> 2342 <widget class="GtkLabel" id="label-2147483647"> 2343 <property name="visible">True</property> 2344 <property name="label" translatable="yes">label-2147483647</property> 2345 <property name="use_underline">False</property> 2346 <property name="use_markup">False</property> 2347 <property name="justify">GTK_JUSTIFY_LEFT</property> 2348 <property name="wrap">False</property> 2349 <property name="selectable">False</property> 2350 <property name="xalign">0.5</property> 2351 <property name="yalign">0.5</property> 2352 <property name="xpad">0</property> 2353 <property name="ypad">0</property> 2354 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 2355 <property name="width_chars">-1</property> 2356 <property name="single_line_mode">False</property> 2357 <property name="angle">0</property> 2358 </widget> 2359 <packing> 2360 <property name="type">tab</property> 2361 </packing> 2362 </child> 2363 </widget> 2364 <packing> 2365 <property name="padding">0</property> 2366 <property name="expand">True</property> 2367 <property name="fill">True</property> 2368 </packing> 2278 2369 </child> 2279 2370 </widget> pytrainer/trunk/pytrainer/gui/drawArea.py
r170 r171 41 41 elif type == "plot": 42 42 self.drawPlot(xvalues,yvalues,xlabel,ylabel,title,color,zones) 43 elif type == "pie": 44 self.drawPie(xvalues,yvalues,xlabel,ylabel,title,color,zones) 43 45 44 46 def drawBars(self,xvalues,yvalues,xlabel,ylabel,title,color): … … 48 50 self.axis.clear() 49 51 width = 1 50 for i in range(0,len(xvalues)): 52 i=0 53 for value in xvalues: 51 54 if len(xvalues) == 1: 52 55 self.axis = self.figure.add_subplot(111) … … 59 62 60 63 p1 = self.axis.bar(xvalues[i], yvalues[i], width, color=color[i]) 61 p = axvspan(1.25, 100.55, facecolor='g', alpha=0.5) 64 i+=1 62 65 self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea 63 66 self.canvas.show() … … 67 70 self.canvas.destroy() 68 71 self.figure = Figure(figsize=(6,4), dpi=72) 69 self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea70 self.axis.clear()72 #self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea 73 #self.axis.clear() 71 74 i = 0 72 75 for value in xvalues: … … 89 92 self.vbox.pack_start(self.canvas, True, True) 90 93 94 def drawPie(self,xvalues,yvalues,xlabel,ylabel,title,color,zones=None): 95 self.canvas.destroy() 96 self.figure = Figure(figsize=(6,4), dpi=72) 97 #self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea 98 #self.axis.clear() 99 self.axis = self.figure.add_subplot(111) 100 101 labels = ["rest"] 102 colors = ["#ffffff"] 103 frac0 = 0 104 frac1 = 0 105 frac2 = 0 106 frac3 = 0 107 frac4 = 0 108 frac5 = 0 109 for zone in zones: 110 labels.append(zone[3]) 111 colors.append(zone[2]) 112 113 for value in yvalues[0]: 114 if value < zones[4][0]: 115 frac0+=1 116 elif value > zones[4][0] and value < zones[4][1]: 117 frac1+=1 118 elif value > zones[3][0] and value < zones[3][1]: 119 frac2+=1 120 elif value > zones[2][0] and value < zones[2][1]: 121 frac3+=1 122 elif value > zones[1][0] and value < zones[1][1]: 123 frac4+=1 124 elif value > zones[0][0] and value < zones[0][1]: 125 frac5+=1 126 127 fracs = [frac0,frac1,frac2,frac3,frac4, frac5] 128 explode=(0, 0, 0, 0,0,0) 129 self.axis.pie(fracs, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True) 130 131 self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea 132 self.canvas.show() 133 self.vbox.pack_start(self.canvas, True, True) 134 91 135 def drawDefault(self): 92 self.axis.clear()136 #self.axis.clear() 93 137 self.axis=self.figure.add_subplot(111) 94 138 self.axis.set_xlabel('Yepper') pytrainer/trunk/pytrainer/gui/windowmain.py
r167 r171 99 99 def createGraphs(self,RecordGraph,DayGraph,MonthGraph,YearGraph,HeartRateGraph): 100 100 self.drawarearecord = RecordGraph(self.record_vbox, self.record_combovalue, self.record_combovalue2) 101 self.drawareaheartrate = HeartRateGraph(self.heartrate_vbox )101 self.drawareaheartrate = HeartRateGraph(self.heartrate_vbox,self.heartrate_vbox2) 102 102 #self.drawareaday = DayGraph(self.day_vbox, self.day_combovalue) 103 103 self.day_vbox.hide() … … 675 675 id_waypoint = selected.get_value(iter,0) 676 676 self.parent.removeWaypoint(id_waypoint) 677 677 678 def on_hrpiebutton_clicked(self,widget): 679 self.heartrate_vbox2.show() 680 self.heartrate_vbox.hide() 681 682 def on_hrplotbutton_clicked(self,widget): 683 self.heartrate_vbox.show() 684 self.heartrate_vbox2.hide() pytrainer/trunk/pytrainer/heartrategraph.py
r170 r171 22 22 23 23 class HeartRateGraph: 24 def __init__(self, vbox = None ):24 def __init__(self, vbox = None, vbox2 = None): 25 25 self.drawarea = DrawArea(vbox) 26 self.drawarea2 = DrawArea(vbox2) 26 27 self.conf = checkConf() 27 28 self.filename = self.conf.getValue("conffile") … … 56 57 zones = [zone5,zone4,zone3,zone2,zone1] 57 58 58 value_selected = -1 59 if value_selected < 0: 60 value_selected = 0 61 if value_selected == 0: 62 xvalues, yvalues = self.get_values(values,value_selected) 63 xlabel,ylabel,title,color = self.get_value_params(value_selected) 64 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color],zones) 59 xvalues, yvalues = self.get_values(values) 60 xlabel,ylabel,title,color = _("Distance (km)"),_("Beats (bpm)"),_("Heart Rate"),"#740074" 61 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color],zones) 62 self.drawarea2.stadistics("pie",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color],zones) 65 63 66 def get_value_params(self,value): 67 if value == 0: 68 return _("Distance (km)"),_("Beats (bpm)"),_("Heart Rate"),"#740074" 69 70 71 def get_values(self,values, value_selected): 64 def get_values(self,values): 72 65 xvalue = [] 73 66 yvalue = [] 74 67 for value in values: 75 68 xvalue.append(value[0]) 76 if value_selected==0: 77 yvalue.append(value[6]) 69 yvalue.append(value[6]) 78 70 return xvalue,yvalue 79 71
