]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/samples/ide/activegrid/tool/ImageEditor.py
   1 #---------------------------------------------------------------------------- 
   3 # Purpose:      Image Editor for pydocview 
   8 # Copyright:    (c) 2004-2005 ActiveGrid, Inc. 
  10 # License:      wxWindows License 
  11 #---------------------------------------------------------------------------- 
  17 class ImageDocument(wx
.lib
.docview
.Document
): 
  21 class ImageView(wx
.lib
.docview
.View
): 
  24     #---------------------------------------------------------------------------- 
  26     #---------------------------------------------------------------------------- 
  29         wx
.lib
.docview
.View
.__init
__(self
) 
  33     def OnCreate(self
, doc
, flags
): 
  34         if len(doc
.GetFilename()) == 0: 
  35             wx
.MessageBox(_("Cannot create a new image file.\n%s has no paint capability.") % wx
.GetApp().GetAppName(), 
  37                                 wx
.OK | wx
.ICON_EXCLAMATION
) 
  40         frame 
= wx
.GetApp().CreateDocumentFrame(self
, doc
, flags
) 
  41         panel 
= wx
.Panel(frame
, -1)             
  42         bitmap 
= wx
.Image(doc
.GetFilename()).ConvertToBitmap() 
  43         self
._ctrl 
= wx
.StaticBitmap(panel
, -1, bitmap
, (0,0), (bitmap
.GetWidth(), bitmap
.GetHeight())) 
  44         wx
.EVT_LEFT_DOWN(self
._ctrl
, self
.OnFocus
) 
  45         wx
.EVT_LEFT_DCLICK(self
._ctrl
, self
.OnFocus
) 
  46         wx
.EVT_RIGHT_DOWN(self
._ctrl
, self
.OnFocus
) 
  47         wx
.EVT_RIGHT_DCLICK(self
._ctrl
, self
.OnFocus
) 
  48         wx
.EVT_MIDDLE_DOWN(self
._ctrl
, self
.OnFocus
) 
  49         wx
.EVT_MIDDLE_DCLICK(self
._ctrl
, self
.OnFocus
) 
  50         panel
.SetClientSize(bitmap
.GetSize()) 
  51         frame
.SetClientSize(panel
.GetSize()) 
  56     def OnFocus(self
, event
): 
  61     def OnClose(self
, deleteWindow 
= True): 
  62         statusC 
= wx
.GetApp().CloseChildDocuments(self
.GetDocument()) 
  63         statusP 
= wx
.lib
.docview
.View
.OnClose(self
, deleteWindow 
= deleteWindow
) 
  64         if not (statusC 
and statusP
): 
  68             self
.GetFrame().Destroy() 
  72 #---------------------------------------------------------------------------- 
  73 # Icon Bitmaps - generated by encode_bitmaps.py 
  74 #---------------------------------------------------------------------------- 
  75 from wx 
import ImageFromStream
, BitmapFromImage
 
  81 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ 
  82 \x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ 
  83 \x00\x9aIDAT(\x91\x95\x92\xc1\r\xc50\x08C\xdd\xaa\xeb\xc12\xec\x90\x9b\x97!\ 
  84 \x0b\xb0\x03\x19\xe8\x1fR\xa9U\xf2\xd5\xb4>DH\xf8\t\x13\xb1E\x04\xbe\xe8\x00\ 
  85 @\xf2\x8d\xb5\xd6z\x02\x00\xccl\t\x98\x19\xc9}\xe9#y\x8f\xb0\x00H\xba\xc3\ 
  86 \xfd\x8a\xbd\x9e0\xe8xn\x9b\x99*q[r\x01`\xfa\x8f?\x91\x86-\x07\x8d\x00Iww\ 
  87 \xf7\xce\xcc\xf0>\xbb\x01\xa8j)e\x80G\xa0\xb7[k\x00J)\xfdU\xd5\xd6Z\x87O_D\ 
  88 \x88\x88\x88dff>\x17"r\x02y\xd33\xb3E\xc4\xcb\xe3\xeb\xda\xbe\x9e\xf7\x0f\ 
  89 \xa0B\x86\xd5X\x16\xcc\xea\x00\x00\x00\x00IEND\xaeB`\x82'  
  93     return BitmapFromImage(getImageImage()) 
  96     stream 
= cStringIO
.StringIO(getImageData()) 
  97     return ImageFromStream(stream
) 
 100     return wx
.IconFromBitmap(getImageBitmap())