Esempio n. 1
0
class ZImageIDOHostsWrapper:

    def __init__(self, filter):
        self.hostNodes = ZSortedList(ZHostNodeComparator(filter))
        self.imageFilter = filter
    # end __init__()

    def addImageIDO(self, imageIDO):
        if self.imageFilter.matches(imageIDO):
            hostNode = self._findHostNode(imageIDO.getHost())
            if not hostNode:
                hostNode = self._createHostNode(imageIDO.getHost())
            if hostNode.addImageIDO(imageIDO):
                return True
        else:
            return False
    # end addImageIDO()

    def removeImageIDO(self, imageIDO):
        for hostNode in self.hostNodes:
            if hostNode.removeImageIDO(imageIDO):
                if hostNode.isEmpty():
                    self.hostNodes.remove(hostNode)
                return True
        return False
    # end removeImageIDO()

    def _findHostNode(self, host):
        for hostNode in self.hostNodes:
            if hostNode.getHost() == host:
                return hostNode
        return None
    # end _findHostNode()
    
    def _createHostNode(self, host):
        hostNode = ZHostNode(host)
        self.hostNodes.add(hostNode)
        return hostNode
    # end _createHostNode()

    def __len__(self):
        return len(self.hostNodes)
    # end __len__()

    def __contains__(self, key):
        return key in self.hostNodes
    # end __contains__()

    # Iterator over all of the attributes names (not in namespaces).
    def __iter__(self):
        return self.hostNodes.__iter__()
    # end __iter__()

    def __getitem__(self, key):
        return self.hostNodes[key]
Esempio n. 2
0
class ZLinkIDOHostsWrapper:

    def __init__(self, filter):
        self.hostNodes = ZSortedList(ZHostNodeComparator(filter))
        self.linkFilter = filter
    # end __init__()

    def addLinkIDO(self, linkIDO):
        if self.linkFilter.matches(linkIDO):
            hostNode = self._findHostNode(linkIDO.getHost())
            if not hostNode:
                hostNode = self._createHostNode(linkIDO.getHost())
            return hostNode.addLinkIDO(linkIDO)
        else:
            return False
    # end addLinkIDO()

    def removeLinkIDO(self, linkIDO):
        for hostNode in self.hostNodes:
            if hostNode.removeLinkIDO(linkIDO):
                if hostNode.isEmpty():
                    self.hostNodes.remove(hostNode)
                return True
        return False
    # end removeLinkIDO()

    def _findHostNode(self, host):
        for hostNode in self.hostNodes:
            if hostNode.getHost() == host:
                return hostNode
        return None
    # end _findHostNode()

    def _createHostNode(self, host):
        hostNode = ZHostNode(host)
        self.hostNodes.add(hostNode)
        return hostNode
    # end _createHostNode()

    def __len__(self):
        return len(self.hostNodes)
    # end __len__()

    def __contains__(self, key):
        return key in self.hostNodes
    # end __contains__()

    # Iterator over all of the attributes names (not in namespaces).
    def __iter__(self):
        return self.hostNodes.__iter__()
    # end __iter__()

    def __getitem__(self, key):
        return self.hostNodes[key]
Esempio n. 3
0
class ZToolBarModel:

    def __init__(self):
        comparator = ZToolBarNodeComparator()
        self.toolBarNodes = ZSortedList(comparator)
        self.toolIdToNodeMap = {}
        self.nextToolId = 0
        self.supportedSizes = ZSortedSet()
        self.defaultSize = -1
    # end __init__()

    def _getNextToolId(self):
        self.nextToolId = self.nextToolId + 1
        return self.nextToolId
    # end _getNextToolId()

    def _getToolBarNode(self, toolId):
        if toolId in self.toolIdToNodeMap:
            return self.toolIdToNodeMap[toolId]
        raise ZAppFrameworkException(u"No tool found with id '%s'." % unicode(toolId)) #$NON-NLS-1$
    # end _getToolBarNode()

    def _addToolBarNode(self, node):
        self.toolBarNodes.add(node)
        toolId = self._getNextToolId()
        self.toolIdToNodeMap[toolId] = node
        return toolId
    # end _addToolBarNode()

    def getToolBarNodes(self):
        return self.toolBarNodes
    # end getToolBarNodes()

    def getSupportedSizes(self):
        return self.supportedSizes
    # end getSupportedSizes()

    def getDefaultToolSize(self):
        return self.defaultSize
    # end getDefaultToolSize()

    def setDefaultToolSize(self, defaultSize):
        self.defaultSize = defaultSize
    # end setDefaultToolSize()

    def addSeparator(self, gravity):
        u"""addSeparator(int) -> toolId
        Adds a toolbar separator item.""" #$NON-NLS-1$
        toolBarNode = ZToolBarSeparatorNode(gravity)
        return self._addToolBarNode(toolBarNode)
    # end addSeparator()

    def addItemWithAction(self, name, gravity, action):
        u"""addItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds an action-based toolbar item to the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name, u"", gravity, action = action) #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)
    # end addItemWithAction()

    def addItemWithCallback(self, name, gravity, callback):
        u"""addItemWithCallback(string, int, method) -> toolId
        Adds an callback-based toolbar item to the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveCallbackToolBarNode(name, u"", gravity, callback = callback) #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)
    # end addItemWithCallback()

    def addToggleItemWithAction(self, name, gravity, action):
        u"""addToggleItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds a toggle-style, action-based toolbar item to
        the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name, u"", gravity, isToggle = True, action = action) #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)
    # end addToggleItemWithAction()

    def addDropDownItemWithAction(self, name, gravity, action):
        u"""addToggleItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds a toggle-style, action-based toolbar item to
        the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name, u"", gravity, isDropDown = True, action = action) #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)
    # end addDropDownItemWithAction()

    def setToolText(self, toolId, text):
        node = self._getToolBarNode(toolId)
        node.setText(text)
    # end setToolText()

    def setToolDescription(self, toolId, description):
        node = self._getToolBarNode(toolId)
        node.setDescription(description)
    # end setToolDescription()

    def addToolBitmap(self, toolId, size, bitmap):
        node = self._getToolBarNode(toolId)
        node.addBitmap(size, bitmap)
        self.supportedSizes.add(size)
    # end addToolBitmap()

    def addToolDisabledBitmap(self, toolId, size, disabledBitmap):
        node = self._getToolBarNode(toolId)
        node.addDisabledBitmap(size, disabledBitmap)
    # end addToolDisabledBitmap()

    def addToolHoverBitmap(self, toolId, size, hoverBitmap):
        node = self._getToolBarNode(toolId)
        node.addHoverBitmap(size, hoverBitmap)
    # end addToolHoverBitmap()

    def setToolDropDownMenuModel(self, toolId, menuModel):
        node = self._getToolBarNode(toolId)
        node.setDropDownMenuModel(menuModel)
