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
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
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
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