-#define ID_LIST_MODE wxID_FILEDLGG
-#define ID_REPORT_MODE wxID_FILEDLGG + 1
-#define ID_UP_DIR wxID_FILEDLGG + 5
-#define ID_PARENT_DIR wxID_FILEDLGG + 6
-#define ID_NEW_DIR wxID_FILEDLGG + 7
-#define ID_CHOICE wxID_FILEDLGG + 8
-#define ID_TEXT wxID_FILEDLGG + 9
-#define ID_LIST_CTRL wxID_FILEDLGG + 10
-#define ID_ACTIVATED wxID_FILEDLGG + 11
-#define ID_CHECK wxID_FILEDLGG + 12
-
-IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxDialog)
-
-BEGIN_EVENT_TABLE(wxFileDialog,wxDialog)
- EVT_BUTTON(ID_LIST_MODE, wxFileDialog::OnList)
- EVT_BUTTON(ID_REPORT_MODE, wxFileDialog::OnReport)
- EVT_BUTTON(ID_UP_DIR, wxFileDialog::OnUp)
- EVT_BUTTON(ID_PARENT_DIR, wxFileDialog::OnHome)
- EVT_BUTTON(ID_NEW_DIR, wxFileDialog::OnNew)
- EVT_BUTTON(wxID_OK, wxFileDialog::OnListOk)
- EVT_LIST_ITEM_SELECTED(ID_LIST_CTRL, wxFileDialog::OnSelected)
- EVT_LIST_ITEM_ACTIVATED(ID_LIST_CTRL, wxFileDialog::OnActivated)
- EVT_CHOICE(ID_CHOICE,wxFileDialog::OnChoice)
- EVT_TEXT_ENTER(ID_TEXT,wxFileDialog::OnTextEnter)
- EVT_CHECKBOX(ID_CHECK,wxFileDialog::OnCheck)
-END_EVENT_TABLE()
-
-wxFileDialog::wxFileDialog(wxWindow *parent,
- const wxString& message,
- const wxString& defaultDir,
- const wxString& defaultFile,
- const wxString& wildCard,
- long style,
- const wxPoint& pos ) :
- wxDialog( parent, -1, message, pos, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER )
-{
- wxBeginBusyCursor();
-
- m_message = message;
- m_dialogStyle = style;
-
- if ((m_dialogStyle & wxMULTIPLE ) && !(m_dialogStyle & wxOPEN))
- m_dialogStyle |= wxOPEN;
-
- m_dir = defaultDir;
- if ((m_dir.IsEmpty()) || (m_dir == wxT(".")))
- {
- char buf[200];
- m_dir = getcwd( buf, sizeof(buf) );
- }
- m_path = defaultDir;
- m_path += wxT("/");
- m_path += defaultFile;
- m_fileName = defaultFile;
- m_wildCard = wildCard;
- m_filterIndex = 0;
-
- // interpret wildcards
-
- if (m_wildCard.IsEmpty())
- m_wildCard = _("All files (*)|*");
-
- wxStringTokenizer tokens( m_wildCard, wxT("|") );
- wxString firstWild;
- wxString firstWildText;
- if (tokens.CountTokens() == 1)
- {
- firstWildText = tokens.GetNextToken();
- firstWild = firstWildText;
- }
- else
- {
- wxASSERT_MSG( tokens.CountTokens() % 2 == 0, wxT("Wrong file type descripition") );
- firstWildText = tokens.GetNextToken();
- firstWild = tokens.GetNextToken();
- }