Updated contrib from Lorne White
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -4,11 +4,19 @@ | |||||||
| # | # | ||||||
| # Author:       Lorne White | # Author:       Lorne White | ||||||
| # | # | ||||||
| # Version:      0.9 | # Version:      1.0 | ||||||
| # Date:         August 15, 2001 | # Date:         January 29, 2002 | ||||||
| # Licence:      wxWindows license | # Licence:      wxWindows license | ||||||
| #---------------------------------------------------------------------------- | #---------------------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | # 1.0 Release | ||||||
|  | # Create list of all available image file types | ||||||
|  | # View "All Image" File Types as default filter | ||||||
|  | # Sort the file list | ||||||
|  | # Use newer "re" function for patterns | ||||||
|  |   | ||||||
|  | #--------------------------------------------------------------------------- | ||||||
|  |  | ||||||
| import os, sys, string | import os, sys, string | ||||||
| from wxPython.wx import * | from wxPython.wx import * | ||||||
| dir_path = os.getcwd() | dir_path = os.getcwd() | ||||||
| @@ -30,8 +38,14 @@ def ConvertBMP(file_nm): | |||||||
|         image = wxImage(file_nm, wxBITMAP_TYPE_PNG) |         image = wxImage(file_nm, wxBITMAP_TYPE_PNG) | ||||||
|     elif ext == 'jpg': |     elif ext == 'jpg': | ||||||
|         image = wxImage(file_nm, wxBITMAP_TYPE_JPEG) |         image = wxImage(file_nm, wxBITMAP_TYPE_JPEG) | ||||||
|  |     elif ext == 'pcx': | ||||||
|  |         image = wxImage(file_nm, wxBITMAP_TYPE_PCX) | ||||||
|  |     elif ext == 'tif': | ||||||
|  |         image = wxImage(file_nm, wxBITMAP_TYPE_TIF) | ||||||
|  |     elif ext == 'pnm': | ||||||
|  |         image = wxImage(file_nm, wxBITMAP_TYPE_PNM) | ||||||
|     else: |     else: | ||||||
|         image = None |         image = wxImage(file_nm, wxBITMAP_TYPE_ANY) | ||||||
|  |  | ||||||
|     return image |     return image | ||||||
|  |  | ||||||
| @@ -155,10 +169,12 @@ class ImageDialog(wxDialog): | |||||||
|         image_sizex = 150 |         image_sizex = 150 | ||||||
|         image_sizey = self.list_height |         image_sizey = self.list_height | ||||||
|  |  | ||||||
|         self.fl_types = ["Bmp", "Gif", "Png", "Jpg"] |         self.fl_types = ["All Images", "Bmp", "Gif", "Png", "Jpg", "Ico", "Pnm", "Pcx", "Tif", "All Files"] | ||||||
|         self.fl_ext_types = { "Bmp": "*.bmp", "Gif": "*.gif", "Png": "*.png", "Jpg": "*.jpg" } |         self.fl_ext_types = { "All Images": "All", "Bmp": "*.bmp", "Gif": "*.gif", "Png": "*.png", "Jpg": "*.jpg",  | ||||||
|  |                         "Ico": "*.ico", "Pnm": "*.pnm", "Pcx": "*.pcx", "Tif": "*.tif", "All Files": "*.*" } | ||||||
|          |          | ||||||
|         self.set_type = self.fl_types[0]    # initial file filter setting |         self.set_type = self.fl_types[0]    # initial file filter setting | ||||||
|  |         self.fl_ext = self.fl_ext_types[self.set_type] | ||||||
|          |          | ||||||
|         mID = NewId() |         mID = NewId() | ||||||
|         self.sel_type = wxComboBox(self, mID, self.set_type, wxPoint(image_posx , self.type_posy), wxSize(150, -1), self.fl_types, wxCB_DROPDOWN) |         self.sel_type = wxComboBox(self, mID, self.set_type, wxPoint(image_posx , self.type_posy), wxSize(150, -1), self.fl_types, wxCB_DROPDOWN) | ||||||
| @@ -181,9 +197,19 @@ class ImageDialog(wxDialog): | |||||||
|         self.ResetFiles() |         self.ResetFiles() | ||||||
|  |  | ||||||
|     def GetFiles(self):     # get the file list using directory and extension values |     def GetFiles(self):     # get the file list using directory and extension values | ||||||
|  |         if self.fl_ext == "All": | ||||||
|  |             all_files = [] | ||||||
|  |             for ftypes in self.fl_types[1:-1]:    # get list of all available image types | ||||||
|  |                 filter = self.fl_ext_types[ftypes] | ||||||
|  |                 self.fl_val = FindFiles(self, self.set_dir, filter) | ||||||
|  |                 all_files = all_files + self.fl_val.files   # add to list of files | ||||||
|  |             self.fl_list = all_files | ||||||
|  |         else:               | ||||||
|             self.fl_val = FindFiles(self, self.set_dir, self.fl_ext) |             self.fl_val = FindFiles(self, self.set_dir, self.fl_ext) | ||||||
|             self.fl_list = self.fl_val.files |             self.fl_list = self.fl_val.files | ||||||
|  |  | ||||||
|  |         self.fl_list.sort()     # sort the file list | ||||||
|  |  | ||||||
|     def DisplayDir(self):       # display the working directory |     def DisplayDir(self):       # display the working directory | ||||||
|         wxStaticText(self, -1, self.set_dir, wxPoint(self.dir_x, self.dir_y), wxSize(250, -1)) |         wxStaticText(self, -1, self.set_dir, wxPoint(self.dir_x, self.dir_y), wxSize(250, -1)) | ||||||
|   |   | ||||||
| @@ -253,7 +279,7 @@ class FindFiles: | |||||||
|         self.dir = dir |         self.dir = dir | ||||||
|         self.file = "" |         self.file = "" | ||||||
|         mask = string.upper(mask) |         mask = string.upper(mask) | ||||||
|         self.MakeRegex(mask) |         pattern = self.MakeRegex(mask) | ||||||
|         for i in os.listdir(dir): |         for i in os.listdir(dir): | ||||||
|             if i == "." or i == "..": |             if i == "." or i == "..": | ||||||
|                 continue			 |                 continue			 | ||||||
| @@ -261,13 +287,13 @@ class FindFiles: | |||||||
|             path = string.upper(path) |             path = string.upper(path) | ||||||
|             value = string.upper(i) |             value = string.upper(i) | ||||||
|  |  | ||||||
|             if self.regex.match(value) == len(value): |             if pattern.match(value) != None: | ||||||
|                 filelist.append(i) |                 filelist.append(i) | ||||||
|  |  | ||||||
| 	    self.files = filelist | 	    self.files = filelist | ||||||
|  |  | ||||||
|     def MakeRegex(self, pattern): |     def MakeRegex(self, pattern): | ||||||
|         import regex |         import re | ||||||
|         f = ""	# Set up a regex for file names |         f = ""	# Set up a regex for file names | ||||||
|         for ch in pattern: |         for ch in pattern: | ||||||
|             if ch == "*": |             if ch == "*": | ||||||
| @@ -279,7 +305,7 @@ class FindFiles: | |||||||
|             else: |             else: | ||||||
|                 f = f + ch |                 f = f + ch | ||||||
|  |  | ||||||
|         self.regex = regex.compile(f) |         return re.compile(f) | ||||||
|  |  | ||||||
|     def StripExt(self, file_nm): |     def StripExt(self, file_nm): | ||||||
|         fl_fld = os.path.splitext(file_nm) |         fl_fld = os.path.splitext(file_nm) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user