CVS: anygui/lib/anygui/frontend_wrappers ComboBoxWrapper.py,1.1,1.2
"Dallas T. Johnston" <[email protected]> Sat, 16 Nov 2002 08:45:01 -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-serv9861/lib/anygui/frontend_wrappers
Modified Files:
ComboBoxWrapper.py
Log Message:
things are looking pretty good now.
i decided to just make the file selection ('open') a callback
via link & send. the client has to specify the link, of course.
we still need to figure out a way to fix tkinter's focus deal.
Index: ComboBoxWrapper.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/frontend_wrappers/ComboBoxWrapper.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ComboBoxWrapper.py 16 Nov 2002 12:41:11 -0000 1.1
--- ComboBoxWrapper.py 16 Nov 2002 16:44:59 -0000 1.2
***************
*** 58,83 ****
def _createWidgets(self):
state = self.proxy.state
! lx = state['x']
! ly = state['y']
! lwidth = state['width']
! lheight = state['height']
! self._btnWidth = state['btnWidth']
self._lbxHeight = state['lbxHeight']
! self._cbxHeight = state['cbxHeight']
! litems = list(self.proxy.items)
self._popupBtn = anygui.Button(text = 'v',
! geometry = ( lx + lwidth - self._btnWidth,
! ly,
! self._btnWidth,
! self._cbxHeight ))
! self._textFld = anygui.TextField(geometry = ( lx,
! ly,
! lwidth - self._btnWidth,
! self._cbxHeight ))
self._itemLbx = anygui.ListBox(visible = 0,
! items = litems,
! geometry = ( lx,
! ly + lheight,
! lwidth,
self._lbxHeight ))
--- 58,81 ----
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 ))
***************
*** 85,100 ****
def _setupBtn(self):
self._popupBtn.container = self.proxy.container
- self.proxy.container.contents.append(self._popupBtn)
def _setupTxtFld(self):
self._textFld.container = self.proxy.container
- self.proxy.container.contents.append(self._textFld)
def _setupLbx(self):
self._itemLbx.container = self.proxy.container
- self.proxy.container.contents.append(self._itemLbx)
def widgetFactory(self, *args, **kws):
! print '>> in widgetFactory...'
self._createWidgets()
self._comps = 1
--- 83,95 ----
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
***************
*** 105,112 ****
def widgetSetUp(self):
if self._comps and not self._connected:
! print '>> in widgetSetUp'
! #self._popupBtn._ensure_events()
link(self._popupBtn, self._handlePopup)
- #self._itemLbx._ensure_events()
link(self._itemLbx, self._handleSelection)
self._connected = 1
--- 100,105 ----
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
***************
*** 114,118 ****
def setupChildWidgets(self):
if self._comps:
! print '>> in setupChildWidgets'
self._setupTxtFld()
self._setupBtn()
--- 107,111 ----
def setupChildWidgets(self):
if self._comps:
! #print '>> in setupChildWidgets'
self._setupTxtFld()
self._setupBtn()
***************
*** 129,156 ****
self.setupChildWidgets()
- 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 _handlePopup(self, event):
! print '>> handling Popup...'
self._loop = 1
self._itemLbx.visible = self._popupOpen = not self._popupOpen
--- 122,127 ----
self.setupChildWidgets()
def _handlePopup(self, event):
! #print '>> handling Popup...'
self._loop = 1
self._itemLbx.visible = self._popupOpen = not self._popupOpen
***************
*** 158,162 ****
def _handleSelection(self, event):
! print '>> handling Selection...'
if not self._loop:
self._loop = 1
--- 129,133 ----
def _handleSelection(self, event):
! #print '>> handling Selection...'
if not self._loop:
self._loop = 1
***************
*** 202,206 ****
x, y, dummy, height = self._textFld.geometry
d, d1, width, d2 = self._itemLbx.geometry
! return (x, y, height, width)
def setGeometry(self, x, y, width, height):
--- 173,177 ----
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):
***************
*** 209,224 ****
self._textFld.geometry = (x,
y,
! width - self._btnWidth,
! self._cbxHeight)
! self._popupBtn.geometry = (x + width - self._btnWidth,
y,
! self._btnWidth,
! self._cbxHeight)
self._itemLbx.geometry = (x,
! y + self._cbxHeight,
width,
self._lbxHeight)
self._loop = 0
def getVisible(self):
return self._visible
--- 180,237 ----
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
***************
*** 227,241 ****
if self._comps:
self._visible = visible
self._textFld.visible = visible
self._popupBtn.visible = visible
def setEnabled(self, enabled):
if self._comps:
self._enabled = enabled
self._textFld.enabled = enabled
self._popupBtn.enabled = enabled
-
- def getEnabled(self):
- return self._enabled
def internalDestroy(self):
--- 240,260 ----
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):
-------------------------------------------------------
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