def setControls(self, minimize, maximize, close): if minimize is True: self.minimizeWidget = self.createDefaultControl('minimize') elif isinstance(minimize, basestring): self.minimizeWidget = Image(minimize) else: self.minimizeWidget = minimize if maximize is True: self.maximizeWidget = self.createDefaultControl('maximize') elif isinstance(maximize, basestring): self.maximizeWidget = Image(maximize) else: self.maximizeWidget = maximize if close is True: self.closeWidget = self.createDefaultControl('close') elif isinstance(close, basestring): self.closeWidget = Image(close) else: self.closeWidget = close if (isinstance(self.minimizeWidget, UIObject) or isinstance(self.maximizeWidget, UIObject) or isinstance(self.closeWidget, UIObject)): cf = self.panel.getCellFormatter() captionStyle = self.caption.getStyleName() captionPanel = FlexTable( Width="99%", BorderWidth="0", CellPadding="0", CellSpacing="0", ) controls = HorizontalPanel() controls.setStyleName("Controls") controls.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE) if isinstance(self.minimizeWidget, UIObject): self.minimizeWidget.setStyleName("Minimize") controls.add(self.minimizeWidget) self.minimizeWidget.addClickListener( getattr(self, "onMinimize"), ) if isinstance(self.maximizeWidget, UIObject): self.maximizeWidget.setStyleName("Maximize") controls.add(self.maximizeWidget) self.maximizeWidget.addClickListener( getattr(self, "onMaximize"), ) if isinstance(self.closeWidget, UIObject): self.closeWidget.setStyleName("Close") controls.add(self.closeWidget) self.closeWidget.addClickListener( getattr(self, "onClose"), ) self.closeable = True self.caption.removeStyleName(captionStyle) self.panel.setWidget(0, 0, captionPanel) captionPanel.setWidget(0, 0, self.caption) captionPanel.setWidget(0, 1, controls) captionPanel.setStyleName(captionStyle) cf = captionPanel.getCellFormatter() cf.setWidth(0, 1, '1%')
def __init__(self, autoHide=None, modal=True, **kwargs): PopupPanel.__init__(self, autoHide, modal, **kwargs) self.caption = HTML() self.child = None self.dragging = False self.dragStartX = 0 self.dragStartY = 0 self.panel = FlexTable(Height="100%", BorderWidth="0", CellPadding="0", CellSpacing="0") self.panel.setWidget(0, 0, self.caption) self.panel.getCellFormatter().setHeight(1, 0, "100%") self.panel.getCellFormatter().setWidth(1, 0, "100%") self.panel.getCellFormatter().setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_MIDDLE) PopupPanel.setWidget(self, self.panel) self.setStyleName("gwt-DialogBox") self.caption.setStyleName("Caption") self.caption.addMouseListener(self)