예제 #1
0
 def new_object(self, state, typ):
     location = { Line: self.data.lines, Text: self.data.text }[typ]
     ind = location.append(id=create_id())
     obj = typ(self, location[ind])
     self.graph_objects.append(obj)
     state['obj'] = obj
     return obj
예제 #2
0
 def new_row(function_name, name):
     func = registry[function_name]
     nparams = len(func.parameters)
     return {'id': create_id(), 
             'func': function_name, 
             'name': name, 
             'params': str([1.]*nparams),
             'lock': str([False]*nparams),
             'use': True }
예제 #3
0
    def add(self, state, x, y):
        ind = self.data.datasets.append(worksheet=x.worksheet.id, id=create_id(),
                                        x=x.name.encode('utf-8'), y=y.name.encode('utf-8'))

        d = Dataset(self, ind)
        d.set_defaults()
        self.datasets.append(d)
        pos = len(self.datasets)-1

        d.connect('modified', self.on_dataset_modified)
        d.connect_signals()

        self.on_dataset_modified(d)
        self.emit('add-dataset', d)

        state['obj'] = d

        return pos
예제 #4
0
 def add_column(self, state, name):
     ind = self.data.columns.append(name=name.encode('utf-8'), id=create_id(), data='')
     self.columns.append(Column(self, ind))
     self.emit('data-changed')
     state['obj'] = self.columns[-1]
     return name
예제 #5
0
 def add_column(self, state, name):
     ind = self.data.columns.append(name=name.encode("utf-8"), id=create_id(), data="")
     self.columns.append(Column(self, ind))
     self.emit("data-changed")
     state["obj"] = self.columns[-1]
     return name
예제 #6
0
 def on_add_term(self, state, term):
     if hasattr(term, 'data') and term.data.id.startswith('-'):
         raise StopAction
     row = self.data.append(id=create_id(), func=term.function.name, name=term.name)
     term.data = self.data[row]
     state['term'] = term