CVS: anygui/lib/anygui/backends javagui.py,1.56,1.57

Samuele Pedroni <[email protected]> Wed, 11 Sep 2002 05:50:22 -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-serv8833

Modified Files:
	javagui.py 
Log Message:
eliminated spurious widget destr/construction.


Index: javagui.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/backends/javagui.py,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -r1.56 -r1.57
*** javagui.py	10 Sep 2002 21:57:50 -0000	1.56
--- javagui.py	11 Sep 2002 12:50:20 -0000	1.57
***************
*** 27,30 ****
--- 27,36 ----
  #from synchronize import apply_synchronized
  
+ def _r(obj): # @@@ for debug
+     cl = obj.__class__.__name__
+     p = cl.rfind('.')
+     cl = cl[p+1:]
+     return "%s@%s" % (cl,id(obj))
+ 
  
  # Set the "look-and-feel":
***************
*** 85,111 ****
--- 91,130 ----
          if not self.widget: return
          self.widget.x = x
+         if self.widget.layout:
+             self.widget.validate()
  
      def setY(self, y):
          if not self.widget: return
          self.widget.y = y
+         if self.widget.layout:
+             self.widget.validate()
  
      def setWidth(self, width):
          if not self.widget: return
          self.widget.width = width
+         if self.widget.layout:
+             self.widget.validate()
  
      def setHeight(self, height):
          if not self.widget: return
          self.widget.height = height
+         if self.widget.layout:
+             self.widget.validate()
  
      def setPosition(self, x, y):
          if not self.widget: return
          self.widget.position = x, y
+         if self.widget.layout:
+             self.widget.validate()
  
      def setSize(self, width, height):
          if not self.widget: return
          self.widget.size = width, height
+         if self.widget.layout:
+             self.widget.validate()
  
      def setGeometry(self, x, y, width, height):
          if not self.widget: return
+             
          self.widget.bounds = x, y, width, height
          if self.widget.layout:
***************
*** 126,136 ****
          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
--- 145,157 ----
          parent = container.wrapper.widget 
          if parent:
              if isinstance(parent,swing.JFrame): # @@@
                  parent = parent.contentPane
!             if parent is not self._container:
!                 # @@@ print "ADD",_r(self),_r(parent) # @@@ debug
!                 self.destroy()
!                 self.create()
!                 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
***************
*** 406,417 ****
              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):
--- 427,441 ----
              self.destroy()
              return
!         if container is not self._container:
!             # @@@ print "WINDOW",_r(self),_r(container)
!             self._container = container
!             self.create()
!             self.proxy.push(blocked=['container'])
          return
  
      def internalDestroy(self):
          if not self.widget: return
          self.widget.dispose()
+         self._container = None
  
      def widgetSetUp(self):



-------------------------------------------------------
In remembrance
www.osdn.com/911/