]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxMimeTypesManager.py
2 import pprint
, string
, os
3 from wxPython
.wx
import *
4 from mimetypes_wdr
import *
7 #----------------------------------------------------------------------------
11 class MimeTypesTestPanel(wxPanel
):
12 def __init__(self
, parent
, id,
13 pos
= wxPyDefaultPosition
, size
= wxPyDefaultSize
,
14 style
= wxTAB_TRAVERSAL
):
15 wxPanel
.__init
__(self
, parent
, id, pos
, size
, style
)
17 MakeMimeTypesTestPanel( self
, True )
19 # WDR: handler declarations for MimeTypesTestPanel
20 EVT_LISTBOX(self
, ID_LISTBOX
, self
.OnListbox
)
21 EVT_BUTTON(self
, ID_LOOKUP_BTN
, self
.OnLookup
)
23 self
.GetInputText().SetValue("wav")
26 mimetypes
= wxTheMimeTypesManager
.EnumAllFileTypes()
28 self
.GetListbox().Append(mt
)
32 # WDR: handler implementations for MimeTypesTestPanel
34 def OnListbox(self
, event
):
35 mimetype
= event
.GetString()
36 self
.GetInputText().SetValue(mimetype
)
37 self
.GetMimeBtn().SetValue(True)
38 self
.GetExtensionBtn().SetValue(False)
42 def OnLookup(self
, event
=None):
43 txt
= self
.GetInputText().GetValue()
44 if self
.GetMimeBtn().GetValue():
45 fileType
= wxTheMimeTypesManager
.GetFileTypeFromMimeType(txt
)
48 fileType
= wxTheMimeTypesManager
.GetFileTypeFromExtension(txt
)
49 msg
= "File extension"
51 wxMessageBox(msg
+ " not found.", "Oops!")
59 info
= ft
.GetIconInfo()
61 bmp
= MyBitmapsFunc(0)
62 ##print bmp.Ok(), bmp.GetWidth(), bmp.GetHeight()
63 self
.GetIconBmp().SetBitmap(bmp
)
64 self
.GetIconFileTxt().SetValue("")
65 self
.GetIconIndexTxt().SetValue("")
67 icon
, file, idx
= info
68 #bmp = wxBitmapFromIcon(icon)
69 #self.GetIconBmp().SetBitmap(bmp)
70 self
.GetIconBmp().SetIcon(icon
)
71 self
.GetIconFileTxt().SetValue(file)
72 self
.GetIconIndexTxt().SetValue(str(idx
))
74 self
.GetMimeTypeTxt().SetValue(str(ft
.GetMimeType()))
75 self
.GetMimeTypesTxt().SetValue(str(ft
.GetMimeTypes()))
76 self
.GetExtensionsTxt().SetValue(str(ft
.GetExtensions()))
77 self
.GetDescriptionTxt().SetValue(str(ft
.GetDescription()))
79 extList
= ft
.GetExtensions()
82 if ext
[0] == ".": ext
= ext
[1:]
85 filename
= "SPAM" + "." + ext
86 mime
= ft
.GetMimeType() or ""
87 cmd
= ft
.GetOpenCommand(filename
, mime
)
88 self
.GetOpenCmdTxt().SetValue(str(cmd
))
90 cmd
= ft
.GetPrintCommand(filename
, mime
)
91 self
.GetPrintCmdTxt().SetValue(str(cmd
))
93 all
= ft
.GetAllCommands(filename
, mime
)
95 self
.GetAllCmdsTxt().SetValue("")
98 text
= pprint
.pformat(map(None, verbs
, commands
))
99 self
.GetAllCmdsTxt().SetValue(text
)
102 # WDR: methods for MimeTypesTestPanel
104 def GetListbox(self
):
105 return wxPyTypeCast( self
.FindWindowById(ID_LISTBOX
), "wxListBox" )
107 def GetIconIndexTxt(self
):
108 return self
.FindWindowById(ID_ICON_INDEX_TXT
)
110 def GetIconFileTxt(self
):
111 return self
.FindWindowById(ID_ICON_FILE_TXT
)
113 def GetMimeBtn(self
):
114 return self
.FindWindowById(ID_MIME_BTN
)
116 def GetExtensionBtn(self
):
117 return self
.FindWindowById(ID_EXTENSION_Btn
)
119 def GetAllCmdsTxt(self
):
120 return self
.FindWindowById(ID_ALL_CMDS_TXT
)
122 def GetPrintCmdTxt(self
):
123 return self
.FindWindowById(ID_PRINT_CMD_TXT
)
125 def GetOpenCmdTxt(self
):
126 return self
.FindWindowById(ID_OPEN_CMD_TXT
)
128 def GetDescriptionTxt(self
):
129 return self
.FindWindowById(ID_DESCRIPTION_TXT
)
131 def GetExtensionsTxt(self
):
132 return self
.FindWindowById(ID_EXTENSIONS_TXT
)
134 def GetMimeTypesTxt(self
):
135 return self
.FindWindowById(ID_MIME_TYPES_TXT
)
137 def GetMimeTypeTxt(self
):
138 return self
.FindWindowById(ID_MIME_TYPE_TXT
)
140 def GetIconBmp(self
):
141 return self
.FindWindowById(ID_ICON_BMP
)
143 def GetInputText(self
):
144 return self
.FindWindowById(ID_INPUT_TEXT
)
150 #----------------------------------------------------------------------
152 def runTest(frame
, nb
, log
):
153 win
= MimeTypesTestPanel(nb
, -1)
157 #----------------------------------------------------------------------
170 def MyBitmapsFunc( index
):
171 return images
.getNoIconBitmap()
173 mimetypes_wdr
.MyBitmapsFunc
= MyBitmapsFunc
180 if __name__
== '__main__':
183 run
.main(['', os
.path
.basename(sys
.argv
[0])])