The selection view now works. Functions can return a dataset.Selection object which will be stored in the selection list.
This commit is contained in:
@@ -17,7 +17,8 @@ class Project:
|
||||
self._dataset_observers = []
|
||||
self.current_data = []
|
||||
self.datasets = []
|
||||
self.sel_obj = dataset.Selection()
|
||||
self.sel_obj = dataset.Selection('Current Selection')
|
||||
self.selections = []
|
||||
|
||||
def add_selection_observer(self, observer):
|
||||
self._selection_observers.append(observer)
|
||||
@@ -39,12 +40,12 @@ class Project:
|
||||
|
||||
def set_selection(self, dim_name, selection):
|
||||
"""Sets a current selection and notify observers"""
|
||||
self.sel_obj.current_selection[dim_name] = set(selection)
|
||||
self.sel_obj[dim_name] = set(selection)
|
||||
self.notify_selection_listeners(dim_name)
|
||||
|
||||
def get_selection(self):
|
||||
"""Returns the current selection object"""
|
||||
return self.sel_obj.current_selection
|
||||
return self.sel_obj
|
||||
|
||||
def get_data_iter(self, obj):
|
||||
"""Retuns an iterator to data."""
|
||||
@@ -84,6 +85,8 @@ class Project:
|
||||
self.data_tree_insert(it, d.get_title(), d, "PaleGreen", "black")
|
||||
d.set_selection_listener(self.set_selection)
|
||||
self._selection_observers.append(d)
|
||||
elif isinstance(d, dataset.Selection):
|
||||
self.add_selection(d)
|
||||
|
||||
def data_tree_insert(self, parent, text, data, bgcolour,fontcolour,selected = 0):
|
||||
tree = self.data_tree
|
||||
@@ -96,16 +99,20 @@ class Project:
|
||||
tree.set_value(it, 5, selected)
|
||||
return it
|
||||
|
||||
def add_dataset(self,dataset):
|
||||
def add_dataset(self, dataset):
|
||||
"""Appends a new Dataset to the project."""
|
||||
logger.log('debug','Adding dataset: %s' %dataset.get_name())
|
||||
self.datasets.append(dataset)
|
||||
for dim_name in dataset.get_all_dims():
|
||||
if dim_name not in self.dim_names:
|
||||
self.dim_names.append(dim_name)
|
||||
self.sel_obj.current_selection[dim_name] = set()
|
||||
self.sel_obj[dim_name] = set()
|
||||
self.notify_dataset_listeners()
|
||||
|
||||
def add_selection(self, selection):
|
||||
"""Adds a new selection to the project."""
|
||||
self.selections.append(selection)
|
||||
self.notify_dataset_listeners()
|
||||
|
||||
def object_at(self, path):
|
||||
"Returns the object at a given path in the tree."
|
||||
|
Reference in New Issue
Block a user