git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49649
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
You have downloaded the GTK+ port of the wxWidgets GUI library.
You have downloaded the GTK+ port of the wxWidgets GUI library.
-It is recommended to use at least GTK+ 2.2.3 to get the
-most out of wxWidgets and some features are only available
-when using GTK+ 2.4 or even from GTK+ 2.8. Note that if you
+It is required to use at least GTK+ 2.4 and some features are
+only available when using GTK+ 2.8 or higher. Note that if you
compile wxWidgets against GTK+ 2.8 your app will still work
compile wxWidgets against GTK+ 2.8 your app will still work
-with older GTK+ version down to version 2.2 as wxWidgets
+with older GTK+ version down to version 2.4 as wxWidgets
tests for the presence of newer features at run-time and it
will fall back to a generic implementation if these features
are not present in the GTK+ version used.
tests for the presence of newer features at run-time and it
will fall back to a generic implementation if these features
are not present in the GTK+ version used.
<P>Previously, wxGTK application made use of a file dialog written in
wxWidgets itself, since the default GTK+ file dialog was simplistic
to say the least. This has changed with version GTK+ 2.4, where a
<P>Previously, wxGTK application made use of a file dialog written in
wxWidgets itself, since the default GTK+ file dialog was simplistic
to say the least. This has changed with version GTK+ 2.4, where a
-nice and powerful dialog has been added. We now query the GTK+
-library, if the new file dialog functions are available and wxGTK
-applications will show and use them if that is the case, otherwise,
-they will fall back to the old generic one.</P>
+nice and powerful dialog has been added. wxGTK is using it now.</P>
<P STYLE="margin-top: 0.42cm; page-break-after: avoid"><FONT FACE="Albany, sans-serif"><FONT SIZE=4>File
configuration and preferences</FONT></FONT></P>
<P>The usual Unix way of saving file configuration and preferences is
<P STYLE="margin-top: 0.42cm; page-break-after: avoid"><FONT FACE="Albany, sans-serif"><FONT SIZE=4>File
configuration and preferences</FONT></FONT></P>
<P>The usual Unix way of saving file configuration and preferences is
See FreeDesktop's homepage at <A HREF="http://www.freedesktop.org/">www.freedesktop.org</A>.<BR><BR><BR>
</P>
</BODY>
See FreeDesktop's homepage at <A HREF="http://www.freedesktop.org/">www.freedesktop.org</A>.<BR><BR><BR>
</P>
</BODY>
-</HTML>
\ No newline at end of file
#include "wx/motif/filedlg.h"
#elif defined(__WXGTK24__)
#include "wx/gtk/filedlg.h" // GTK+ > 2.4 has native version
#include "wx/motif/filedlg.h"
#elif defined(__WXGTK24__)
#include "wx/gtk/filedlg.h" // GTK+ > 2.4 has native version
-#elif defined(__WXGTK20__)
- #define wxHAS_GENERIC_FILEDIALOG
- #include "wx/generic/filedlgg.h"
#elif defined(__WXGTK__)
#include "wx/gtk1/filedlg.h"
#elif defined(__WXMAC__)
#elif defined(__WXGTK__)
#include "wx/gtk1/filedlg.h"
#elif defined(__WXMAC__)
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#ifndef FILECTRL_H
-#define FILECTRL_H
+
+#ifndef _WX_GTK_FILECTRL_H_
+#define _WX_GTK_FILECTRL_H_
+#include "wx/filectrl.h"
extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorDefaultWildcardStr[];
extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorDefaultWildcardStr[];
+#endif // _WX_GTK_FILECTRL_H_
#ifndef __GTKFILEDLGH__
#define __GTKFILEDLGH__
#ifndef __GTKFILEDLGH__
#define __GTKFILEDLGH__
-#include "wx/generic/filedlgg.h"
#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
//-------------------------------------------------------------------------
// wxFileDialog
//-------------------------------------------------------------------------
#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
//-------------------------------------------------------------------------
// wxFileDialog
//-------------------------------------------------------------------------
-class WXDLLIMPEXP_CORE wxFileDialog: public wxGenericFileDialog
+class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
{
public:
wxFileDialog() { }
{
public:
wxFileDialog() { }
bool wxGtkFileCtrl::SetFilename( const wxString& name )
{
bool wxGtkFileCtrl::SetFilename( const wxString& name )
{
- if ( !gtk_check_version( 2, 4, 0 ) )
+ if ( HasFlag( wxFC_SAVE ) )
- if ( HasFlag( wxFC_SAVE ) )
- {
- gtk_file_chooser_set_current_name( m_fcWidget, wxGTK_CONV( name ) );
- return true;
- }
- else
- return SetPath( wxFileName( GetDirectory(), name ).GetFullPath() );
+ gtk_file_chooser_set_current_name( m_fcWidget, wxGTK_CONV( name ) );
+ return true;
+ else
+ return SetPath( wxFileName( GetDirectory(), name ).GetFullPath() );
}
void wxGtkFileCtrl::SetWildcard( const wxString& wildCard )
}
void wxGtkFileCtrl::SetWildcard( const wxString& wildCard )
void wxGtkFileCtrl::ShowHidden(bool show)
{
void wxGtkFileCtrl::ShowHidden(bool show)
{
-#ifdef __WXGTK26__
- gtk_file_chooser_set_show_hidden(m_fcWidget, show);
-#else
- // gtk_file_chooser_set_show_hidden only in 2.6
+ // gtk_file_chooser_set_show_hidden() is new in 2.6
g_object_set (G_OBJECT (m_fcWidget), "show-hidden", show, NULL);
g_object_set (G_OBJECT (m_fcWidget), "show-hidden", show, NULL);
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#if wxUSE_FILEDLG && defined(__WXGTK24__)
static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
gpointer user_data)
{
static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
gpointer user_data)
{
-#if GTK_CHECK_VERSION(2,4,0)
GtkWidget *preview = GTK_WIDGET(user_data);
wxGtkString filename(gtk_file_chooser_get_preview_filename(chooser));
GtkWidget *preview = GTK_WIDGET(user_data);
wxGtkString filename(gtk_file_chooser_get_preview_filename(chooser));
g_object_unref (pixbuf);
gtk_file_chooser_set_preview_widget_active(chooser, have_preview);
g_object_unref (pixbuf);
gtk_file_chooser_set_preview_widget_active(chooser, have_preview);
-#else
- wxUnusedVar(chooser);
- wxUnusedVar(user_data);
-#endif // GTK+ 2.4+
// wxFileDialog
//-----------------------------------------------------------------------------
// wxFileDialog
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxGenericFileDialog)
+IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxFileDialogBase)
-BEGIN_EVENT_TABLE(wxFileDialog,wxGenericFileDialog)
+BEGIN_EVENT_TABLE(wxFileDialog,wxFileDialogBase)
EVT_BUTTON(wxID_OK, wxFileDialog::OnFakeOk)
END_EVENT_TABLE()
EVT_BUTTON(wxID_OK, wxFileDialog::OnFakeOk)
END_EVENT_TABLE()
long style, const wxPoint& pos,
const wxSize& sz,
const wxString& name)
long style, const wxPoint& pos,
const wxSize& sz,
const wxString& name)
- : wxGenericFileDialog(parent, message, defaultDir, defaultFileName,
- wildCard, style, pos, sz, name, true )
- if (gtk_check_version(2,4,0))
+ parent = GetParentForModalDialog(parent);
+
+ if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFileName,
+ wildCard, style, pos, sz, name))
- wxGenericFileDialog::Create( parent, message, defaultDir,
- defaultFileName, wildCard, style, pos );
- parent = GetParentForModalDialog(parent);
-
if (!PreCreation(parent, pos, wxDefaultSize) ||
!CreateBase(parent, wxID_ANY, pos, wxDefaultSize, style,
wxDefaultValidator, wxT("filedialog")))
if (!PreCreation(parent, pos, wxDefaultSize) ||
!CreateBase(parent, wxID_ANY, pos, wxDefaultSize, style,
wxDefaultValidator, wxT("filedialog")))
-#if GTK_CHECK_VERSION(2,4,0)
if ( style & wxFD_PREVIEW )
{
GtkWidget *previewImage = gtk_image_new();
if ( style & wxFD_PREVIEW )
{
GtkWidget *previewImage = gtk_image_new();
G_CALLBACK(gtk_filedialog_update_preview_callback),
previewImage);
}
G_CALLBACK(gtk_filedialog_update_preview_callback),
previewImage);
}
}
void wxFileDialog::OnFakeOk( wxCommandEvent &event )
{
}
void wxFileDialog::OnFakeOk( wxCommandEvent &event )
{
- if (!gtk_check_version(2,4,0))
- EndDialog(wxID_OK);
- else
- wxGenericFileDialog::OnOk( event );
}
int wxFileDialog::ShowModal()
{
}
int wxFileDialog::ShowModal()
{
- if (!gtk_check_version(2,4,0))
- return wxDialog::ShowModal();
- else
- return wxGenericFileDialog::ShowModal();
+ return wxDialog::ShowModal();
}
bool wxFileDialog::Show( bool show )
{
}
bool wxFileDialog::Show( bool show )
{
- if (!gtk_check_version(2,4,0))
- return wxDialog::Show( show );
- else
- return wxGenericFileDialog::Show( show );
+ return wxDialog::Show( show );
-void wxFileDialog::DoSetSize(int x, int y, int width, int height, int sizeFlags )
+void wxFileDialog::DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
+ int WXUNUSED(width), int WXUNUSED(height),
+ int WXUNUSED(sizeFlags))
- if (!m_wxwindow)
- return;
- else
- wxGenericFileDialog::DoSetSize( x, y, width, height, sizeFlags );
}
wxString wxFileDialog::GetPath() const
{
}
wxString wxFileDialog::GetPath() const
{
- if (!gtk_check_version(2,4,0))
- {
- return m_fc.GetPath();
- }
-
- return wxGenericFileDialog::GetPath();
}
void wxFileDialog::GetFilenames(wxArrayString& files) const
{
}
void wxFileDialog::GetFilenames(wxArrayString& files) const
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.GetFilenames( files );
- }
- else
- wxGenericFileDialog::GetFilenames( files );
+ m_fc.GetFilenames( files );
}
void wxFileDialog::GetPaths(wxArrayString& paths) const
{
}
void wxFileDialog::GetPaths(wxArrayString& paths) const
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.GetPaths( paths );
- }
- else
- wxGenericFileDialog::GetPaths( paths );
+ m_fc.GetPaths( paths );
}
void wxFileDialog::SetMessage(const wxString& message)
{
}
void wxFileDialog::SetMessage(const wxString& message)
{
- if (!gtk_check_version(2,4,0))
- {
- m_message = message;
- SetTitle(message);
- }
- else
- wxGenericFileDialog::SetMessage( message );
+ m_message = message;
+ SetTitle(message);
}
void wxFileDialog::SetPath(const wxString& path)
{
}
void wxFileDialog::SetPath(const wxString& path)
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.SetPath( path );
- }
- else
- wxGenericFileDialog::SetPath( path );
}
void wxFileDialog::SetDirectory(const wxString& dir)
{
}
void wxFileDialog::SetDirectory(const wxString& dir)
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.SetDirectory( dir );
- }
- else
- wxGenericFileDialog::SetDirectory( dir );
+ m_fc.SetDirectory( dir );
}
wxString wxFileDialog::GetDirectory() const
{
}
wxString wxFileDialog::GetDirectory() const
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.GetDirectory();
- }
-
- return wxGenericFileDialog::GetDirectory();
+ return m_fc.GetDirectory();
}
void wxFileDialog::SetFilename(const wxString& name)
{
}
void wxFileDialog::SetFilename(const wxString& name)
{
- if (!gtk_check_version(2,4,0))
- {
- if (HasFdFlag(wxFD_SAVE))
- gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_widget), wxGTK_CONV(name));
- else
- SetPath(wxFileName(GetDirectory(), name).GetFullPath());
- }
+ if (HasFdFlag(wxFD_SAVE))
+ gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_widget), wxGTK_CONV(name));
- wxGenericFileDialog::SetFilename( name );
+ SetPath(wxFileName(GetDirectory(), name).GetFullPath());
}
wxString wxFileDialog::GetFilename() const
{
}
wxString wxFileDialog::GetFilename() const
{
- if (!gtk_check_version(2,4,0))
- return m_fc.GetFilename();
- else
- return wxGenericFileDialog::GetFilename();
+ return m_fc.GetFilename();
}
void wxFileDialog::SetWildcard(const wxString& wildCard)
{
}
void wxFileDialog::SetWildcard(const wxString& wildCard)
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.SetWildcard( wildCard );
- }
- else
- wxGenericFileDialog::SetWildcard( wildCard );
+ m_fc.SetWildcard( wildCard );
}
void wxFileDialog::SetFilterIndex(int filterIndex)
{
}
void wxFileDialog::SetFilterIndex(int filterIndex)
{
- if (!gtk_check_version(2,4,0))
- {
- m_fc.SetFilterIndex( filterIndex);
- }
- else
- wxGenericFileDialog::SetFilterIndex( filterIndex );
+ m_fc.SetFilterIndex( filterIndex);
}
int wxFileDialog::GetFilterIndex() const
{
}
int wxFileDialog::GetFilterIndex() const
{
- if (!gtk_check_version(2,4,0))
- {
- return m_fc.GetFilterIndex();
- }
- else
- return wxGenericFileDialog::GetFilterIndex();
+ return m_fc.GetFilterIndex();
-#endif // wxUSE_FILEDLG && __WXGTK24__