X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a693e6e0460b6b3c32e4b6f114a3ab7b7cd24ea..f6bcfd974ef26faf6f91a62cac09827e09463fd1:/utils/wxPython/lib/filebrowsebutton.py?ds=sidebyside diff --git a/utils/wxPython/lib/filebrowsebutton.py b/utils/wxPython/lib/filebrowsebutton.py deleted file mode 100644 index 719287c246..0000000000 --- a/utils/wxPython/lib/filebrowsebutton.py +++ /dev/null @@ -1,170 +0,0 @@ -from wxPython.wx import * -import os - -#---------------------------------------------------------------------- - -class FileBrowseButton(wxPanel): - ''' A control to allow the user to type in a filename - or browse with the standard file dialog to select file - - __init__ ( - parent, id, pos, size -- passed directly to wxPanel initialisation - style = wxTAB_TRAVERSAL -- passed directly to wxPanel initialisation - labelText -- Text for label to left of text field - buttonText -- Text for button which launches the file dialog - toolTip -- Help text - dialogTitle -- Title used in file dialog - startDirectory -- Default directory for file dialog startup - fileMask -- File mask (glob pattern, such as *.*) to use in file dialog - fileMode -- wxOPEN or wxSAVE, indicates type of file dialog to use - changeCallback -- callback receives all changes in value of control - ) - GetValue() -- retrieve current value of text control - SetValue(string) -- set current value of text control - label -- pointer to internal label widget - textControl -- pointer to internal text control - browseButton -- pointer to button - ''' - def __init__ (self, parent, id= -1, - pos = wxDefaultPosition, size = wxDefaultSize, - style = wxTAB_TRAVERSAL, - labelText= "File Entry:", - buttonText= "Browse", - toolTip= "Type filename or browse computer to choose file", - # following are the values for a file dialog box - dialogTitle = "Choose a file", - startDirectory = ".", - initialValue = "", - fileMask = "*.*", - fileMode = wxOPEN, - # callback for when value changes (optional) - changeCallback= None - ): - wxPanel.__init__ (self, parent, id, pos, size, style) - # store variables - self.dialogTitle = dialogTitle - self.startDirectory = startDirectory - self.fileMask = fileMask - self.fileMode = fileMode - self.changeCallback = changeCallback - - box = wxBoxSizer(wxHORIZONTAL) - self.label = wxStaticText(self, -1, labelText, style =wxALIGN_RIGHT ) - font = self.label.GetFont() - w, h, d, e = self.GetFullTextExtent(labelText, font) - self.label.SetSize(wxSize(w+5, h)) - box.Add( self.label, 0, wxCENTER ) - - ID = wxNewId() - self.textControl = wxTextCtrl(self, ID) - self.textControl.SetToolTipString( toolTip ) - box.Add( self.textControl, 1, wxLEFT|wxCENTER, 5) - if changeCallback: - EVT_TEXT(self.textControl, ID, changeCallback) - - ID = wxNewId() - self.browseButton = button =wxButton(self, ID, buttonText) - box.Add( button, 0, wxCENTER) - button.SetToolTipString( toolTip ) - EVT_BUTTON(button, ID, self.OnBrowse) - - # add a border around the whole thing and resize the panel to fit - outsidebox = wxBoxSizer(wxVERTICAL) - outsidebox.Add(box, 1, wxEXPAND|wxALL, 3) - outsidebox.Fit(self) - - self.SetAutoLayout(true) - self.SetSizer( outsidebox ) - self.Layout() - if size.width != -1 or size.height != -1: - self.SetSize(size) - - - - def OnBrowse (self, event = None): - ''' Going to browse for file... ''' - current = self.GetValue () - directory = os.path.split(current) - if os.path.isdir( current): - directory =current - elif directory and os.path.isdir( directory[0] ): - directory = directory [0] - else: - directory = self.startDirectory - dlg = wxFileDialog(self, self.dialogTitle, directory, current, self.fileMask, self.fileMode) - if dlg.ShowModal() == wxID_OK: - self.SetValue (dlg.GetPath()) - dlg.Destroy() - self.textControl.SetFocus() - - - def GetValue (self): - ''' Convenient access to text control value ''' - return self.textControl.GetValue () - - - def SetValue (self, value): - ''' Convenient setting of text control value ''' - return self.textControl.SetValue (value) - - def Enable (self, value): - ''' Convenient enabling/disabling of entire control ''' - self.label.Enable (value) - self.textControl.Enable (value) - return self.browseButton.Enable (value) - - def GetLabel( self ): - ''' Retrieve the label's current text ''' - return self.label.GetLabel() - - def SetLabel( self, value ): - ''' Set the label's current text ''' - return self.label.SetLabel( value ) - - - -#---------------------------------------------------------------------- - - -if __name__ == "__main__": - #from skeletonbuilder import rulesfile - class DemoFrame( wxFrame ): - def __init__(self, parent): - wxFrame.__init__(self, parent, 2400, "File entry with browse", size=(500,100) ) - panel = wxPanel (self,-1) - innerbox = wxBoxSizer(wxVERTICAL) - control = FileBrowseButton(panel) - innerbox.Add( control, 0, wxEXPAND ) - control = FileBrowseButton(panel, labelText = "With Callback", style = wxSUNKEN_BORDER ,changeCallback= self.OnFileNameChanged) - innerbox.Add( control, 0, wxEXPAND|wxALIGN_BOTTOM ) - panel.SetAutoLayout(true) - panel.SetSizer( innerbox ) - - def OnFileNameChanged (self, event): - print "Filename changed", event.GetString () - - def OnCloseMe(self, event): - self.Close(true) - - def OnCloseWindow(self, event): - self.Destroy() - - class DemoApp(wxApp): - def OnInit(self): - wxImage_AddHandler(wxJPEGHandler()) - wxImage_AddHandler(wxPNGHandler()) - wxImage_AddHandler(wxGIFHandler()) - frame = DemoFrame(NULL) - #frame = RulesPanel(NULL ) - frame.Show(true) - self.SetTopWindow(frame) - return true - - def test( ): - app = DemoApp(0) - app.MainLoop() - print 'Creating dialogue' - test( ) - - -