Source code for optimeed.visualize.selector.onselect_splitTrace

from .onselectInterface import OnselectInterface
from optimeed.core import ListDataStruct


[docs]class Onselect_splitTrace(OnselectInterface): def __init__(self, theLinkDataGraphs): """Create two new traces from selections (selected and not selected)""" self.theLinkDataGraphs = theLinkDataGraphs self.selectedTraces = dict()
[docs] def selector_updated(self, selection_name, the_collection, selected_data, not_selected_data): """ Action to perform once the data have been selected :param selection_name: name of the selection (deprecated ?) :param the_collection: the collection :param selected_data: indices of the data selected :param not_selected_data: indices of the data not selected :return: identifier that can later be used with cancel_selector """ selections = list() for data, name in [(selected_data, "Selected"), (not_selected_data, "Not selected")]: newStruct = ListDataStruct() theData = [the_collection.get_data_at_index(index) for index in data] newStruct.set_data(theData) selections.append(self.theLinkDataGraphs.add_collection(newStruct, {"legend": "{} | {}".format(selection_name, name)})) self.theLinkDataGraphs.update_graphs() return selections
[docs] def cancel_selector(self, selection_identifiers): for selection_identifier in selection_identifiers: self.theLinkDataGraphs.remove_collection(selection_identifier)
[docs] def get_name(self): return "Split trace"