Changed the name of the current Project class to ProjectView, to make room for a new
non-GUI project class.
This commit is contained in:
@@ -4,7 +4,7 @@ import plots
|
||||
import time
|
||||
import laydi
|
||||
from logger import logger
|
||||
import dataset, plots, project, workflow, main
|
||||
import dataset, plots, projectview, workflow, main
|
||||
import scipy
|
||||
|
||||
class NavigatorView (gtk.TreeView):
|
||||
@@ -15,8 +15,8 @@ class NavigatorView (gtk.TreeView):
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
if main.project:
|
||||
self.data_tree = main.project.data_tree
|
||||
if main.projectview:
|
||||
self.data_tree = main.projectview.data_tree
|
||||
else:
|
||||
self.data_tree = None
|
||||
|
||||
@@ -67,10 +67,10 @@ class NavigatorView (gtk.TreeView):
|
||||
if paths:
|
||||
self.data_tree.drag_data_get(paths[0], selection)
|
||||
|
||||
def add_project(self, project):
|
||||
def add_projectview(self, projectview):
|
||||
"""Dependency injection."""
|
||||
self.data_tree = project.data_tree
|
||||
self.set_model(project.data_tree)
|
||||
self.data_tree = projectview.data_tree
|
||||
self.set_model(projectview.data_tree)
|
||||
self.data_tree.connect('row-changed',self.on_row_changed)
|
||||
|
||||
def on_selection_changed(self, selection):
|
||||
@@ -97,10 +97,10 @@ class NavigatorView (gtk.TreeView):
|
||||
|
||||
if objs and isinstance(objs[0], dataset.Dataset):
|
||||
logger.debug('Selecting dataset')
|
||||
main.project.current_data = objs
|
||||
main.projectview.current_data = objs
|
||||
else:
|
||||
logger.debug('Deselecting dataset')
|
||||
main.project.current_data = []
|
||||
main.projectview.current_data = []
|
||||
|
||||
def on_row_changed(self, treestore, pos, iter):
|
||||
"""Set correct focus and colours when rows have changed."""
|
||||
@@ -294,8 +294,8 @@ class NavigatorMenu(gtk.Menu):
|
||||
else:
|
||||
icon = laydi.icon_factory.get("dataset")
|
||||
|
||||
main.project.add_dataset(ds)
|
||||
main.project.data_tree_insert(None, ds.get_name(), ds, None, "black", icon)
|
||||
main.projectview.add_dataset(ds)
|
||||
main.projectview.data_tree_insert(None, ds.get_name(), ds, None, "black", icon)
|
||||
|
||||
def on_load_dataset(self, item, navigator):
|
||||
# Set up file chooser.
|
||||
@@ -338,28 +338,28 @@ class NavigatorMenu(gtk.Menu):
|
||||
iters = [tm.get_iter(r) for r in rows]
|
||||
iters.reverse()
|
||||
for i in iters:
|
||||
main.project.delete_data(i)
|
||||
main.projectview.delete_data(i)
|
||||
# tm.remove(i)
|
||||
|
||||
def on_plot_image(self, item, navigator):
|
||||
plot = plots.ImagePlot(self.dataset, name='Image Plot')
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
main.project.data_tree_insert(self.tree_iter, 'Image Plot', plot, None, "black", icon)
|
||||
main.projectview.data_tree_insert(self.tree_iter, 'Image Plot', plot, None, "black", icon)
|
||||
# fixme: image plot selections are not well defined
|
||||
#plot.set_selection_listener(project.set_selection)
|
||||
#project._selection_observers.append(plot)
|
||||
#plot.set_selection_listener(projectview.set_selection)
|
||||
#projectview._selection_observers.append(plot)
|
||||
|
||||
def on_plot_hist(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
plot = plots.HistogramPlot(self.dataset, name='Histogram')
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
project.data_tree_insert(self.tree_iter, 'Histogram', plot, None, "black", icon)
|
||||
plot.set_selection_listener(project.set_selection)
|
||||
project._selection_observers.append(plot)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Histogram', plot, None, "black", icon)
|
||||
plot.set_selection_listener(projectview.set_selection)
|
||||
projectview._selection_observers.append(plot)
|
||||
|
||||
def on_plot_scatter(self, item, navigator):
|
||||
project = main.project
|
||||
datasets = main.project.current_data
|
||||
projectview = main.projectview
|
||||
datasets = main.projectview.current_data
|
||||
ds_major = datasets[0]
|
||||
dims_major = ds_major.get_dim_name()
|
||||
ids_major = ds_major.get_identifiers(dims_major[1], sorted=True)
|
||||
@@ -380,70 +380,70 @@ class NavigatorMenu(gtk.Menu):
|
||||
name='Scatter (%s)' % ds_major.get_name())
|
||||
plot.add_axes_spin_buttons(len(ids_major), 0, 1)
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
project.data_tree_insert(self.tree_iter, 'Scatter', plot, None, "black", icon)
|
||||
plot.set_selection_listener(project.set_selection)
|
||||
project._selection_observers.append(plot)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Scatter', plot, None, "black", icon)
|
||||
plot.set_selection_listener(projectview.set_selection)
|
||||
projectview._selection_observers.append(plot)
|
||||
|
||||
def on_plot_line(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset
|
||||
dims = ds.get_dim_name()
|
||||
ids = ds.get_identifiers(dims[1])
|
||||
plot = plots.LineViewPlot(ds, name='Line (%s)' % ds.get_name())
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
project.data_tree_insert(self.tree_iter, 'Line view', plot, None, "black", icon)
|
||||
plot.set_selection_listener(project.set_selection)
|
||||
project._selection_observers.append(plot)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Line view', plot, None, "black", icon)
|
||||
plot.set_selection_listener(projectview.set_selection)
|
||||
projectview._selection_observers.append(plot)
|
||||
|
||||
def on_plot_bar(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset
|
||||
dims = ds.get_dim_name()
|
||||
ids = ds.get_identifiers(dims[1])
|
||||
plot = plots.BarPlot(ds, name='Bar (%s)' % ds.get_name())
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
project.data_tree_insert(self.tree_iter, 'Bar plot', plot, None, "black", icon)
|
||||
plot.set_selection_listener(project.set_selection)
|
||||
project._selection_observers.append(plot)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Bar plot', plot, None, "black", icon)
|
||||
plot.set_selection_listener(projectview.set_selection)
|
||||
projectview._selection_observers.append(plot)
|
||||
|
||||
def on_plot_box(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset
|
||||
dims = ds.get_dim_name()
|
||||
ids = ds.get_identifiers(dims[1])
|
||||
plot = plots.BoxPlot(ds, name='Box (%s)' % ds.get_name())
|
||||
icon = laydi.icon_factory.get("line_plot")
|
||||
project.data_tree_insert(self.tree_iter, 'Box plot', plot, None, "black", icon)
|
||||
plot.set_selection_listener(project.set_selection)
|
||||
project._selection_observers.append(plot)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Box plot', plot, None, "black", icon)
|
||||
plot.set_selection_listener(projectview.set_selection)
|
||||
projectview._selection_observers.append(plot)
|
||||
|
||||
def on_transpose(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset.transpose()
|
||||
ds._name = ds._name + ".T"
|
||||
icon = laydi.icon_factory.get(ds)
|
||||
project.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
|
||||
def on_standardise_rows(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset.copy()
|
||||
ds._name = self.dataset._name + ".rsc"
|
||||
axis = 1
|
||||
ds._array = ds.asarray()/scipy.expand_dims(ds.asarray().std(axis), axis)
|
||||
icon = laydi.icon_factory.get(ds)
|
||||
project.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
|
||||
def on_standardise_cols(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
ds = self.dataset.copy()
|
||||
ds._name = self.dataset._name + ".csc"
|
||||
axis = 0
|
||||
ds._array = ds.asarray()/scipy.expand_dims(ds.asarray().std(axis), axis)
|
||||
icon = laydi.icon_factory.get(ds)
|
||||
project.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
|
||||
def on_log(self, item, navigator):
|
||||
project = main.project
|
||||
projectview = main.projectview
|
||||
try:
|
||||
if not scipy.all(self.dataset.asarray()>0):
|
||||
raise ValueError
|
||||
@@ -455,7 +455,7 @@ class NavigatorMenu(gtk.Menu):
|
||||
ds._array = scipy.log(ds.asarray())
|
||||
icon = laydi.icon_factory.get(ds)
|
||||
ds._name = ds._name + ".log"
|
||||
project.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, ds.get_name(), ds, None, "black", icon)
|
||||
|
||||
def on_split(self, item, navigator):
|
||||
if self.dataset is None:
|
||||
@@ -464,13 +464,13 @@ class NavigatorMenu(gtk.Menu):
|
||||
|
||||
dim = self.dataset.get_dim_name(0)
|
||||
|
||||
project = main.project
|
||||
sel_ids = set(project.get_selection()[dim])
|
||||
projectview = main.projectview
|
||||
sel_ids = set(projectview.get_selection()[dim])
|
||||
sel_ds = self.dataset.subdata(dim, sel_ids)
|
||||
|
||||
unsel_ids = set(self.dataset.get_identifiers(dim)) - set(sel_ids)
|
||||
unsel_ds = self.dataset.subdata(dim, unsel_ids)
|
||||
|
||||
icon = laydi.icon_factory.get(self.dataset)
|
||||
project.data_tree_insert(self.tree_iter, 'Selected', sel_ds, None, "black", icon)
|
||||
project.data_tree_insert(self.tree_iter, 'Unselected', unsel_ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Selected', sel_ds, None, "black", icon)
|
||||
projectview.data_tree_insert(self.tree_iter, 'Unselected', unsel_ds, None, "black", icon)
|
||||
|
||||
Reference in New Issue
Block a user