[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r7887 - in trunk/gnue-forms/src: . GFObjects input/displayHandler
From: |
jamest |
Subject: |
[gnue] r7887 - in trunk/gnue-forms/src: . GFObjects input/displayHandlers uidrivers/qt uidrivers/wx/widgets |
Date: |
Fri, 2 Sep 2005 15:23:35 -0500 (CDT) |
Author: jamest
Date: 2005-09-02 15:23:33 -0500 (Fri, 02 Sep 2005)
New Revision: 7887
Modified:
trunk/gnue-forms/src/GFInstance.py
trunk/gnue-forms/src/GFObjects/GFImage.py
trunk/gnue-forms/src/input/displayHandlers/Cursor.py
trunk/gnue-forms/src/input/displayHandlers/Image.py
trunk/gnue-forms/src/input/displayHandlers/__init__.py
trunk/gnue-forms/src/uidrivers/qt/UILoginHandler.py
trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
Log:
get <image> working again, now using openResource
adjusted the qt login handler to allow use
outside of forms/designer (new navigator)
Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py 2005-09-02 11:35:14 UTC (rev 7886)
+++ trunk/gnue-forms/src/GFInstance.py 2005-09-02 20:23:33 UTC (rev 7887)
@@ -349,14 +349,18 @@
raise errors.ApplicationError, \
u_("There are no navigable widgets in this form. Unable to display.")
+ gDebug (4, "Processing activation trigger")
form.processTrigger ('On-Activation')
# First set the current entry to be focused and up to date before
# displaying the real UI form.
+ gDebug (4, "Initial display setup")
form.refreshDisplay (form)
self.updateStatus (form)
+ gDebug (4, "Setting initial focus")
self.dispatchEvent ('gotoENTRY', object = form._currentEntry, _form = form)
+ gDebug (4, "Activating form")
self._uiinstance.activateForm (formName, modal)
gLeave (4)
@@ -1155,7 +1159,7 @@
message = event._form.executeQuery ()
if message:
- self.displayMessageBox (message, 'Error')
+ self.displayMessageBox (message, 'Query Error')
self.dispatchEvent ('gotoENTRY', object = event._form._currentEntry,
_form = event._form)
@@ -1174,7 +1178,7 @@
message = event._form.commit ()
if message:
- self.displayMessageBox (message, 'Error')
+ self.displayMessageBox (message, 'Commit Error')
gDebug(4,message)
return
Modified: trunk/gnue-forms/src/GFObjects/GFImage.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFImage.py 2005-09-02 11:35:14 UTC (rev
7886)
+++ trunk/gnue-forms/src/GFObjects/GFImage.py 2005-09-02 20:23:33 UTC (rev
7887)
@@ -34,7 +34,7 @@
from GFTabStop import GFTabStop
from GFTabStop import GFTabStop
-from gnue.forms.input import displayHandlers
+from gnue.forms.input import displayHandlers
#
#GFLabel
#
@@ -91,9 +91,12 @@
self._navigable = False # self.navigable
- self._displayHandler = displayHandlers.Image(self,
+ print "Controller", self._form._instance.eventController
+ print "Sub Handler", self.subEventHandler
+ print displayHandlers.Image
+ self._displayHandler = displayHandlers.factory(self,
self._form._instance.eventController,
- self.subEventHandler)
+ self.subEventHandler,None, None)
# TODO: Conversion: Does this belong here or not?
def getValue(self, *args, **parms):
Modified: trunk/gnue-forms/src/input/displayHandlers/Cursor.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Cursor.py 2005-09-02
11:35:14 UTC (rev 7886)
+++ trunk/gnue-forms/src/input/displayHandlers/Cursor.py 2005-09-02
20:23:33 UTC (rev 7887)
@@ -23,7 +23,6 @@
#
# $Id$
#
-# pylint: disable-msg=E0602
#
"""
The base display handler for entries that deal with cursor based
@@ -730,4 +729,4 @@
if self.editing:
self.display = self._buildDisplayHelper(self.work, True)
else:
- self.display = self._buildDisplayHelper(self.value, False)
\ No newline at end of file
+ self.display = self._buildDisplayHelper(self.value, False)
Modified: trunk/gnue-forms/src/input/displayHandlers/Image.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Image.py 2005-09-02 11:35:14 UTC
(rev 7886)
+++ trunk/gnue-forms/src/input/displayHandlers/Image.py 2005-09-02 20:23:33 UTC
(rev 7887)
@@ -27,30 +27,51 @@
"""
__revision__ = "$Id$"
+from gnue.common.utils.FileUtils import openResource
from gnue.forms.input.displayHandlers.Cursor import BaseCursor
-
+import cStringIO
try:
- import Image
+ from PIL import Image as PILImage
except ImportError:
- Image = None
+ PILImage = None
-class ImageDisplayHandler(BaseCursor):
+class Image(BaseCursor):
"""
Display handler responsible for handling image style entries.
"""
def __init__(self, entry, eventHandler, subEventHandler):
- if not Image:
+ """
+ Constructor
+
+ @param entry: The GFImage instance associated with this handler
+ @param eventHandler: The
+ @param subEventHandler: The event handler this display helper will
+ user to register it's listeners.
+ @param displayMask: Not applicable to images
+ @param inputMask: Not applicable to images
+ """
+ if not PILImage:
raise "Form contains a <image> and image support not loaded"
BaseCursor.__init__(self, entry, eventHandler, subEventHandler)
def _buildDisplayHelper(self, value, editing):
+ """
+ Opens and returns a PIL Image for the requested url
+
+ @param value: The url of the image to be displayed
+ @param editing: Not used
+ """
if self.entry.type.lower() == 'url':
try:
- # PIL doesn't like our openResource function
- # im = Image.open(openResource(value))
- # TODO: Retest with latest PIL
- im = Image.open(value)
+ # PIL doesn't like our openResource function as it's based
+ # upon urlopen which doesn't provide seek. We'll use the
+ # StringIO function to get around that so that urls can
+ # still be used
+ urlFile = openResource(value)
+ fileObject = cStringIO.StringIO(urlFile.read())
+ image = PILImage.open(fileObject)
+
except IOError:
- im = Image.new("RGB", (1, 1, ))
+ image = PILImage.new("RGB", (1, 1, ))
- return im
\ No newline at end of file
+ return image
Modified: trunk/gnue-forms/src/input/displayHandlers/__init__.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/__init__.py 2005-09-02
11:35:14 UTC (rev 7886)
+++ trunk/gnue-forms/src/input/displayHandlers/__init__.py 2005-09-02
20:23:33 UTC (rev 7887)
@@ -52,12 +52,16 @@
'listbox': Listbox,
'password':Password,
'number': Numeric,
+ 'image' : Image
}
- if entry._field.typecast == 'number':
- key = 'number'
+ if entry._type == 'GFImage':
+ # Images don't need input masks so just return the image now
+ return Image(entry, eventHandler, subEventHandler)
elif entry._field.typecast == 'date':
key = 'date'
+ elif entry._field.typecast == 'number':
+ key = 'number'
else:
key = entry.style
Modified: trunk/gnue-forms/src/uidrivers/qt/UILoginHandler.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt/UILoginHandler.py 2005-09-02 11:35:14 UTC
(rev 7886)
+++ trunk/gnue-forms/src/uidrivers/qt/UILoginHandler.py 2005-09-02 20:23:33 UTC
(rev 7887)
@@ -52,8 +52,9 @@
# UILoginHandler
#
class UILoginHandler(GLoginHandler.LoginHandler):
- def __init__(self):
- self._qtapp = getQtApp()
+ def __init__(self, qtApp = None):
+ if qtApp is None:
+ self._qtapp = getQtApp()
self.dlg = None
def getLogin(self, loginData, errortext=None):
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py 2005-09-02 11:35:14 UTC
(rev 7886)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/_base.py 2005-09-02 20:23:33 UTC
(rev 7887)
@@ -170,8 +170,8 @@
# Check if foreign key changed
object = self._uiDriver._IdToGFObj[widget.GetId()]
try:
- if (object.style == "dropdown" or object.style == "listbox") and \
- not object._field._allowedValues == widget._origAllowedValues:
+ if object.style in ("dropdown","listbox") and \
+ not object._field._allowedValues == widget._origAllowedValues:
try:
# Not in wx 2.2.x
widget.Freeze()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r7887 - in trunk/gnue-forms/src: . GFObjects input/displayHandlers uidrivers/qt uidrivers/wx/widgets,
jamest <=