-char *wxFileSelector(const char *title,
- const char *defaultDir, const char *defaultFileName,
- const char *defaultExtension, const char *filter, int flags,
- wxWindow *parent, int x, int y)
+ GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget);
+ gtk_file_selection_hide_fileop_buttons( sel ); // they don't work anyway
+
+ m_path.Append(m_dir);
+ if( ! m_path.IsEmpty() && m_path.Last()!=wxT('/') )
+ m_path.Append('/');
+ m_path.Append(m_fileName);
+
+ if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path.mbc_str());
+
+ gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked",
+ GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this );
+
+ // strange way to internationalize
+ gtk_label_set( GTK_LABEL( GTK_BUTTON(sel->ok_button)->child ), wxConvCurrent->cWX2MB(_("OK")) );
+
+ gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked",
+ GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this );
+
+ // strange way to internationalize
+ gtk_label_set( GTK_LABEL( GTK_BUTTON(sel->cancel_button)->child ), wxConvCurrent->cWX2MB(_("Cancel")) );
+
+ gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
+ GTK_SIGNAL_FUNC(gtk_filedialog_delete_callback), (gpointer)this );
+}
+
+void wxFileDialog::SetPath(const wxString& path)