- int ret = wxDialog::ShowModal();
-
- if (ret == wxID_OK)
- {
- m_fileName = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
- m_path = gtk_file_selection_get_filename( GTK_FILE_SELECTION(m_widget) );
- };
- return ret;
-};
-
-
-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)
+ m_needParent = FALSE;
+
+ PreCreation( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, "filedialog" );
+ m_message = message;
+ m_path = "";
+ m_fileName = defaultFileName;
+ m_dir = defaultDir;
+ m_wildCard = wildCard;
+ m_dialogStyle = style;
+ m_filterIndex = 1;
+
+ m_widget = gtk_file_selection_new( m_message );
+
+ int x = (gdk_screen_width () - 400) / 2;
+ int y = (gdk_screen_height () - 400) / 2;
+ gtk_widget_set_uposition( m_widget, x, y );
+
+ GtkFileSelection *sel = GTK_FILE_SELECTION(m_widget);
+
+ m_path.Append(m_dir);
+ if(! m_path.IsEmpty() && m_path.Last()!='/') m_path.Append('/');
+ m_path.Append(m_fileName);
+
+ if(m_path.Length()>1) gtk_file_selection_set_filename(sel,m_path);
+
+ gtk_signal_connect( GTK_OBJECT(sel->ok_button), "clicked",
+ GTK_SIGNAL_FUNC(gtk_filedialog_ok_callback), (gpointer*)this );
+
+ gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked",
+ GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this );
+
+ gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
+ GTK_SIGNAL_FUNC(gtk_filedialog_delete_callback), (gpointer)this );
+}
+
+wxString wxFileSelector( const char *title,
+ const char *defaultDir, const char *defaultFileName,
+ const char *defaultExtension, const char *filter, int flags,
+ wxWindow *parent, int x, int y )