New wxDesigner-less version of the MimeTypesManager demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Binary file not shown.
@@ -1,155 +0,0 @@
|
|||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Python source generated by wxDesigner from file: mimetypes.wdr
|
|
||||||
# Do not modify this file, all changes will be lost!
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Include wxWindows' modules
|
|
||||||
from wxPython.wx import *
|
|
||||||
|
|
||||||
# Window functions
|
|
||||||
|
|
||||||
ID_INPUT_TEXT = 10000
|
|
||||||
ID_EXTENSION_Btn = 10001
|
|
||||||
ID_MIME_BTN = 10002
|
|
||||||
ID_LOOKUP_BTN = 10003
|
|
||||||
ID_LINE = 10004
|
|
||||||
ID_TEXT = 10005
|
|
||||||
ID_ICON_BMP = 10006
|
|
||||||
ID_ICON_FILE_TXT = 10007
|
|
||||||
ID_ICON_INDEX_TXT = 10008
|
|
||||||
ID_MIME_TYPE_TXT = 10009
|
|
||||||
ID_MIME_TYPES_TXT = 10010
|
|
||||||
ID_EXTENSIONS_TXT = 10011
|
|
||||||
ID_DESCRIPTION_TXT = 10012
|
|
||||||
ID_OPEN_CMD_TXT = 10013
|
|
||||||
ID_PRINT_CMD_TXT = 10014
|
|
||||||
ID_ALL_CMDS_TXT = 10015
|
|
||||||
ID_LISTBOX = 10016
|
|
||||||
|
|
||||||
def MakeMimeTypesTestPanel( parent, call_fit = True, set_sizer = True ):
|
|
||||||
item0 = wxBoxSizer( wxVERTICAL )
|
|
||||||
|
|
||||||
item1 = wxBoxSizer( wxHORIZONTAL )
|
|
||||||
|
|
||||||
item2 = wxTextCtrl( parent, ID_INPUT_TEXT, "", wxDefaultPosition, wxSize(100,-1), 0 )
|
|
||||||
item1.AddWindow( item2, 0, wxALIGN_CENTRE|wxALL, 5 )
|
|
||||||
|
|
||||||
item3 = wxRadioButton( parent, ID_EXTENSION_Btn, "By extension", wxDefaultPosition, wxDefaultSize, wxRB_GROUP )
|
|
||||||
item3.SetValue( True )
|
|
||||||
item1.AddWindow( item3, 0, wxALIGN_CENTRE|wxALL, 5 )
|
|
||||||
|
|
||||||
item4 = wxRadioButton( parent, ID_MIME_BTN, "By mime type", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item1.AddWindow( item4, 0, wxALIGN_CENTRE|wxALL, 5 )
|
|
||||||
|
|
||||||
item5 = wxButton( parent, ID_LOOKUP_BTN, "Lookup", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item5.SetDefault()
|
|
||||||
item1.AddWindow( item5, 0, wxALIGN_CENTRE|wxALL, 5 )
|
|
||||||
|
|
||||||
item0.AddSizer( item1, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
|
|
||||||
|
|
||||||
item6 = wxStaticLine( parent, ID_LINE, wxDefaultPosition, wxSize(20,-1), wxLI_HORIZONTAL )
|
|
||||||
item0.AddWindow( item6, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
|
|
||||||
|
|
||||||
item7 = wxBoxSizer( wxHORIZONTAL )
|
|
||||||
|
|
||||||
item8 = wxFlexGridSizer( 0, 2, 0, 0 )
|
|
||||||
item8.AddGrowableCol( 1 )
|
|
||||||
item8.AddGrowableRow( 8 )
|
|
||||||
|
|
||||||
item9 = wxStaticText( parent, ID_TEXT, "wxFileType:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item9.SetFont( wxFont( 14, wxSWISS, wxNORMAL, wxBOLD ) )
|
|
||||||
item8.AddWindow( item9, 0, wxALL, 5 )
|
|
||||||
|
|
||||||
item8.AddSpacer( (20, 20), 0, wxALIGN_CENTRE|wxALL, 5 )
|
|
||||||
|
|
||||||
item10 = wxStaticText( parent, ID_TEXT, "GetIconInfo:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
|
|
||||||
|
|
||||||
item11 = wxBoxSizer( wxHORIZONTAL )
|
|
||||||
|
|
||||||
item12 = wxStaticBitmap( parent, ID_ICON_BMP, MyBitmapsFunc( 0 ), wxDefaultPosition, wxDefaultSize )
|
|
||||||
item11.AddWindow( item12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 )
|
|
||||||
|
|
||||||
item13 = wxTextCtrl( parent, ID_ICON_FILE_TXT, "", wxDefaultPosition, wxSize(120,-1), wxTE_READONLY )
|
|
||||||
item11.AddWindow( item13, 1, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item14 = wxTextCtrl( parent, ID_ICON_INDEX_TXT, "", wxDefaultPosition, wxSize(30,-1), wxTE_READONLY )
|
|
||||||
item11.AddWindow( item14, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item8.AddSizer( item11, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5 )
|
|
||||||
|
|
||||||
item15 = wxStaticText( parent, ID_TEXT, "GetMimeType:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item15, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item16 = wxTextCtrl( parent, ID_MIME_TYPE_TXT, "", wxDefaultPosition, wxSize(310,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item16, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item17 = wxStaticText( parent, ID_TEXT, "GetMimeTypes:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item17, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item18 = wxTextCtrl( parent, ID_MIME_TYPES_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item18, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item19 = wxStaticText( parent, ID_TEXT, "GetExtensions:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item19, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item20 = wxTextCtrl( parent, ID_EXTENSIONS_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item20, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item21 = wxStaticText( parent, ID_TEXT, "GetDescription:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item21, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item22 = wxTextCtrl( parent, ID_DESCRIPTION_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item22, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item23 = wxStaticText( parent, ID_TEXT, "GetOpenCommand:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item23, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item24 = wxTextCtrl( parent, ID_OPEN_CMD_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item24, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item25 = wxStaticText( parent, ID_TEXT, "GetPrintCommand:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item25, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item26 = wxTextCtrl( parent, ID_PRINT_CMD_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
|
|
||||||
item8.AddWindow( item26, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item27 = wxStaticText( parent, ID_TEXT, "GetAllCommands:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item8.AddWindow( item27, 0, wxALIGN_RIGHT|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item28 = wxTextCtrl( parent, ID_ALL_CMDS_TXT, "", wxDefaultPosition, wxSize(80,100), wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL )
|
|
||||||
item8.AddWindow( item28, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item7.AddSizer( item8, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
|
|
||||||
|
|
||||||
item29 = wxBoxSizer( wxVERTICAL )
|
|
||||||
|
|
||||||
item30 = wxStaticText( parent, ID_TEXT, "Known mime types:", wxDefaultPosition, wxDefaultSize, 0 )
|
|
||||||
item29.AddWindow( item30, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item31 = wxListBox( parent, ID_LISTBOX, wxDefaultPosition, wxSize(150,100), [], wxLB_SINGLE|wxLB_SORT|wxLB_HSCROLL )
|
|
||||||
item29.AddWindow( item31, 1, wxALIGN_CENTRE|wxRIGHT|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item7.AddSizer( item29, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5 )
|
|
||||||
|
|
||||||
item0.AddSizer( item7, 1, wxGROW|wxALIGN_CENTER_VERTICAL, 5 )
|
|
||||||
|
|
||||||
if set_sizer == True:
|
|
||||||
parent.SetAutoLayout( True )
|
|
||||||
parent.SetSizer( item0 )
|
|
||||||
if call_fit == True:
|
|
||||||
item0.Fit( parent )
|
|
||||||
item0.SetSizeHints( parent )
|
|
||||||
|
|
||||||
return item0
|
|
||||||
|
|
||||||
# Menu bar functions
|
|
||||||
|
|
||||||
# Bitmap functions
|
|
||||||
|
|
||||||
def MyBitmapsFunc( index ):
|
|
||||||
if index == 0:
|
|
||||||
return wxImage( "mimetypes_wdr/MyBitmapsFunc_0.png", wxBITMAP_TYPE_PNG ).ConvertToBitmap()
|
|
||||||
return wxNullBitmap
|
|
||||||
|
|
||||||
# End of generated file
|
|
@@ -1,181 +1,353 @@
|
|||||||
|
#----------------------------------------------------------------------
|
||||||
|
# Name: wxMimeTypesManager
|
||||||
|
# Purpose: Demonstrate use of wx.MimeTypesManager, wx.FileType
|
||||||
|
#
|
||||||
|
# Author: Jeff Grimmett (grimmtoo@softhome.net), adapted from original
|
||||||
|
# .wdr-derived demo
|
||||||
|
#
|
||||||
|
# Created: 12/31/03
|
||||||
|
# RCS-ID: $Id$
|
||||||
|
# Copyright:
|
||||||
|
# Licence: wxWindows license
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
import pprint, string, os
|
|
||||||
from wxPython.wx import *
|
import pprint
|
||||||
from mimetypes_wdr import *
|
import wx
|
||||||
from Main import opj
|
import images
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
# WDR: classes
|
# A convenient wrapper around wx.TextCtrl to give it a spiffy label.
|
||||||
|
class ExtStr(wx.Panel):
|
||||||
|
def __init__(self, parent):
|
||||||
|
wx.Panel.__init__(self, parent, -1)
|
||||||
|
sizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Extension'), wx.HORIZONTAL)
|
||||||
|
self.ctl = wx.TextCtrl(self, -1, value="wav", style = wx.TE_PROCESS_ENTER )
|
||||||
|
sizer.Add(self.ctl, 0, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 3)
|
||||||
|
self.Enable(True)
|
||||||
|
|
||||||
class MimeTypesTestPanel(wxPanel):
|
self.SetSizer(sizer)
|
||||||
def __init__(self, parent, id,
|
sizer.Fit(self)
|
||||||
pos = wxDefaultPosition, size = wxDefaultSize,
|
|
||||||
style = wxTAB_TRAVERSAL ):
|
|
||||||
wxPanel.__init__(self, parent, id, pos, size, style)
|
|
||||||
|
|
||||||
MakeMimeTypesTestPanel( self, True )
|
def Enable(self, value):
|
||||||
|
self.ctl.Enable(value)
|
||||||
|
|
||||||
|
def SetValue(self, value):
|
||||||
|
self.ctl.SetValue(value)
|
||||||
|
|
||||||
|
def GetValue(self):
|
||||||
|
return(self.ctl.GetValue())
|
||||||
|
|
||||||
|
|
||||||
|
class MimeTypesDemoPanel(wx.Panel):
|
||||||
|
def __init__(self, parent, log):
|
||||||
|
|
||||||
|
self.log = log
|
||||||
|
|
||||||
|
wx.Panel.__init__(self, parent, -1)
|
||||||
|
|
||||||
# WDR: handler declarations for MimeTypesTestPanel
|
# Contains everything
|
||||||
EVT_LISTBOX(self, ID_LISTBOX, self.OnListbox)
|
tsizer = wx.BoxSizer(wx.VERTICAL)
|
||||||
EVT_BUTTON(self, ID_LOOKUP_BTN, self.OnLookup)
|
|
||||||
|
# Contains upper controls
|
||||||
|
usizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
|
||||||
self.GetInputText().SetValue("wav")
|
# A little fancy stuff to make things align right.
|
||||||
|
self.ext = ExtStr(self)
|
||||||
|
usizer.Add(self.ext, 0, wx.ALL | wx.ALIGN_TOP, 4)
|
||||||
|
self.ext.Bind(wx.EVT_TEXT_ENTER, self.OnLookup)
|
||||||
|
|
||||||
|
# Select how to look it up
|
||||||
|
self.how = wx.RadioBox(
|
||||||
|
self, -1, "Lookup method", choices=['By extension', 'By MIME type'],
|
||||||
|
majorDimension=2, style=wx.RA_SPECIFY_COLS
|
||||||
|
)
|
||||||
|
usizer.Add(self.how, 0, wx.ALL | wx.ALIGN_TOP, 4)
|
||||||
|
self.how.SetSelection(0)
|
||||||
|
|
||||||
|
# Trigger a lookup (hitting ENTER in the text ctrl will do the same thing)
|
||||||
|
self.go = wx.Button(self, -1, "Go get it!")
|
||||||
|
usizer.Add(self.go, 0, wx.ALL | wx.ALIGN_CENTER, 4)
|
||||||
|
self.Bind(wx.EVT_BUTTON, self.OnLookup, self.go)
|
||||||
|
|
||||||
|
# StaticBox with larger label than usual
|
||||||
|
lbox = wx.StaticBox(self, -1, 'wx.FileType')
|
||||||
|
lbox.SetFont(
|
||||||
|
wx.Font(
|
||||||
|
self.GetFont().GetPointSize() * 2,
|
||||||
|
self.GetFont().GetFamily(),
|
||||||
|
self.GetFont().GetStyle(),
|
||||||
|
wx.BOLD
|
||||||
|
))
|
||||||
|
|
||||||
|
lsizer = wx.StaticBoxSizer(lbox, wx.HORIZONTAL)
|
||||||
|
|
||||||
|
# Contains the wx.FileType info
|
||||||
|
llsizer = wx.GridBagSizer(2, 2)
|
||||||
|
llsizer.AddGrowableCol(2)
|
||||||
|
|
||||||
|
# This will be used for all of the labels that follow (bold label)
|
||||||
|
bfont = wx.Font(
|
||||||
|
self.GetFont().GetPointSize(),
|
||||||
|
self.GetFont().GetFamily(),
|
||||||
|
self.GetFont().GetStyle(),
|
||||||
|
wx.BOLD
|
||||||
|
)
|
||||||
|
|
||||||
|
#------- Icon info
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetIconInfo: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (0, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.icon = wx.StaticBitmap(self, -1, images.getNoIconBitmap())
|
||||||
|
llsizer.Add(self.icon, (0, 1), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.iconsource = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.iconsource, (0, 2), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.iconoffset = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.iconoffset, (0, 3), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- MIME Type
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetMimeType: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (1, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.mimetype = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.mimetype, (1, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- MIME Types
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetMimeTypes: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (2, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.mimetypes = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.mimetypes, (2, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- Extensions
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetExtensions: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (3, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.extensions = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.extensions, (3, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- Description
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetDescription: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (4, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.description = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY)
|
||||||
|
llsizer.Add(self.description, (4, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- Open command
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetOpenCommand: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (5, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.opencommand = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.opencommand, (5, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- Print command
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetPrintCommand: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (6, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.printcommand = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY )
|
||||||
|
llsizer.Add(self.printcommand, (6, 1), (1, 3), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
#------- All commands
|
||||||
|
|
||||||
|
t = wx.StaticText(self, -1, 'GetAllCommands: ', style = wx.ALIGN_RIGHT )
|
||||||
|
t.SetFont(bfont)
|
||||||
|
llsizer.Add(t, (7, 0), (1, 1), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
self.allcommands = wx.TextCtrl(self, -1, value="", style = wx.TE_READONLY | wx.TE_DONTWRAP | wx.TE_MULTILINE )
|
||||||
|
|
||||||
|
# Set the default height to be smaller than normal (for
|
||||||
|
# multi-line) so the sizer can then expand it to whatever
|
||||||
|
# space is available
|
||||||
|
self.allcommands.SetSize((-1, 20))
|
||||||
|
|
||||||
|
llsizer.Add(self.allcommands, (7, 1), (1, 3), wx.ALL | wx.GROW | wx.ALIGN_CENTER, 2)
|
||||||
|
|
||||||
|
# Tell the sizer to expand this row as needed
|
||||||
|
llsizer.AddGrowableRow(7)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
lrsizer = wx.StaticBoxSizer(wx.StaticBox(self, -1, 'Known MIME types'), wx.HORIZONTAL)
|
||||||
|
|
||||||
|
#------- List box with known MIME types
|
||||||
|
self.mimelist = wx.ListBox(self, -1, choices=[], style = wx.LB_SINGLE | wx.LB_SORT)
|
||||||
|
lrsizer.Add(self.mimelist, 0, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 4)
|
||||||
|
self.Bind(wx.EVT_LISTBOX, self.OnListbox, self.mimelist)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
lsizer.Add(llsizer, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 4)
|
||||||
|
lsizer.Add(lrsizer, 0, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 4)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
tsizer.Add(usizer, 0, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 4)
|
||||||
|
tsizer.Add(lsizer, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER, 4)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
self.SetSizer(tsizer)
|
||||||
|
tsizer.Fit(self)
|
||||||
|
|
||||||
|
# Populate the Known MIME types list with what is in the database
|
||||||
|
mtypes = wx.TheMimeTypesManager.EnumAllFileTypes()
|
||||||
|
for mt in mtypes:
|
||||||
|
self.mimelist.Append(mt)
|
||||||
|
|
||||||
|
# Do a lookup of *.wav for a starting position
|
||||||
self.OnLookup()
|
self.OnLookup()
|
||||||
|
|
||||||
mimetypes = wxTheMimeTypesManager.EnumAllFileTypes()
|
# Grab the selection from the listbox, push that into
|
||||||
for mt in mimetypes:
|
# the text box at top, select 'MIME', and then look it up.
|
||||||
self.GetListbox().Append(mt)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# WDR: handler implementations for MimeTypesTestPanel
|
|
||||||
|
|
||||||
def OnListbox(self, event):
|
def OnListbox(self, event):
|
||||||
mimetype = event.GetString()
|
mimetype = event.GetString()
|
||||||
self.GetInputText().SetValue(mimetype)
|
self.ext.SetValue(mimetype)
|
||||||
self.GetMimeBtn().SetValue(True)
|
self.how.SetSelection(1)
|
||||||
self.GetExtensionBtn().SetValue(False)
|
|
||||||
self.OnLookup()
|
self.OnLookup()
|
||||||
|
|
||||||
|
# Look up a given file extension or MIME type.
|
||||||
def OnLookup(self, event=None):
|
def OnLookup(self, event=None):
|
||||||
txt = self.GetInputText().GetValue()
|
txt = self.ext.GetValue()
|
||||||
if self.GetMimeBtn().GetValue():
|
|
||||||
fileType = wxTheMimeTypesManager.GetFileTypeFromMimeType(txt)
|
# For MIME lookups
|
||||||
|
if self.how.GetSelection() == 1:
|
||||||
|
fileType = wx.TheMimeTypesManager.GetFileTypeFromMimeType(txt)
|
||||||
msg = "Mime type"
|
msg = "Mime type"
|
||||||
|
|
||||||
|
# Select the entered value in the list
|
||||||
|
if fileType:
|
||||||
|
if self.mimelist.FindString(txt) != -1:
|
||||||
|
self.mimelist.SetSelection(self.mimelist.FindString(txt))
|
||||||
|
|
||||||
|
# Must be an extension lookup
|
||||||
else:
|
else:
|
||||||
fileType = wxTheMimeTypesManager.GetFileTypeFromExtension(txt)
|
fileType = wx.TheMimeTypesManager.GetFileTypeFromExtension(txt)
|
||||||
msg = "File extension"
|
msg = "File extension"
|
||||||
|
|
||||||
|
# Select the entered value in the list
|
||||||
|
if fileType:
|
||||||
|
if self.mimelist.FindString(str(fileType.GetMimeType())) != -1:
|
||||||
|
# Using CallAfter to ensure that GUI is ready before trying to
|
||||||
|
# select it (otherwise, it's selected but not visible)
|
||||||
|
wx.CallAfter(self.mimelist.SetSelection, self.mimelist.FindString(str(fileType.GetMimeType())))
|
||||||
|
|
||||||
|
|
||||||
if fileType is None:
|
if fileType is None:
|
||||||
wxMessageBox(msg + " not found.", "Oops!")
|
wx.MessageBox(msg + " not found.", "Oops!")
|
||||||
else:
|
else:
|
||||||
self.Update(fileType)
|
self.Update(fileType)
|
||||||
|
|
||||||
|
# Populate the wx.FileType fields with actual values.
|
||||||
|
|
||||||
def Update(self, ft):
|
def Update(self, ft):
|
||||||
#icon = ft.GetIcon()
|
|
||||||
|
#------- Icon info
|
||||||
info = ft.GetIconInfo()
|
info = ft.GetIconInfo()
|
||||||
|
|
||||||
if info is None:
|
if info is None:
|
||||||
bmp = MyBitmapsFunc(0)
|
bmp = images.getNoIconBitmap()
|
||||||
##print bmp.Ok(), bmp.GetWidth(), bmp.GetHeight()
|
self.icon.SetBitmap(bmp)
|
||||||
self.GetIconBmp().SetBitmap(bmp)
|
self.iconsource.SetValue("")
|
||||||
self.GetIconFileTxt().SetValue("")
|
self.iconoffset.SetValue("")
|
||||||
self.GetIconIndexTxt().SetValue("")
|
|
||||||
else:
|
else:
|
||||||
icon, file, idx = info
|
icon, file, idx = info
|
||||||
#bmp = wxBitmapFromIcon(icon)
|
if icon.Ok():
|
||||||
#self.GetIconBmp().SetBitmap(bmp)
|
self.icon.SetIcon(icon)
|
||||||
self.GetIconBmp().SetIcon(icon)
|
else:
|
||||||
self.GetIconFileTxt().SetValue(file)
|
bmp = images.getNoIconBitmap()
|
||||||
self.GetIconIndexTxt().SetValue(str(idx))
|
self.icon.SetBitmap(bmp)
|
||||||
|
self.iconsource.SetValue(file)
|
||||||
|
self.iconoffset.SetValue(str(idx))
|
||||||
|
|
||||||
self.GetMimeTypeTxt().SetValue(str(ft.GetMimeType()))
|
#------- MIME type
|
||||||
self.GetMimeTypesTxt().SetValue(str(ft.GetMimeTypes()))
|
self.mimetype.SetValue(str(ft.GetMimeType()))
|
||||||
self.GetExtensionsTxt().SetValue(str(ft.GetExtensions()))
|
#------- MIME types
|
||||||
self.GetDescriptionTxt().SetValue(str(ft.GetDescription()))
|
self.mimetypes.SetValue(str(ft.GetMimeTypes()))
|
||||||
|
#------- Associated extensions
|
||||||
|
self.extensions.SetValue(str(ft.GetExtensions()))
|
||||||
|
#------- Description of file type
|
||||||
|
self.description.SetValue(str(ft.GetDescription()))
|
||||||
|
|
||||||
|
#------- Prep a fake command line command
|
||||||
extList = ft.GetExtensions()
|
extList = ft.GetExtensions()
|
||||||
|
|
||||||
if extList:
|
if extList:
|
||||||
ext = extList[0]
|
ext = extList[0]
|
||||||
if ext[0] == ".": ext = ext[1:]
|
if ext[0] == ".": ext = ext[1:]
|
||||||
else:
|
else:
|
||||||
ext = ""
|
ext = ""
|
||||||
|
|
||||||
filename = "SPAM" + "." + ext
|
filename = "SPAM" + "." + ext
|
||||||
mime = ft.GetMimeType() or ""
|
mime = ft.GetMimeType() or ""
|
||||||
|
|
||||||
|
#------- OPEN command
|
||||||
cmd = ft.GetOpenCommand(filename, mime)
|
cmd = ft.GetOpenCommand(filename, mime)
|
||||||
self.GetOpenCmdTxt().SetValue(str(cmd))
|
self.opencommand.SetValue(str(cmd))
|
||||||
|
|
||||||
|
#------- PRINT command
|
||||||
cmd = ft.GetPrintCommand(filename, mime)
|
cmd = ft.GetPrintCommand(filename, mime)
|
||||||
self.GetPrintCmdTxt().SetValue(str(cmd))
|
self.printcommand.SetValue(str(cmd))
|
||||||
|
|
||||||
|
#------- All commands
|
||||||
all = ft.GetAllCommands(filename, mime)
|
all = ft.GetAllCommands(filename, mime)
|
||||||
|
|
||||||
if all is None:
|
if all is None:
|
||||||
self.GetAllCmdsTxt().SetValue("")
|
self.allcommands.SetValue("")
|
||||||
else:
|
else:
|
||||||
verbs, commands = all
|
verbs, commands = all
|
||||||
text = pprint.pformat(map(None, verbs, commands))
|
text = pprint.pformat(map(None, verbs, commands))
|
||||||
self.GetAllCmdsTxt().SetValue(text)
|
self.allcommands.SetValue(text)
|
||||||
|
|
||||||
|
|
||||||
# WDR: methods for MimeTypesTestPanel
|
|
||||||
|
|
||||||
def GetListbox(self):
|
|
||||||
return self.FindWindowById(ID_LISTBOX)
|
|
||||||
|
|
||||||
def GetIconIndexTxt(self):
|
|
||||||
return self.FindWindowById(ID_ICON_INDEX_TXT)
|
|
||||||
|
|
||||||
def GetIconFileTxt(self):
|
|
||||||
return self.FindWindowById(ID_ICON_FILE_TXT)
|
|
||||||
|
|
||||||
def GetMimeBtn(self):
|
|
||||||
return self.FindWindowById(ID_MIME_BTN)
|
|
||||||
|
|
||||||
def GetExtensionBtn(self):
|
|
||||||
return self.FindWindowById(ID_EXTENSION_Btn)
|
|
||||||
|
|
||||||
def GetAllCmdsTxt(self):
|
|
||||||
return self.FindWindowById(ID_ALL_CMDS_TXT)
|
|
||||||
|
|
||||||
def GetPrintCmdTxt(self):
|
|
||||||
return self.FindWindowById(ID_PRINT_CMD_TXT)
|
|
||||||
|
|
||||||
def GetOpenCmdTxt(self):
|
|
||||||
return self.FindWindowById(ID_OPEN_CMD_TXT)
|
|
||||||
|
|
||||||
def GetDescriptionTxt(self):
|
|
||||||
return self.FindWindowById(ID_DESCRIPTION_TXT)
|
|
||||||
|
|
||||||
def GetExtensionsTxt(self):
|
|
||||||
return self.FindWindowById(ID_EXTENSIONS_TXT)
|
|
||||||
|
|
||||||
def GetMimeTypesTxt(self):
|
|
||||||
return self.FindWindowById(ID_MIME_TYPES_TXT)
|
|
||||||
|
|
||||||
def GetMimeTypeTxt(self):
|
|
||||||
return self.FindWindowById(ID_MIME_TYPE_TXT)
|
|
||||||
|
|
||||||
def GetIconBmp(self):
|
|
||||||
return self.FindWindowById(ID_ICON_BMP)
|
|
||||||
|
|
||||||
def GetInputText(self):
|
|
||||||
return self.FindWindowById(ID_INPUT_TEXT)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
def runTest(frame, nb, log):
|
def runTest(frame, nb, log):
|
||||||
win = MimeTypesTestPanel(nb, -1)
|
win = MimeTypesDemoPanel(nb, log)
|
||||||
return win
|
return win
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
overview = """\
|
overview = """\
|
||||||
|
|
||||||
|
The <b>wx.MimeTypesManager</b> class allows the application to retrieve the
|
||||||
|
information about all known MIME types from a system-specific location and the
|
||||||
|
filename extensions to the MIME types and vice versa. After initialization the
|
||||||
|
methods <b>GetFileTypeFromMimeType()</b> and <b>GetFileTypeFromExtension()</b>
|
||||||
|
may be called: they will return a <b>wx.FileType</b> object which may be further
|
||||||
|
queried for file description, icon and other attributes.
|
||||||
|
|
||||||
|
A global instance of <b>wx.MimeTypesManager</b> is always available as
|
||||||
|
<b>wx.TheMimeTypesManager</b>. It is recommended to use this instance instead
|
||||||
|
of creating your own because gathering MIME information may take quite a long
|
||||||
|
on Unix systems.
|
||||||
|
|
||||||
|
This demo shows how to use wx.TheMimeTypesManager to list all known MIME types
|
||||||
|
and retrieve that information as a wx.FileType from either an extension or
|
||||||
|
MIME type.
|
||||||
|
|
||||||
|
For further information please consult the wxWindows documentation for
|
||||||
|
<b>wx.MimeTypesManager</b> and <b>wx.FileType</b>.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
import mimetypes_wdr
|
|
||||||
import images
|
|
||||||
|
|
||||||
def MyBitmapsFunc( index ):
|
|
||||||
return images.getNoIconBitmap()
|
|
||||||
|
|
||||||
mimetypes_wdr.MyBitmapsFunc = MyBitmapsFunc
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import sys,os
|
import sys,os
|
||||||
|
Reference in New Issue
Block a user