CVS: anygui/lib/anygui/backends javagui.py,1.55,1.56
Samuele Pedroni <[email protected]> Tue, 10 Sep 2002 14:57:52 -0700
| Newsgroups | gmane.comp.python.anygui.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/anygui/anygui/lib/anygui/backends
In directory usw-pr-cvs1:/tmp/cvs-serv21526
Modified Files:
javagui.py
Log Message:
self.widget using None to signal absence.
Index: javagui.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/backends/javagui.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -r1.55 -r1.56
*** javagui.py 1 Sep 2002 22:57:53 -0000 1.55
--- javagui.py 10 Sep 2002 21:57:50 -0000 1.56
***************
*** 18,26 ****
################################################################
- #@@@ FIXME: Implement getGeometry and friends...
-
- #@@@ FIXME: Use isDummy instead of repeated try/except :)
from anygui.Applications import AbstractApplication
! from anygui.Wrappers import AbstractWrapper, DummyWidget, isDummy
from anygui.Events import *
from anygui import application
--- 18,23 ----
################################################################
from anygui.Applications import AbstractApplication
! from anygui.Wrappers import AbstractWrapper
from anygui.Events import *
from anygui import application
***************
*** 53,56 ****
--- 50,55 ----
# @@@ Cookie-cutter from tkgui
self.setConstraints('container','x','y','width','height','text','selection')
+ self._container = None
+
# @@@ Cookie-cutter from tkgui
***************
*** 73,77 ****
#probably be removed. [mlh@20020831]
! if self.noWidget():
self.widget = self.widgetFactory(*args, **kwds)
self.widgetSetUp()
--- 72,76 ----
#probably be removed. [mlh@20020831]
! if not self.widget:
self.widget = self.widgetFactory(*args, **kwds)
self.widgetSetUp()
***************
*** 84,105 ****
--- 83,111 ----
def setX(self, x):
+ if not self.widget: return
self.widget.x = x
def setY(self, y):
+ if not self.widget: return
self.widget.y = y
def setWidth(self, width):
+ if not self.widget: return
self.widget.width = width
def setHeight(self, height):
+ if not self.widget: return
self.widget.height = height
def setPosition(self, x, y):
+ if not self.widget: return
self.widget.position = x, y
def setSize(self, width, height):
+ if not self.widget: return
self.widget.size = width, height
def setGeometry(self, x, y, width, height):
+ if not self.widget: return
self.widget.bounds = x, y, width, height
if self.widget.layout:
***************
*** 107,168 ****
def setVisible(self, visible):
self.widget.visible = visible
! def setContainer(self, container):
! # Factor out the conditional destruction?
if container is None:
self.destroy()
return
! try:
! parent = container.wrapper.widget
! except AttributeError:
! # FIXME: Handle Application containers differently...
! self.create()
! self.proxy.push(blocked=['container'])
! return
! try:
! assert parent.isDummy()
! except (AttributeError, AssertionError):
self.destroy()
self.create()
! try:
parent = parent.contentPane
- except AttributeError: pass
parent.add(self.widget)
self._container = parent # Can this be fetched from the widget (later)?
self.proxy.push(blocked=['container'])
! def setEnabled(self, enabled):
! self.widget.enabled = enabled
! def internalDestroy(self): # Move to Wrapper?
! try:
! assert self.widget.isDummy()
! except (AttributeError, AssertionError):
! try:
! container = self._container
! except AttributeError: pass
! else:
! if container:
! bounds = self.widget.bounds
! container.remove(self.widget)
! container.repaint(bounds)
! try: self.widget.dispose()
! except AttributeError: pass
! self._container = None
- def setText(self, text):
- try:
- self.widget.setText(text)
- except AttributeError: pass # FIXME! When does this happen?
- #self.widget.text = text # FIXME!
def getText(self):
! try:
! assert self.widget.isDummy()
! except (AttributeError, AssertionError):
! return self.widget.text
! else:
! return "" # @@@ What would be the best behaviour here? Should there be an exception?
################################################################
--- 113,157 ----
def setVisible(self, visible):
+ if not self.widget: return
self.widget.visible = visible
! def setEnabled(self, enabled):
! if not self.widget: return
! self.widget.enabled = enabled
!
! def setContainer(self, container): # WindowWrapper gets specialized version
if container is None:
self.destroy()
return
! parent = container.wrapper.widget
! if parent:
self.destroy()
self.create()
! if isinstance(parent,swing.JFrame): # @@@
parent = parent.contentPane
parent.add(self.widget)
self._container = parent # Can this be fetched from the widget (later)?
self.proxy.push(blocked=['container'])
! def internalDestroy(self): # WindowWrapper gets specialized version
! if not self.widget: return
! container = self._container
! if container:
! bounds = self.widget.bounds
! container.remove(self.widget)
! container.repaint(bounds)
! self._container = None
! ################################################################
+ class TextPropMixin:
+
+ def setText(self, text):
+ if not self.widget: return
+ self.widget.setText(text)
+
def getText(self):
! return self.widget.text
################################################################
***************
*** 171,174 ****
--- 160,164 ----
def setOn(self, on):
+ if not self.widget: return
self.widget.selected = on
***************
*** 182,191 ****
send(self.proxy, 'click')
! class CheckBoxWrapper(ToggleButtonMixin, ComponentWrapper):
def widgetFactory(self, *args, **kwds):
return swing.JCheckBox()
! class RadioButtonWrapper(ToggleButtonMixin, ComponentWrapper):
def widgetFactory(self, *args, **kwds):
--- 172,181 ----
send(self.proxy, 'click')
! class CheckBoxWrapper(ToggleButtonMixin, TextPropMixin, ComponentWrapper):
def widgetFactory(self, *args, **kwds):
return swing.JCheckBox()
! class RadioButtonWrapper(ToggleButtonMixin, TextPropMixin, ComponentWrapper):
def widgetFactory(self, *args, **kwds):
***************
*** 205,209 ****
################################################################
! class ButtonWrapper(ComponentWrapper):
def clickHandler(self, event):
--- 195,199 ----
################################################################
! class ButtonWrapper(TextPropMixin, ComponentWrapper):
def clickHandler(self, event):
***************
*** 220,224 ****
################################################################
! class LabelWrapper(ComponentWrapper):
def widgetFactory(self, *args, **kwds):
--- 210,214 ----
################################################################
! class LabelWrapper(TextPropMixin, ComponentWrapper):
def widgetFactory(self, *args, **kwds):
***************
*** 246,256 ****
--- 236,249 ----
def setSelection(self, selection):
+ if not self.widget: return
self.widget.selectionStart = selection[0]
self.widget.selectionStart = selection[1]
def setEditable(self, editable):
+ if not self.widget: return
self.widget.editable = editable
def setText(self, text):
+ if not self.widget: return
self.widget.text = text
***************
*** 301,311 ****
--- 294,307 ----
def setSelection(self, selection):
+ if not self.widget: return
self.widget.setSelectionStart(selection[0])
self.widget.setSelectionStart(selection[1])
def setEditable(self, editable):
+ if not self.widget: return
self.widget.setEditable(editable)
def setText(self, text):
+ if not self.widget: return
self.widget.setText(text)
***************
*** 352,363 ****
def setSelection(self, selection):
self.widget.setSelectedIndex(selection)
def getSelection(self):
- # FIXME: This should be handled differently
- if isDummy(self.widget): return 0
return self.widget.getSelectedIndex()
def setItems(self, items):
temp = java.util.Vector()
for item in items:
--- 348,359 ----
def setSelection(self, selection):
+ if not self.widget: return
self.widget.setSelectedIndex(selection)
def getSelection(self):
return self.widget.getSelectedIndex()
def setItems(self, items):
+ if not self.widget: return
temp = java.util.Vector()
for item in items:
***************
*** 392,400 ****
def setGeometry(self, x, y, width, height):
! if not isDummy(self.widget):
! insets = self.widget.insets
! width += insets.left + insets.right
! height += insets.top + insets.bottom
! ComponentWrapper.setGeometry(self, x, y, width, height)
def getGeometry(self):
--- 388,396 ----
def setGeometry(self, x, y, width, height):
! if not self.widget: return
! insets = self.widget.insets
! width += insets.left + insets.right
! height += insets.top + insets.bottom
! ComponentWrapper.setGeometry(self, x, y, width, height)
def getGeometry(self):
***************
*** 406,409 ****
--- 402,418 ----
return x, y, width, height
+ def setContainer(self, container):
+ if container is None:
+ self.destroy()
+ return
+ self.create()
+ self.proxy.push(blocked=['container'])
+ return
+
+ def internalDestroy(self):
+ if not self.widget: return
+ ComponentWrapper.internalDestroy(self)
+ self.widget.dispose()
+
def widgetSetUp(self):
self.widget.windowClosing = self.closeHandler
***************
*** 411,414 ****
--- 420,424 ----
def setTitle(self, title):
+ if not self.widget: return
self.widget.title = title
-------------------------------------------------------
In remembrance
www.osdn.com/911/