コード例 #1
0
ファイル: Project.py プロジェクト: kif/RixsTool
    def addGroup(self, label, node=None):
        """
        :param str label: Unique label for the container
        :param ItemContainer node: Parent for the new container. Defaults to None, the parent in that case is the root.

        Creates a new container object in the parent container node

        :returns: The created :class:`datahandling.ItemContainer`
        :rtype: ItemContainer
        :raises ValueError: if the label is already present in the project
        """
        if DEBUG >= 1:
            print('RixsProject.addItem -- called')
        if label in self.__idDict:
            raise ValueError("RixsProject.addItem -- Item key '%s' already present" % label)
        if not node:
            node = self.projectRoot
        container = ItemContainer(
            item=None,
            parent=node,
            label=label
        )
        node.addChildren([container])
        self.__idDict[container.label] = container.getID()
        return container
コード例 #2
0
ファイル: Project.py プロジェクト: kif/RixsTool
    def addItem(self, item):
        """
        :param DataItem item: Item to be inserted into the project tree

        Item is wrapped in :class:`datahandling.ItemContainer` and inserted into the tree.
        The insertion node depdends on the type of item.

        **TODO:**
        * Add remove functionality here (c.f. RixsTool.Models)

        :returns: Container of item
        :rtype: ItemContainer
        :raises TypeError: if the item type is unknown
        :raises ValueError: if the item.key() is already present
        """
        if DEBUG >= 1:
            print('RixsProject.addItem -- called')
        if item.key() in self.__idDict:
            raise ValueError("RixsProject.addItem -- Item key '%s' already present" % item.key())
        if isinstance(item, ScanItem) or isinstance(item, SpecItem):
            node = self.projectRoot.children[0]
        elif isinstance(item, ImageItem):
            node = self.projectRoot.children[1]
        elif isinstance(item, StackItem):
            node = self.projectRoot.children[2]
        else:
            raise TypeError("RixsProject.addItem -- unknown item type '%s'" % type(item))
        container = ItemContainer(
            item=item,
            parent=node
        )
        node.addChildren([container])
        self.__idDict[item.key()] = container.getID()
        return container
コード例 #3
0
    def addItem(self, item):
        """
        :param DataItem item: Item to be inserted into the project tree

        Item is wrapped in :class:`datahandling.ItemContainer` and inserted into the tree.
        The insertion node depdends on the type of item.

        **TODO:**
        * Add remove functionality here (c.f. RixsTool.Models)

        :returns: Container of item
        :rtype: ItemContainer
        :raises TypeError: if the item type is unknown
        :raises ValueError: if the item.key() is already present
        """
        if DEBUG >= 1:
            print('RixsProject.addItem -- called')
        if item.key() in self.__idDict:
            raise ValueError(
                "RixsProject.addItem -- Item key '%s' already present" %
                item.key())
        if isinstance(item, ScanItem) or isinstance(item, SpecItem):
            node = self.projectRoot.children[0]
        elif isinstance(item, ImageItem):
            node = self.projectRoot.children[1]
        elif isinstance(item, StackItem):
            node = self.projectRoot.children[2]
        else:
            raise TypeError("RixsProject.addItem -- unknown item type '%s'" %
                            type(item))
        container = ItemContainer(item=item, parent=node)
        node.addChildren([container])
        self.__idDict[item.key()] = container.getID()
        return container
コード例 #4
0
    def addGroup(self, label, node=None):
        """
        :param str label: Unique label for the container
        :param ItemContainer node: Parent for the new container. Defaults to None, the parent in that case is the root.

        Creates a new container object in the parent container node

        :returns: The created :class:`datahandling.ItemContainer`
        :rtype: ItemContainer
        :raises ValueError: if the label is already present in the project
        """
        if DEBUG >= 1:
            print('RixsProject.addItem -- called')
        if label in self.__idDict:
            raise ValueError(
                "RixsProject.addItem -- Item key '%s' already present" % label)
        if not node:
            node = self.projectRoot
        container = ItemContainer(item=None, parent=node, label=label)
        node.addChildren([container])
        self.__idDict[container.label] = container.getID()
        return container