def addComponent(self, c, cssPosition=None):
        """Adds a component to the layout. The component can be positioned
        by providing a string formatted in CSS-format.

        For example the string "top:10px;left:10px" will position the
        component 10 pixels from the left and 10 pixels from the top. The
        identifiers: "top","left","right" and "bottom" can be used to
        specify the position.

        @param c:
                   The component to add to the layout
        @param cssPosition:
                   The css position string
        """
        # Create position instance and add it to componentToCoordinates
        # map. We need to do this before we call addComponent so the
        # attachListeners can access this position. #6368
        if cssPosition is not None:
            position = ComponentPosition(self)
            position.setCSSString(cssPosition)
            self._componentToCoordinates[c] = position

        self._components.add(c)
        try:
            super(AbsoluteLayout, self).addComponent(c)
            self.requestRepaint()
        except __HOLE__, e:
            self._components.remove(c)
            if cssPosition is not None:
                # Remove component coordinates if adding fails
                del self._componentToCoordinates[c]
                raise e
dataset/ETHPy150Open rwl/muntjac/muntjac/ui/absolute_layout.py/AbsoluteLayout.addComponent