]>
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         self
._bitmap 
= wx
.Image(doc
.GetFilename()).ConvertToBitmap() 
  43         self
._ctrl 
= wx
.StaticBitmap(panel
, -1, self
._bitmap
, (0,0), (self
._bitmap
.GetWidth(), self
._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(self
._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() 
  73         """ for Print Preview and Print """ 
  75         dc
.DrawBitmap(self
._bitmap
, 10, 10, True) 
  79 #---------------------------------------------------------------------------- 
  80 # Icon Bitmaps - generated by encode_bitmaps.py 
  81 #---------------------------------------------------------------------------- 
  82 from wx 
import ImageFromStream
, BitmapFromImage
 
  88 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ 
  89 \x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ 
  90 \x00\x9aIDAT(\x91\x95\x92\xc1\r\xc50\x08C\xdd\xaa\xeb\xc12\xec\x90\x9b\x97!\ 
  91 \x0b\xb0\x03\x19\xe8\x1fR\xa9U\xf2\xd5\xb4>DH\xf8\t\x13\xb1E\x04\xbe\xe8\x00\ 
  92 @\xf2\x8d\xb5\xd6z\x02\x00\xccl\t\x98\x19\xc9}\xe9#y\x8f\xb0\x00H\xba\xc3\ 
  93 \xfd\x8a\xbd\x9e0\xe8xn\x9b\x99*q[r\x01`\xfa\x8f?\x91\x86-\x07\x8d\x00Iww\ 
  94 \xf7\xce\xcc\xf0>\xbb\x01\xa8j)e\x80G\xa0\xb7[k\x00J)\xfdU\xd5\xd6Z\x87O_D\ 
  95 \x88\x88\x88dff>\x17"r\x02y\xd33\xb3E\xc4\xcb\xe3\xeb\xda\xbe\x9e\xf7\x0f\ 
  96 \xa0B\x86\xd5X\x16\xcc\xea\x00\x00\x00\x00IEND\xaeB`\x82'  
 100     return BitmapFromImage(getImageImage()) 
 103     stream 
= cStringIO
.StringIO(getImageData()) 
 104     return ImageFromStream(stream
) 
 107     return wx
.IconFromBitmap(getImageBitmap())