Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
authorDaniel Francis <francis@sugarlabs.org>2012-06-14 18:26:25 (GMT)
committer Daniel Francis <francis@sugarlabs.org>2012-06-14 18:26:25 (GMT)
commitb7afc8efb41a7d096081d2741a922dd1a50969a4 (patch)
treefadf95dd7e9a287b7ebe3758c4a477230d65e169 /activity.py
parent12673a2278305a837a61fbd650facc484f38f8d6 (diff)
Moved scale range entries
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py113
1 files changed, 70 insertions, 43 deletions
diff --git a/activity.py b/activity.py
index 13b8a03..516200a 100644
--- a/activity.py
+++ b/activity.py
@@ -216,7 +216,8 @@ class Graph(gtk.DrawingArea):
return x * (self.x_max - self.x_min) / self.canvas_width + self.x_min
def graph_y(self, y):
- return self.y_max - (y * (self.y_max - self.y_min) / self.canvas_height)
+ return self.y_max - (y * (self.y_max - self.y_min) /\
+ self.canvas_height)
def plot(self):
self.context.set_source_rgb(1, 1, 1)
@@ -244,7 +245,7 @@ class Graph(gtk.DrawingArea):
for i in xrange(int(self.canvas_width / iv + 1)):
#multiples of iv,
#cause adding of any error in iv, so keep iv as float
- # use round(), to get to closest pixel, int() to prevent warning
+ # use round(),to get to closest pixel, int() to prevent warning
self.context.move_to(int(round(os + i * iv)),
int(round(self.canvas_y(0) - 5)))
self.context.line_to(int(round(os + i * iv)),
@@ -424,12 +425,14 @@ class Graph(gtk.DrawingArea):
self.context = widget.get_window().cairo_create()
self.plot()
- #widget.window.draw_drawable(widget.get_style().fg_gc[gtk.STATE_NORMAL],
+ #widget.window.draw_drawable(
+ # widget.get_style().fg_gc[gtk.STATE_NORMAL],
# self.pix_map, x, y, x, y, w, h)
return False
def canvas_y(self, y):
- return (self.y_max - y) * self.canvas_height / (self.y_max - self.y_min)
+ return (self.y_max - y) * self.canvas_height /\
+ (self.y_max - self.y_min)
def canvas_x(self, x):
"Calculate position on canvas to point on graph"
@@ -513,7 +516,8 @@ class GraphPlotter(activity.Activity):
x = float(dlg_win.x_entry.get_text())
safe_dict['x'] = x
e[1].set_text(str(eval(e[0].replace("^", "**"),
- {"__builtins__": {}}, safe_dict)))
+ {"__builtins__": {}},
+ safe_dict)))
except:
if len(e[0]) > 0:
e[1].set_text("Error: %s" % sys.exc_value)
@@ -642,7 +646,7 @@ Toggle between a graph that connects points with lines and one that does not
self.toolbar_box.toolbar.insert(self.activity_button, 0)
self.activity_button.show()
self.graph_item = ToolbarButton()
- self.graph_item.props.icon_name = 'graph'
+ self.graph_item.props.icon_name = 'toolbar-view'
else:
self.toolbox = activity.ActivityToolbox(self)
activity_toolbar = self.toolbox.get_activity_toolbar()
@@ -651,7 +655,46 @@ Toggle between a graph that connects points with lines and one that does not
if have_toolbox:
self.graph_item.props.page = self.graph_toolbar
else:
- self.toolbox.add_toolbar(_('Graph'), self.graph_toolbar)
+ self.toolbox.add_toolbar(_('View'), self.graph_toolbar)
+
+ scale_range = ToolButton('cell-size')
+ scale_range.set_tooltip(_('Scale Range'))
+ scale_range_table = gtk.Table(4, 2, False)
+ x_min_label = gtk.Label(_("X min ="))
+ self.x_min_entry = gtk.Entry()
+ self.x_min_entry.set_size_request(90, -1)
+ self.x_min_entry.set_alignment(0)
+ scale_range_table.attach(x_min_label, 0, 1, 0, 1, xpadding=5)
+ scale_range_table.attach(self.x_min_entry, 1, 2, 0, 1)
+ x_max_label = gtk.Label(_("X max ="))
+ self.x_max_entry = gtk.Entry()
+ self.x_max_entry.set_size_request(90, -1)
+ self.x_max_entry.set_alignment(0)
+ scale_range_table.attach(x_max_label, 0, 1, 2, 3, xpadding=5)
+ scale_range_table.attach(self.x_max_entry, 1, 2, 2, 3)
+
+ y_min_label = gtk.Label(_("Y min"))
+ self.y_min_entry = gtk.Entry()
+ self.y_min_entry.set_size_request(90, -1)
+ self.y_min_entry.set_alignment(0)
+ scale_range_table.attach(y_min_label, 2, 3, 0, 1, xpadding=5)
+ scale_range_table.attach(self.y_min_entry, 3, 4, 0, 1)
+ y_max_label = gtk.Label(_("Y max"))
+ self.y_max_entry = gtk.Entry()
+ self.y_max_entry.set_size_request(90, -1)
+ self.y_max_entry.set_alignment(0)
+ scale_range_table.attach(y_max_label, 2, 3, 2, 3, xpadding=5)
+ scale_range_table.attach(self.y_max_entry, 3, 4, 2, 3)
+
+ palette = scale_range.get_palette()
+ palette.set_content(scale_range_table)
+ self.graph_toolbar.insert(scale_range, -1)
+ scale_range_table.show_all()
+ scale_range.connect('clicked',
+ lambda w: palette.popup(immediate=True,
+ state=1))
+ scale_range.show_all()
+
self.plot_item = ToolButton('gtk-refresh')
self.plot_item.props.tooltip = _("Plot")
self.plot_item.connect("clicked", self.plot)
@@ -735,21 +778,11 @@ Toggle between a graph that connects points with lines and one that does not
self.y1_entry = gtk.Entry()
self.y2_entry = gtk.Entry()
self.y3_entry = gtk.Entry()
- self.x_min_entry = gtk.Entry()
- self.x_min_entry.set_size_request(90, 24)
- self.x_min_entry.set_alignment(1)
- self.x_max_entry = gtk.Entry()
- self.x_max_entry.set_size_request(90, 24)
- self.x_max_entry.set_alignment(1)
+
self.x_scale_entry = gtk.Entry()
self.x_scale_entry.set_size_request(90, 24)
self.x_scale_entry.set_alignment(1)
- self.y_min_entry = gtk.Entry()
- self.y_min_entry.set_size_request(90, 24)
- self.y_min_entry.set_alignment(1)
- self.y_max_entry = gtk.Entry()
- self.y_max_entry.set_size_request(90, 24)
- self.y_max_entry.set_alignment(1)
+
self.y_scale_entry = gtk.Entry()
self.y_scale_entry.set_size_request(90, 24)
self.y_scale_entry.set_alignment(1)
@@ -769,36 +802,30 @@ Toggle between a graph that connects points with lines and one that does not
self.parameter_entries.attach(label, 0, 1, 0, 1,
xpadding=5, ypadding=5, xoptions=gtk.FILL)
self.parameter_entries.attach(self.y1_entry, 1, 2, 0, 1)
- label = gtk.Label(_("X min"))
- label.set_alignment(1, .5)
- self.parameter_entries.attach(label, 2, 3, 0, 1,
- xpadding=5, ypadding=7, xoptions=gtk.FILL)
- self.parameter_entries.attach(self.x_min_entry,
- 3, 4, 0, 1, xoptions=gtk.FILL)
- label = gtk.Label(_("Y min"))
- label.set_alignment(1, .5)
- self.parameter_entries.attach(label, 4, 5, 0, 1,
- xpadding=5, ypadding=5, xoptions=gtk.FILL)
- self.parameter_entries.attach(self.y_min_entry,
- 5, 6, 0, 1, xpadding=5, xoptions=gtk.FILL)
+ #label = gtk.Label(_("X min"))
+ #label.set_alignment(1, .5)
+ #self.parameter_entries.attach(label, 2, 3, 0, 1,
+ # xpadding=5, ypadding=7, xoptions=gtk.FILL)
+ #self.parameter_entries.attach(self.x_min_entry,
+ # 3, 4, 0, 1, xoptions=gtk.FILL)
+
+ #label.set_alignment(1, .5)
+ #self.parameter_entries.attach(label, 4, 5, 0, 1,
+ # xpadding=5, ypadding=5, xoptions=gtk.FILL)
+ #self.parameter_entries.attach(self.y_min_entry,
+ # 5, 6, 0, 1, xpadding=5, xoptions=gtk.FILL)
label = gtk.Label("y2 = ")
label.set_alignment(0, .5)
label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("red"))
self.parameter_entries.attach(label,
0, 1, 1, 2, xpadding=5, ypadding=5, xoptions=gtk.FILL)
self.parameter_entries.attach(self.y2_entry, 1, 2, 1, 2)
- label = gtk.Label(_("X max"))
- label.set_alignment(1, .5)
- self.parameter_entries.attach(label, 2, 3, 1, 2,
- xpadding=5, ypadding=7, xoptions=gtk.FILL)
- self.parameter_entries.attach(self.x_max_entry,
- 3, 4, 1, 2, xoptions=gtk.FILL)
- label = gtk.Label(_("Y max"))
- label.set_alignment(1, .5)
- self.parameter_entries.attach(label,
- 4, 5, 1, 2, xpadding=5, ypadding=5, xoptions=gtk.FILL)
- self.parameter_entries.attach(self.y_max_entry,
- 5, 6, 1, 2, xpadding=5, xoptions=gtk.FILL)
+ #label = gtk.Label(_("Y max"))
+ #label.set_alignment(1, .5)
+ #self.parameter_entries.attach(label,
+ # 4, 5, 1, 2, xpadding=5, ypadding=5, xoptions=gtk.FILL)
+ #self.parameter_entries.attach(self.y_max_entry,
+ # 5, 6, 1, 2, xpadding=5, xoptions=gtk.FILL)
label = gtk.Label("y3 = ")
label.set_alignment(0, .5)
label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("DarkGreen"))