Ejemplo n.º 1
0
    def add(self, widget, stackText="", asHTML=False):
        widget.removeFromParent()
        index = self.getWidgetCount()

        tr = DOM.createTR()
        td = DOM.createTD()
        DOM.appendChild(self.body, tr)
        DOM.appendChild(tr, td)
        self.setStyleName(td, "gwt-StackPanelItem", True)
        self._setIndex(td, index)
        DOM.setAttribute(td, "height", "1px")

        tr = DOM.createTR()
        td = DOM.createTD()
        DOM.appendChild(self.body, tr)
        DOM.appendChild(tr, td)
        DOM.setAttribute(td, "height", "100%")
        DOM.setAttribute(td, "vAlign", "top")

        CellPanel.add(self, widget, td)

        self.setStackVisible(index, False)
        if self.visibleStack == -1:
            self.showStack(0)

        if stackText != "":
            self.setStackText(self.getWidgetCount() - 1, stackText, asHTML)
Ejemplo n.º 2
0
    def remove(self, child, index=None):
        if index is None:
            if isinstance(child, int):
                index = child
                child = self.getWidget(child)
            else:
                index = self.getWidgetIndex(child)

        if child.getParent() != self:
            return False

        if self.visibleStack == index:
            self.visibleStack = -1
        elif self.visibleStack > index:
            self.visibleStack -= 1

        rowIndex = 2 * index
        tr = DOM.getChild(self.body, rowIndex)
        DOM.removeChild(self.body, tr)
        tr = DOM.getChild(self.body, rowIndex)
        DOM.removeChild(self.body, tr)
        CellPanel.remove(self, child)
        rows = self.getWidgetCount() * 2

        #for (int i = rowIndex; i < rows; i = i + 2) {
        for i in range(rowIndex, rows, 2):
            childTR = DOM.getChild(self.body, i)
            td = DOM.getFirstChild(childTR)
            curIndex = self._getIndex(td)
            self._setIndex(td, index)
            index += 1

        return True
Ejemplo n.º 3
0
    def insert(self, widget, container, beforeIndex=None):
        """ has two modes of operation:
            widget, beforeIndex
            widget, container, beforeIndex.
            if beforeIndex argument is not given, the 1st mode is assumed.
            this technique is less costly than using *args.
        """
        if widget.getParent() == self:
            return

        if beforeIndex is None:
            beforeIndex = container
            container = self.getBody()

        widget.removeFromParent()

        tr = DOM.createTR()
        td = DOM.createTD()

        DOM.insertChild(container, tr, beforeIndex)
        DOM.appendChild(tr, td)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 4
0
    def insert(self, widget, container, beforeIndex=None):
        """ has two modes of operation:
            widget, beforeIndex
            widget, container, beforeIndex.
            if beforeIndex argument is not given, the 1st mode is assumed.
            this technique is less costly than using *args.
        """
        if widget.getParent() == self:
            return

        if beforeIndex is None:
            beforeIndex = container
            container = self.tableRow

        if widget.getParent() == self:
            return

        widget.removeFromParent()

        td = DOM.createTD()
        DOM.insertChild(container, td, beforeIndex)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 5
0
    def __init__(self, **kwargs):
        self.visibleStack = -1
        self.indices = {}
        self.stackListeners = []

        kwargs['StyleName'] = kwargs.get('StyleName', "gwt-StackPanel")

        CellPanel.__init__(self, **kwargs)
        DOM.sinkEvents(self.getElement(), Event.ONCLICK)
Ejemplo n.º 6
0
    def insert(self, widget, beforeIndex):
        widget.removeFromParent()

        td = DOM.createTD()
        DOM.insertChild(self.tableRow, td, beforeIndex)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 7
0
    def insert(self, widget, beforeIndex):
        widget.removeFromParent()

        td = DOM.createTD()
        DOM.insertChild(self.tableRow, td, beforeIndex)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 8
0
    def remove(self, widget):
        if isinstance(widget, int):
            widget = self.getWidget(widget)

        if widget.getParent() != self:
            return False

        td = DOM.getParent(widget.getElement())
        DOM.removeChild(self.tableRow, td)

        CellPanel.remove(self, widget)
        return True
Ejemplo n.º 9
0
    def remove(self, widget):
        if isinstance(widget, int):
            widget = self.getWidget(widget)

        if widget.getParent() != self:
            return False

        td = DOM.getParent(widget.getElement())
        DOM.removeChild(self.tableRow, td)

        CellPanel.remove(self, widget)
        return True
Ejemplo n.º 10
0
    def insert(self, widget, beforeIndex):
        widget.removeFromParent()

        tr = DOM.createTR()
        td = DOM.createTD()

        DOM.insertChild(self.getBody(), tr, beforeIndex)
        DOM.appendChild(tr, td)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 11
0
    def insert(self, widget, beforeIndex):
        widget.removeFromParent()

        tr = DOM.createTR()
        td = DOM.createTD()

        DOM.insertChild(self.getBody(), tr, beforeIndex)
        DOM.appendChild(tr, td)

        CellPanel.insert(self, widget, td, beforeIndex)

        self.setCellHorizontalAlignment(widget, self.horzAlign)
        self.setCellVerticalAlignment(widget, self.vertAlign)
Ejemplo n.º 12
0
    def remove(self, widget):
        if widget == self.center:
            self.center = None

        ret = CellPanel.remove(self, widget)
        if ret:
            self.dock_children.remove(widget)
            self.realizeTable(None)
        return ret
Ejemplo n.º 13
0
    def remove(self, widget):
        if widget == self.center:
            self.center = None

        ret = CellPanel.remove(self, widget)
        if ret:
            self.dock_children.remove(widget)
            self.realizeTable(None)
        return ret
Ejemplo n.º 14
0
    def __init__(self, **kwargs):

        CellPanel.__init__(self, **kwargs)

        self.tableRow = DOM.createTR()
        DOM.appendChild(self.getBody(), self.tableRow)
Ejemplo n.º 15
0
    def __init__(self, **kwargs):

        self.center = None
        self.dock_children = [] # cannot use self.children

        CellPanel.__init__(self, **kwargs)
Ejemplo n.º 16
0
 def appendAndMaybeAdopt(self, parent, child, beingAdded):
     if beingAdded is not None:
         if DOM.compare(child, beingAdded.getElement()):
             CellPanel.add(self, beingAdded, parent)
             return
     DOM.appendChild(parent, child)
Ejemplo n.º 17
0
    def __init__(self, **kwargs):

        self.center = None
        self.dock_children = []  # cannot use self.children

        CellPanel.__init__(self, **kwargs)
Ejemplo n.º 18
0
 def _getElementProps(self):
     return CellPanel._getElementProps() + self.elem_props
Ejemplo n.º 19
0
 def appendAndMaybeAdopt(self, parent, child, beingAdded):
     if beingAdded is not None:
         if DOM.compare(child, beingAdded.getElement()):
             CellPanel.add(self, beingAdded, parent)
             return
     DOM.appendChild(parent, child)
Ejemplo n.º 20
0
    def __init__(self, **kwargs):

        CellPanel.__init__(self, **kwargs)

        self.tableRow = DOM.createTR()
        DOM.appendChild(self.getBody(), self.tableRow)