Package library :: Package pyjamas :: Package ui :: Module HorizontalPanel
[hide private]
[frames] | no frames]

Source Code for Module library.pyjamas.ui.HorizontalPanel

 1  # Copyright 2006 James Tauber and contributors 
 2  # Copyright (C) 2009 Luke Kenneth Casson Leighton <lkcl@lkcl.net> 
 3  # 
 4  # Licensed under the Apache License, Version 2.0 (the "License"); 
 5  # you may not use this file except in compliance with the License. 
 6  # You may obtain a copy of the License at 
 7  # 
 8  #     http://www.apache.org/licenses/LICENSE-2.0 
 9  # 
10  # Unless required by applicable law or agreed to in writing, software 
11  # distributed under the License is distributed on an "AS IS" BASIS, 
12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
13  # See the License for the specific language governing permissions and 
14  # limitations under the License. 
15  from pyjamas import DOM 
16  from pyjamas import Factory 
17   
18  from pyjamas.ui.CellPanel import CellPanel 
19   
20   
21 -class HorizontalPanel(CellPanel):
22
23 - def __init__(self, **kwargs):
24 25 CellPanel.__init__(self, **kwargs) 26 27 self.tableRow = DOM.createTR() 28 DOM.appendChild(self.getBody(), self.tableRow)
29
30 - def insert(self, widget, container, beforeIndex=None):
31 """ has two modes of operation: 32 widget, beforeIndex 33 widget, container, beforeIndex. 34 if beforeIndex argument is not given, the 1st mode is assumed. 35 this technique is less costly than using *args. 36 """ 37 if widget.getParent() == self: 38 return 39 40 if beforeIndex is None: 41 beforeIndex = container 42 container = self.tableRow 43 44 if widget.getParent() == self: 45 return 46 47 widget.removeFromParent() 48 49 td = DOM.createTD() 50 DOM.insertChild(container, td, beforeIndex) 51 52 CellPanel.insert(self, widget, td, beforeIndex) 53 54 self.setCellHorizontalAlignment(widget, self.horzAlign) 55 self.setCellVerticalAlignment(widget, self.vertAlign)
56
57 - def remove(self, widget):
58 if isinstance(widget, int): 59 widget = self.getWidget(widget) 60 61 if widget.getParent() != self: 62 return False 63 64 td = DOM.getParent(widget.getElement()) 65 DOM.removeChild(self.tableRow, td) 66 67 CellPanel.remove(self, widget) 68 return True
69 70 71 Factory.registerClass('pyjamas.ui.HorizontalPanel', 'HorizontalPanel', HorizontalPanel) 72