layer = self.find_parent(model, path, objects.Layer)

            ul = UndoList("Remove Line")
            ulist.remove(layer.lines, line, undolist=ul)
            globals.app.project.journal.append(ul)            
            
        
    def action_AddLine(self, action):
        logger.debug("action: AddLine")

        model, pathlist = self.popup_info
        for path in pathlist:
            obj, key = model.get(model.get_iter(path), 0, 1)
            layer = self.find_parent(model, path, objects.Layer)            
            if isinstance(obj, objects.Line):
                index = layer.lines.index(obj)+1
                line = objects.Line(label="fresh line", color="red",
                                source=obj.source, cx=obj.cy, cy=obj.cx)                
            else:
                index = 0
                line = objects.Line(label="fresh line", color="red")
                

            ul = UndoList("Insert Line")
            ulist.insert(layer.lines, index, line, undolist=ul)
            globals.app.project.journal.append(ul)            
                
        
#------------------------------------------------------------------------------
toolbox.register_tool(PropertyEditor)
        """
        if info == self.DND_TEXT_URI_LIST:
            uri = selection.data.strip()
            uri_splitted = uri.split()

            filenames = []
            for uri in uri_splitted:
                path = uihelper.get_file_path_from_dnd_dropped_uri(uri)
                filenames.append(path)

            logger.debug("Filenames from drag 'n drop:\n%s\n" % filenames)

            try:
                # Check if we have a single file and if this is a sloppy project
                # then load it. Otherwise import the files!
                if len(filenames) == 1 and filenames[0].endswith('.spj'):
                    globals.app.load_project(filenames[0])
                else:
                    globals.app.do_import(self.project, filenames)
            finally:
                context.finish(True,False,timestamp)
        else:
            context.drag_abort(timestamp)





#------------------------------------------------------------------------------
toolbox.register_tool(ProjectExplorer)
Exemplo n.º 3
0
def gtk_init(app):
    toolbox.register_tool(PeakFinder, 'PeakFinder')
Exemplo n.º 4
0
        # mark active line
        model = self.treeview.get_model()
        iter = model.get_iter_first()
        while iter is not None:
            value = model.get_value(iter, 0)
            if value == painter.obj:
                self.treeview.get_selection().select_iter(iter)
                break
            iter = model.iter_next(iter)
        else:
            self.treeview.get_selection().unselect_all()                      



    ###############
    def on_cursor_changed(self, treeview):
        model, iter = treeview.get_selection().get_selected()
        line = model.get_value(iter,0)
        if line is not None:
            self.active_layer_painter.set_active_line(line)

    def on_row_activated(self, treeview, *udata):
        model, iter = treeview.get_selection().get_selected()
        line = model.get_value(iter, 0)
        globals.app.edit_line(line)        



#------------------------------------------------------------------------------
toolbox.register_tool(LinesTool)
#         ulist.append(self.layer.labels, label, undolist=ul)
#         uwrap.emit_last(self.layer, "update::labels",
#                         updateinfo={'add' : label},
#                         undolist=ul)
#         project.journal.append(ul)


#     def on_remove(self, sender):
#         self.check_layer()
        
#         (model, pathlist) = self.treeview.get_selection().get_selected_rows()
#         if model is None:
#             return
#         project = self.get_data('project')
#         label = model.get_value( model.get_iter(pathlist[0]), 0)

#         ul = UndoList().describe("Remove label.")
#         ulist.remove(self.layer.labels, label, undolist=ul)
#         uwrap.emit_last(self.layer, "update::labels",
#                         updateinfo={'remove' : label},
#                         undolist=ul)
#         project.journal.append(ul)
        
        
#     def on_update_labels(self, layer, updateinfo=None):
#         self.on_update_layer()


#------------------------------------------------------------------------------
toolbox.register_tool(LabelsTool)