CVS: anygui/lib/anygui/frontend_wrappers ComboBoxWrapper.py,1.2,1.3 __init__.py,1.1,1.2

Magnus Lie Hetland <[email protected]> Sun, 17 Nov 2002 10:42:09 -0800
Newsgroups gmane.comp.python.anygui.cvs
Message-ID <[email protected]>
Update of /cvsroot/anygui/anygui/lib/anygui/frontend_wrappers
In directory usw-pr-cvs1:/tmp/cvs-serv11968/lib/anygui/frontend_wrappers

Modified Files:
	ComboBoxWrapper.py __init__.py 
Log Message:
Started to fiddle with a Borg Application, and tried to fix line endings.


Index: ComboBoxWrapper.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/frontend_wrappers/ComboBoxWrapper.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ComboBoxWrapper.py	16 Nov 2002 16:44:59 -0000	1.2
--- ComboBoxWrapper.py	17 Nov 2002 18:42:07 -0000	1.3
***************
*** 1,266 ****
! import anygui
! from anygui.Wrappers import AbstractWrapper
! from anygui.Events import link, send
! from time import sleep
! 
! """
! This is a generic implementation of the ComboBox that is provided for
! backends that do not provide the ComboBox widget in their respective
! toolkits. This also models the creation of Mega-widgets using the
! Anygui GUI API.
! """
! 
! #==============================================================#
! # Factoring out creational code...
! 
! class Wrapper(AbstractWrapper):
! 
!     def __init__(self, *args, **kwds):
!         AbstractWrapper.__init__(self, *args, **kwds)
! 
!         # 'container' before everything...
!         self.setConstraints('container','x','y','width','height','items','selection')
!         # Note: x,y,width, and height probably have no effect here, due to
!         # the way getSetters() works. I'm not sure if that's something
!         # that needs fixing or not... - jak
! 
!         self.addConstraint('geometry', 'visible')
!         # FIXME: Is this the right place to put it? Make sure
!         # 'geometry' implies 'x', 'y', etc. too (see Wrappers.py)
!         # Also, this scheme will cause flashing... (place before
!         # place_forget)
! 
!     def enterMainLoop(self):
!         self.proxy.push()
! 
!     def rebuild(self): pass
! 
!     def rebuildAll(self): pass
! 
! #==============================================================#
! 
! class ComboBoxWrapper(Wrapper):
!     _connected = 0
!     _comps     = 0
!     _textFld  = None
!     _popupBtn = None
!     _itemLbx = None
!     _currentItem = 0
!     _popupOpen = 0
!     _visible = 1
!     _enabled = 1
!     _loop = 0
!     _btnWidth = 0
!     _lbxHeight = 0
!     _cbxHeight = 0
! 
! 
!     def _createWidgets(self):
!         state = self.proxy.state
!         x = state['x']
!         y = state['y']
!         width = state['width']
!         height = state['height']
!         self._lbxHeight = state['lbxHeight']
!         items = list(self.proxy.items)
!         self._textFld  = anygui.TextField(geometry = ( x,
!                                                        y,
!                                                        width - height,
!                                                        height ))
!         self._popupBtn = anygui.Button(text = 'v',
!                                        geometry = ( x + width - height,
!                                                     y,
!                                                     height,
!                                                     height ))
!         self._itemLbx = anygui.ListBox(visible = 0,
!                                        items = items,
!                                        geometry = ( x,
!                                                     y + height,
!                                                     width,
!                                                     self._lbxHeight ))
! 
! 
!     def _setupBtn(self):
!         self._popupBtn.container = self.proxy.container
! 
!     def _setupTxtFld(self):
!         self._textFld.container = self.proxy.container
! 
!     def _setupLbx(self):
!         self._itemLbx.container = self.proxy.container
! 
!     def widgetFactory(self, *args, **kws):
!         #print '>> in widgetFactory...'
!         self._createWidgets()
!         self._comps = 1
!         class Class: pass
!         widget = Class()
!         return widget
! 
!     def widgetSetUp(self):
!         if self._comps and not self._connected:
!             #print '>> in widgetSetUp'
!             link(self._popupBtn, self._handlePopup)
!             link(self._itemLbx, self._handleSelection)
!             self._connected = 1
! 
!     def setupChildWidgets(self):
!         if self._comps:
!             #print '>> in setupChildWidgets'
!             self._setupTxtFld()
!             self._setupBtn()
!             self._setupLbx()
! 
!     def setContainer(self, container):
!         if container is None: return
!         parent = container.wrapper.widget
!         try:
!             assert parent is None
!         except (AssertionError):
!             self.create(parent)
!             self.proxy.push(blocked=['container'])
!             self.setupChildWidgets()
! 
!     def _handlePopup(self, event):
!         #print '>> handling Popup...'
!         self._loop = 1
!         self._itemLbx.visible = self._popupOpen = not self._popupOpen
!         self._loop = 0
! 
!     def _handleSelection(self, event):
!         #print '>> handling Selection...'
!         if not self._loop:
!             self._loop = 1
!             self._textFld.text = self._itemLbx.items[self._itemLbx.selection]
!             self._itemLbx.visible = 0
!             sleep(0.1)
!             self._popupOpen = 0
!             send(self.proxy, 'select')
!             self._loop = 0
! 
!     def setX(self, x):
!         if self._comps:
!             dummy, y, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setY(self, y):
!        if self._comps:
!             x, dummy, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setWidth(self, width):
!        if self._comps:
!             x, y, dummy, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setHeight(self, height):
!        if self._comps:
!             x, y, width, dummy = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setPosition(self, x, y):
!        if self._comps:
!             dummy, dummy2, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setSize(self, width, height):
!        if self._comps:
!             x, y, dummy, dummy2 = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def getGeometry(self):
!         if self._comps:
!             x, y, dummy, height = self._textFld.geometry
!             d, d1, width, d2   = self._itemLbx.geometry
!             return (x, y, width, height)
! 
!     def setGeometry(self, x, y, width, height):
!         if self._comps:
!             self._loop = 1
!             self._textFld.geometry  = (x,
!                                        y,
!                                        width - height,
!                                        height)
!             self._popupBtn.geometry = (x + width - height,
!                                        y,
!                                        height,
!                                        height)
!             self._itemLbx.geometry =  (x,
!                                        y + height,
!                                        width,
!                                        self._lbxHeight)
!             self._loop = 0
! 
!     def getSelection(self):
!         if self._comps:
!             return self._itemLbx.selection
! 
!     def setSelection(self, selection):
!         if self._comps:
!             self._loop = 1
!             self._itemLbx.selection = selection
!             self._textFld.text = self._itemLbx.items[selection]
!             self._loop = 0
! 
!     def getItems(self):
!         if self._comps:
!             return self._itemLbx.items
! 
!     def setItems(self, items):
!         if self._comps:
!             #print '>> in setItems(items) -> ', items
!             self._loop = 1
!             self._itemLbx.items = items
!             self._loop = 0
! 
!     def getText(self):
!         items = list(self._itemLbx.items)
!         text = self._textFld.text
!         if text in items:
!             return text
!         else:
!             return items[self._itemLbx.selection]
! 
!     def getLbxHeight(self):
!         return self._lbxHeight
! 
!     def setLbxHeight(self, lbxHeight):
!         if self._comps:
!             self._lbxHeight = lbxHeight
!             x, y, width, height = self.proxy.geometry
!             self._itemLbx.geometry = ( x,
!                                        y + height,
!                                        width,
!                                        lbxHeight)
! 
!     def getVisible(self):
!         return self._visible
! 
!     def setVisibile(self, visible):
!         if self._comps:
!             self._visible = visible
!             if self._popupOpen:
!                 self._itemLbx.visible = visible
!                 self._popupOpen = visible
!             self._textFld.visible = visible
!             self._popupBtn.visible = visible
! 
!     def getEnabled(self):
!         return self._enabled
! 
!     def setEnabled(self, enabled):
!         if self._comps:
!             if self._popupOpen:
!                 self._itemLbx.visible = 0
!                 self._popupOpen = 0
!             self._enabled = enabled
!             self._textFld.enabled  = enabled
!             self._popupBtn.enabled = enabled
! 
!     def internalDestroy(self):
!         if self._comps:
!             self._connected = 0
!             self._textFld.destroy()
!             self._popupBtn.destroy()
!             self._itemLbx.destroy()
!             self._comps = 0
--- 1,266 ----
! import anygui
! from anygui.Wrappers import AbstractWrapper
! from anygui.Events import link, send
! from time import sleep
! 
! """
! This is a generic implementation of the ComboBox that is provided for
! backends that do not provide the ComboBox widget in their respective
! toolkits. This also models the creation of Mega-widgets using the
! Anygui GUI API.
! """
! 
! #==============================================================#
! # Factoring out creational code...
! 
! class Wrapper(AbstractWrapper):
! 
!     def __init__(self, *args, **kwds):
!         AbstractWrapper.__init__(self, *args, **kwds)
! 
!         # 'container' before everything...
!         self.setConstraints('container','x','y','width','height','items','selection')
!         # Note: x,y,width, and height probably have no effect here, due to
!         # the way getSetters() works. I'm not sure if that's something
!         # that needs fixing or not... - jak
! 
!         self.addConstraint('geometry', 'visible')
!         # FIXME: Is this the right place to put it? Make sure
!         # 'geometry' implies 'x', 'y', etc. too (see Wrappers.py)
!         # Also, this scheme will cause flashing... (place before
!         # place_forget)
! 
!     def enterMainLoop(self):
!         self.proxy.push()
! 
!     def rebuild(self): pass
! 
!     def rebuildAll(self): pass
! 
! #==============================================================#
! 
! class ComboBoxWrapper(Wrapper):
!     _connected = 0
!     _comps     = 0
!     _textFld  = None
!     _popupBtn = None
!     _itemLbx = None
!     _currentItem = 0
!     _popupOpen = 0
!     _visible = 1
!     _enabled = 1
!     _loop = 0
!     _btnWidth = 0
!     _lbxHeight = 0
!     _cbxHeight = 0
! 
! 
!     def _createWidgets(self):
!         state = self.proxy.state
!         x = state['x']
!         y = state['y']
!         width = state['width']
!         height = state['height']
!         self._lbxHeight = state['lbxHeight']
!         items = list(self.proxy.items)
!         self._textFld  = anygui.TextField(geometry = ( x,
!                                                        y,
!                                                        width - height,
!                                                        height ))
!         self._popupBtn = anygui.Button(text = 'v',
!                                        geometry = ( x + width - height,
!                                                     y,
!                                                     height,
!                                                     height ))
!         self._itemLbx = anygui.ListBox(visible = 0,
!                                        items = items,
!                                        geometry = ( x,
!                                                     y + height,
!                                                     width,
!                                                     self._lbxHeight ))
! 
! 
!     def _setupBtn(self):
!         self._popupBtn.container = self.proxy.container
! 
!     def _setupTxtFld(self):
!         self._textFld.container = self.proxy.container
! 
!     def _setupLbx(self):
!         self._itemLbx.container = self.proxy.container
! 
!     def widgetFactory(self, *args, **kws):
!         #print '>> in widgetFactory...'
!         self._createWidgets()
!         self._comps = 1
!         class Class: pass
!         widget = Class()
!         return widget
! 
!     def widgetSetUp(self):
!         if self._comps and not self._connected:
!             #print '>> in widgetSetUp'
!             link(self._popupBtn, self._handlePopup)
!             link(self._itemLbx, self._handleSelection)
!             self._connected = 1
! 
!     def setupChildWidgets(self):
!         if self._comps:
!             #print '>> in setupChildWidgets'
!             self._setupTxtFld()
!             self._setupBtn()
!             self._setupLbx()
! 
!     def setContainer(self, container):
!         if container is None: return
!         parent = container.wrapper.widget
!         try:
!             assert parent is None
!         except (AssertionError):
!             self.create(parent)
!             self.proxy.push(blocked=['container'])
!             self.setupChildWidgets()
! 
!     def _handlePopup(self, event):
!         #print '>> handling Popup...'
!         self._loop = 1
!         self._itemLbx.visible = self._popupOpen = not self._popupOpen
!         self._loop = 0
! 
!     def _handleSelection(self, event):
!         #print '>> handling Selection...'
!         if not self._loop:
!             self._loop = 1
!             self._textFld.text = self._itemLbx.items[self._itemLbx.selection]
!             self._itemLbx.visible = 0
!             sleep(0.1)
!             self._popupOpen = 0
!             send(self.proxy, 'select')
!             self._loop = 0
! 
!     def setX(self, x):
!         if self._comps:
!             dummy, y, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setY(self, y):
!        if self._comps:
!             x, dummy, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setWidth(self, width):
!        if self._comps:
!             x, y, dummy, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setHeight(self, height):
!        if self._comps:
!             x, y, width, dummy = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setPosition(self, x, y):
!        if self._comps:
!             dummy, dummy2, width, height = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def setSize(self, width, height):
!        if self._comps:
!             x, y, dummy, dummy2 = self.geometry
!             self.setGeometry(x, y, width, height)
! 
!     def getGeometry(self):
!         if self._comps:
!             x, y, dummy, height = self._textFld.geometry
!             d, d1, width, d2   = self._itemLbx.geometry
!             return (x, y, width, height)
! 
!     def setGeometry(self, x, y, width, height):
!         if self._comps:
!             self._loop = 1
!             self._textFld.geometry  = (x,
!                                        y,
!                                        width - height,
!                                        height)
!             self._popupBtn.geometry = (x + width - height,
!                                        y,
!                                        height,
!                                        height)
!             self._itemLbx.geometry =  (x,
!                                        y + height,
!                                        width,
!                                        self._lbxHeight)
!             self._loop = 0
! 
!     def getSelection(self):
!         if self._comps:
!             return self._itemLbx.selection
! 
!     def setSelection(self, selection):
!         if self._comps:
!             self._loop = 1
!             self._itemLbx.selection = selection
!             self._textFld.text = self._itemLbx.items[selection]
!             self._loop = 0
! 
!     def getItems(self):
!         if self._comps:
!             return self._itemLbx.items
! 
!     def setItems(self, items):
!         if self._comps:
!             #print '>> in setItems(items) -> ', items
!             self._loop = 1
!             self._itemLbx.items = items
!             self._loop = 0
! 
!     def getText(self):
!         items = list(self._itemLbx.items)
!         text = self._textFld.text
!         if text in items:
!             return text
!         else:
!             return items[self._itemLbx.selection]
! 
!     def getLbxHeight(self):
!         return self._lbxHeight
! 
!     def setLbxHeight(self, lbxHeight):
!         if self._comps:
!             self._lbxHeight = lbxHeight
!             x, y, width, height = self.proxy.geometry
!             self._itemLbx.geometry = ( x,
!                                        y + height,
!                                        width,
!                                        lbxHeight)
! 
!     def getVisible(self):
!         return self._visible
! 
!     def setVisibile(self, visible):
!         if self._comps:
!             self._visible = visible
!             if self._popupOpen:
!                 self._itemLbx.visible = visible
!                 self._popupOpen = visible
!             self._textFld.visible = visible
!             self._popupBtn.visible = visible
! 
!     def getEnabled(self):
!         return self._enabled
! 
!     def setEnabled(self, enabled):
!         if self._comps:
!             if self._popupOpen:
!                 self._itemLbx.visible = 0
!                 self._popupOpen = 0
!             self._enabled = enabled
!             self._textFld.enabled  = enabled
!             self._popupBtn.enabled = enabled
! 
!     def internalDestroy(self):
!         if self._comps:
!             self._connected = 0
!             self._textFld.destroy()
!             self._popupBtn.destroy()
!             self._itemLbx.destroy()
!             self._comps = 0

Index: __init__.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/frontend_wrappers/__init__.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** __init__.py	16 Nov 2002 12:41:11 -0000	1.1
--- __init__.py	17 Nov 2002 18:42:07 -0000	1.2
***************
*** 1,7 ****
! from ComboBoxWrapper import ComboBoxWrapper
! 
! __all__="""
! 
! ComboBoxWrapper
! 
  """.split()
--- 1,7 ----
! from ComboBoxWrapper import ComboBoxWrapper
! 
! __all__="""
! 
! ComboBoxWrapper
! 
  """.split()



-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html