Added "Plot" submenu in navigator context menu. Can create an ImagePlot of a dataset.
This commit is contained in:
parent
c3c6e85044
commit
06591e301e
|
@ -162,6 +162,7 @@ class NavigatorView (gtk.TreeView):
|
||||||
|
|
||||||
def on_mouse_event(self, widget, event):
|
def on_mouse_event(self, widget, event):
|
||||||
path = widget.get_path_at_pos(int(event.x), int(event.y))
|
path = widget.get_path_at_pos(int(event.x), int(event.y))
|
||||||
|
iter = None
|
||||||
|
|
||||||
if path:
|
if path:
|
||||||
iter = self.data_tree.get_iter(path[0])
|
iter = self.data_tree.get_iter(path[0])
|
||||||
|
@ -170,9 +171,9 @@ class NavigatorView (gtk.TreeView):
|
||||||
obj = None
|
obj = None
|
||||||
|
|
||||||
if isinstance(obj, dataset.Dataset):
|
if isinstance(obj, dataset.Dataset):
|
||||||
self.menu.set_dataset(obj)
|
self.menu.set_dataset(obj, iter)
|
||||||
else:
|
else:
|
||||||
self.menu.set_dataset(None)
|
self.menu.set_dataset(None, iter)
|
||||||
|
|
||||||
if event.button == 3:
|
if event.button == 3:
|
||||||
self.menu.popup(None, None, None, event.button, event.time)
|
self.menu.popup(None, None, None, event.button, event.time)
|
||||||
|
@ -183,6 +184,7 @@ class NavigatorMenu(gtk.Menu):
|
||||||
gtk.Menu.__init__(self)
|
gtk.Menu.__init__(self)
|
||||||
self.navigaotor = navigator
|
self.navigaotor = navigator
|
||||||
self.dataset = None
|
self.dataset = None
|
||||||
|
self.tree_iter = None
|
||||||
|
|
||||||
# Populate menu
|
# Populate menu
|
||||||
self.load_item = gtk.MenuItem('Load dataset')
|
self.load_item = gtk.MenuItem('Load dataset')
|
||||||
|
@ -195,13 +197,29 @@ class NavigatorMenu(gtk.Menu):
|
||||||
self.append(self.save_item)
|
self.append(self.save_item)
|
||||||
self.save_item.show()
|
self.save_item.show()
|
||||||
|
|
||||||
def set_dataset(self, ds):
|
# Build plot menu
|
||||||
|
self.plot_menu = gtk.Menu()
|
||||||
|
|
||||||
|
self.plot_image_item = gtk.MenuItem('Image Plot')
|
||||||
|
self.plot_image_item.connect('activate', self.on_plot_image, navigator)
|
||||||
|
self.plot_menu.append(self.plot_image_item)
|
||||||
|
self.plot_image_item.show()
|
||||||
|
|
||||||
|
self.plot_item = gtk.MenuItem('Plot')
|
||||||
|
self.append(self.plot_item)
|
||||||
|
self.plot_item.set_submenu(self.plot_menu)
|
||||||
|
self.plot_item.show()
|
||||||
|
|
||||||
|
def set_dataset(self, ds, it):
|
||||||
self.dataset = ds
|
self.dataset = ds
|
||||||
|
self.tree_iter = it
|
||||||
|
|
||||||
if ds == None:
|
if ds == None:
|
||||||
self.save_item.set_property('sensitive', False)
|
self.save_item.set_property('sensitive', False)
|
||||||
|
self.plot_item.set_property('sensitive', False)
|
||||||
else:
|
else:
|
||||||
self.save_item.set_property('sensitive', True)
|
self.save_item.set_property('sensitive', True)
|
||||||
|
self.plot_item.set_property('sensitive', True)
|
||||||
|
|
||||||
def on_load_dataset(self, item, navigator):
|
def on_load_dataset(self, item, navigator):
|
||||||
dialog = gtk.FileChooserDialog('Load dataset')
|
dialog = gtk.FileChooserDialog('Load dataset')
|
||||||
|
@ -248,3 +266,10 @@ class NavigatorMenu(gtk.Menu):
|
||||||
print "unknown; ", retval
|
print "unknown; ", retval
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
def on_plot_image(self, item, navigator):
|
||||||
|
project = navigator.project
|
||||||
|
plot = plots.ImagePlot(self.dataset, name='Image Plot')
|
||||||
|
icon = fluents.icon_factory.get("line_plot")
|
||||||
|
project.data_tree_insert(self.tree_iter, 'Image Plot', plot, None, "black", icon)
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in New Issue