mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-07 07:12:34 +02:00
FileDialog now complete on Linux. Needs some fine tuning on Windows and OSX. Builds with wx3 and gtk2 or gtk3. Still more effect work to do.
90 lines
3.1 KiB
C++
90 lines
3.1 KiB
C++
//
|
|
// Copied from wxWidgets 3.0.2 and modified for Audacity
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/filedlg.h
|
|
// Purpose:
|
|
// Author: Robert Roebling
|
|
// Copyright: (c) 1998 Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _GTK_FILEDIALOGPRIVATE_H_
|
|
#define _GTK_FILEDIALOGPRIVATE_H_
|
|
|
|
#include <wx/gtk/filectrl.h> // for wxGtkFileChooser
|
|
#include <wx/panel.h>
|
|
|
|
//-------------------------------------------------------------------------
|
|
// FileDialog
|
|
//-------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE FileDialog: public FileDialogBase
|
|
{
|
|
public:
|
|
FileDialog() { }
|
|
|
|
FileDialog(wxWindow *parent,
|
|
const wxString& message = wxFileSelectorPromptStr,
|
|
const wxString& defaultDir = wxEmptyString,
|
|
const wxString& defaultFile = wxEmptyString,
|
|
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
|
|
long style = wxFD_DEFAULT_STYLE,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& sz = wxDefaultSize,
|
|
const wxString& name = wxFileDialogNameStr);
|
|
bool Create(wxWindow *parent,
|
|
const wxString& message = wxFileSelectorPromptStr,
|
|
const wxString& defaultDir = wxEmptyString,
|
|
const wxString& defaultFile = wxEmptyString,
|
|
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
|
|
long style = wxFD_DEFAULT_STYLE,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& sz = wxDefaultSize,
|
|
const wxString& name = wxFileDialogNameStr);
|
|
virtual ~FileDialog();
|
|
|
|
virtual wxString GetPath() const;
|
|
virtual void GetPaths(wxArrayString& paths) const;
|
|
virtual wxString GetFilename() const;
|
|
virtual void GetFilenames(wxArrayString& files) const;
|
|
virtual int GetFilterIndex() const;
|
|
|
|
virtual void SetMessage(const wxString& message);
|
|
virtual void SetPath(const wxString& path);
|
|
virtual void SetDirectory(const wxString& dir);
|
|
virtual void SetFilename(const wxString& name);
|
|
virtual void SetWildcard(const wxString& wildCard);
|
|
virtual void SetFilterIndex(int filterIndex);
|
|
|
|
virtual int ShowModal();
|
|
|
|
virtual bool SupportsExtraControl() const { return true; }
|
|
|
|
// Implementation only.
|
|
void GTKSelectionChanged(const wxString& filename);
|
|
void GTKFolderChanged();
|
|
void GTKFilterChanged();
|
|
|
|
|
|
protected:
|
|
// override this from wxTLW since the native
|
|
// form doesn't have any m_wxwindow
|
|
virtual void DoSetSize(int x, int y,
|
|
int width, int height,
|
|
int sizeFlags = wxSIZE_AUTO);
|
|
|
|
|
|
private:
|
|
void OnFakeOk( wxCommandEvent &event );
|
|
void OnSize(wxSizeEvent&);
|
|
virtual void AddChildGTK(wxWindowGTK* child);
|
|
|
|
wxGtkFileChooser m_fc;
|
|
|
|
DECLARE_DYNAMIC_CLASS(FileDialog)
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|