Author: btami Date: 2005-10-19 11:22:20 -0500 (Wed, 19 Oct 2005) New Revision: 8072
Modified: trunk/gnue-forms/src/GFObjects/GFImage.py trunk/gnue-forms/src/input/displayHandlers/Image.py trunk/gnue-forms/src/uidrivers/gtk2/widgets/image.py trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py trunk/gnue-forms/src/uidrivers/wx/widgets/image.py Log: not stop forms containing <image> if PIL not installed Modified: trunk/gnue-forms/src/GFObjects/GFImage.py =================================================================== --- trunk/gnue-forms/src/GFObjects/GFImage.py 2005-10-19 13:58:32 UTC (rev 8071) +++ trunk/gnue-forms/src/GFObjects/GFImage.py 2005-10-19 16:22:20 UTC (rev 8072) @@ -33,7 +33,6 @@ # from GFTabStop import GFTabStop -from GFTabStop import GFTabStop from gnue.forms.input import displayHandlers # #GFLabel Modified: trunk/gnue-forms/src/input/displayHandlers/Image.py =================================================================== --- trunk/gnue-forms/src/input/displayHandlers/Image.py 2005-10-19 13:58:32 UTC (rev 8071) +++ trunk/gnue-forms/src/input/displayHandlers/Image.py 2005-10-19 16:22:20 UTC (rev 8072) @@ -34,6 +34,8 @@ from PIL import Image as PILImage except ImportError: PILImage = None + print "Form contains a <image> but python image support not installed" + print "Install PIL from http://www.pythonware.com/products/pil/" class Image(BaseCursor): """ @@ -50,8 +52,6 @@ @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): @@ -61,7 +61,8 @@ @param value: The url of the image to be displayed @param editing: Not used """ - if self.entry.type.lower() == 'url': + image = None + if PILImage and self.entry.type.lower() == 'url': try: # PIL doesn't like our openResource function as it's based # upon urlopen which doesn't provide seek. We'll use the Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/image.py =================================================================== --- trunk/gnue-forms/src/uidrivers/gtk2/widgets/image.py 2005-10-19 13:58:32 UTC (rev 8071) +++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/image.py 2005-10-19 16:22:20 UTC (rev 8072) @@ -23,7 +23,10 @@ import gtk import StringIO -import Image +try: + from PIL import Image as PILImage +except: + PILImage = None from gnue.forms.uidrivers.gtk2.widgets._base import UIHelper @@ -57,6 +60,9 @@ # --------------------------------------------------------------------------- def setValue (self, value, index = 0, enabled = True): + if PILImage is None: + return + widget = self.widgets [index] imgx, imgy = value.size @@ -89,7 +95,7 @@ if scalex != 1 or scaley != 1: nWidth = abs (int (imgx * scalex)) nHeight = abs (int (imgy * scaley)) - value = value.resize ((nWidth, nHeight), Image.BICUBIC) + value = value.resize ((nWidth, nHeight), PILImage.BICUBIC) widget.set_from_pixbuf (self.__imageToGdkPixbuf (value)) Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py =================================================================== --- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-10-19 13:58:32 UTC (rev 8071) +++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-10-19 16:22:20 UTC (rev 8072) @@ -40,10 +40,10 @@ from gnue.forms.uidrivers.win32.common import * try: - import Image - import ImageWin + from PIL import Image as PILImage + from PIL import ImageWin except: - pass + PILImage = None #TCN_SELCHANGE = (commctrl.TCN_FIRST - 1) #TCN_SELCHANGING = (commctrl.TCN_FIRST - 2) @@ -252,7 +252,7 @@ ShiftDown, ControlDown, AltDown) - + if command == 'NEWLINE': action = events.Event('requestKEYPRESS', '\r\n', text='\r\n', @@ -338,7 +338,7 @@ except: return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, lParam) - if gfObject._type == 'GFImage': + if PILImage and gfObject._type == 'GFImage': win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, lParam) hdc = win32gui.GetDC(self._hwnd) self.dib.expose(hdc) @@ -594,6 +594,9 @@ class Win32Image(Win32Base): def SetValue(self, value): + if PILImage is None: + return + l,t,r,b = win32gui.GetWindowRect(self._hwnd) scrx,scry = (r-l, b-t) imgx, imgy = value.size @@ -618,7 +621,7 @@ scaley = float(scry) / imgy if scalex != 1 or scaley != 1: - value = value.resize((abs(int(imgx * (scalex))), abs(int(imgy * (scaley)))), Image.BICUBIC) + value = value.resize((abs(int(imgx * (scalex))), abs(int(imgy * (scaley)))), PILImage.BICUBIC) # clear the previous image win32gui.SetWindowPos(self._hwnd, 0, 0, 0, 0, 0, win32con.SWP_NOMOVE | win32con.SWP_NOZORDER) @@ -747,10 +750,10 @@ # Translate from Win32 keystrokes to our virtual keystrokes win32KeyTranslations = { - vk.C : 3, - vk.V : 22, - vk.X : 24, - vk.A : 1, + vk.C : 3, + vk.V : 22, + vk.X : 24, + vk.A : 1, vk.Q : 17, vk.F1 : win32con.VK_F1, vk.F2 : win32con.VK_F2, vk.F3 : win32con.VK_F3, vk.F4 : win32con.VK_F4, Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/image.py =================================================================== --- trunk/gnue-forms/src/uidrivers/wx/widgets/image.py 2005-10-19 13:58:32 UTC (rev 8071) +++ trunk/gnue-forms/src/uidrivers/wx/widgets/image.py 2005-10-19 16:22:20 UTC (rev 8072) @@ -28,7 +28,10 @@ from wxPython.wx import * from gnue.forms.uidrivers.wx.widgets._base import UIHelper -import Image +try: + from PIL import Image as PILImage +except: + PILImage = None # ============================================================================= # Wrap an UI layer around a wx image @@ -109,6 +112,9 @@ """ Loads an image. """ + if PILImage is None: + return + widget = self.widgets[index] widget.SetEvtHandlerEnabled(FALSE) _______________________________________________ Commit-gnue mailing list [email protected] http://lists.gnu.org/mailman/listinfo/commit-gnue