Esempio n. 4
0
class ZToolBarModel:
    def __init__(self):
        comparator = ZToolBarNodeComparator()
        self.toolBarNodes = ZSortedList(comparator)
        self.toolIdToNodeMap = {}
        self.nextToolId = 0
        self.supportedSizes = ZSortedSet()
        self.defaultSize = -1

    # end __init__()

    def _getNextToolId(self):
        self.nextToolId = self.nextToolId + 1
        return self.nextToolId

    # end _getNextToolId()

    def _getToolBarNode(self, toolId):
        if toolId in self.toolIdToNodeMap:
            return self.toolIdToNodeMap[toolId]
        raise ZAppFrameworkException(u"No tool found with id '%s'." %
                                     unicode(toolId))  #$NON-NLS-1$

    # end _getToolBarNode()

    def _addToolBarNode(self, node):
        self.toolBarNodes.add(node)
        toolId = self._getNextToolId()
        self.toolIdToNodeMap[toolId] = node
        return toolId

    # end _addToolBarNode()

    def getToolBarNodes(self):
        return self.toolBarNodes

    # end getToolBarNodes()

    def getSupportedSizes(self):
        return self.supportedSizes

    # end getSupportedSizes()

    def getDefaultToolSize(self):
        return self.defaultSize

    # end getDefaultToolSize()

    def setDefaultToolSize(self, defaultSize):
        self.defaultSize = defaultSize

    # end setDefaultToolSize()

    def addSeparator(self, gravity):
        u"""addSeparator(int) -> toolId
        Adds a toolbar separator item.""" #$NON-NLS-1$
        toolBarNode = ZToolBarSeparatorNode(gravity)
        return self._addToolBarNode(toolBarNode)

    # end addSeparator()

    def addItemWithAction(self, name, gravity, action):
        u"""addItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds an action-based toolbar item to the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name, u"", gravity,
                                         action=action)  #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)

    # end addItemWithAction()

    def addItemWithCallback(self, name, gravity, callback):
        u"""addItemWithCallback(string, int, method) -> toolId
        Adds an callback-based toolbar item to the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveCallbackToolBarNode(
            name, u"", gravity, callback=callback)  #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)

    # end addItemWithCallback()

    def addToggleItemWithAction(self, name, gravity, action):
        u"""addToggleItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds a toggle-style, action-based toolbar item to
        the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name,
                                         u"",
                                         gravity,
                                         isToggle=True,
                                         action=action)  #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)

    # end addToggleItemWithAction()

    def addDropDownItemWithAction(self, name, gravity, action):
        u"""addToggleItemWithAction(string, int, IZToolBarAction) -> toolId
        Adds a toggle-style, action-based toolbar item to
        the model.""" #$NON-NLS-1$
        toolBarNode = ZActiveToolBarNode(name,
                                         u"",
                                         gravity,
                                         isDropDown=True,
                                         action=action)  #$NON-NLS-1$
        return self._addToolBarNode(toolBarNode)

    # end addDropDownItemWithAction()

    def setToolText(self, toolId, text):
        node = self._getToolBarNode(toolId)
        node.setText(text)

    # end setToolText()

    def setToolDescription(self, toolId, description):
        node = self._getToolBarNode(toolId)
        node.setDescription(description)

    # end setToolDescription()

    def addToolBitmap(self, toolId, size, bitmap):
        node = self._getToolBarNode(toolId)
        node.addBitmap(size, bitmap)
        self.supportedSizes.add(size)

    # end addToolBitmap()

    def addToolDisabledBitmap(self, toolId, size, disabledBitmap):
        node = self._getToolBarNode(toolId)
        node.addDisabledBitmap(size, disabledBitmap)

    # end addToolDisabledBitmap()

    def addToolHoverBitmap(self, toolId, size, hoverBitmap):
        node = self._getToolBarNode(toolId)
        node.addHoverBitmap(size, hoverBitmap)

    # end addToolHoverBitmap()

    def setToolDropDownMenuModel(self, toolId, menuModel):
        node = self._getToolBarNode(toolId)
        node.setDropDownMenuModel(menuModel)