]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/filectrl.h
bracket unused function
[wxWidgets.git] / include / wx / gtk / filectrl.h
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/gtk/filectrl.h
3// Purpose: wxGtkFileCtrl Header
4// Author: Diaa M. Sami
5// Modified by:
6// Created: Aug-10-2007
7// RCS-ID: $Id$
8// Copyright: (c) Diaa M. Sami
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12
13#ifndef _WX_GTK_FILECTRL_H_
14#define _WX_GTK_FILECTRL_H_
15
16#include "wx/control.h"
17#include "wx/filectrl.h"
18
19extern WXDLLIMPEXP_DATA_CORE(const char) wxFileSelectorDefaultWildcardStr[];
20
21typedef struct _GtkFileChooser GtkFileChooser;
22
23// [GTK] current problems:
24// All methods(e.g. SetFilename(), SetPath(), etc) which change the state of
25// the control result in events fired, such events should be suppressed.
26// ------
27// Sometimes a selection event(with 0 files) is fired before
28// wxEVT_FILECTRL_FOLDERCHANGED, unfortunately this can hardly be detected!
29
30// A wx wrapper for any Gtk object implementing the interface GtkFileChooser
31
32class WXDLLIMPEXP_CORE wxGtkFileChooser
33{
34public:
35 wxGtkFileChooser() { m_ignoreNextFilterEvent = false; }
36
37 void SetWidget(GtkFileChooser *w);
38
39 wxString GetPath() const;
40 void GetPaths( wxArrayString& paths ) const;
41 wxString GetDirectory() const;
42 wxString GetFilename() const;
43 void GetFilenames( wxArrayString& files ) const;
44 int GetFilterIndex() const;
45
46 bool SetPath( const wxString& path );
47 bool SetDirectory( const wxString& dir );
48 void SetWildcard( const wxString& wildCard );
49 void SetFilterIndex( int filterIndex );
50
51 bool HasFilterChoice() const;
52
53 bool ShouldIgnoreNextFilterEvent() const { return m_ignoreNextFilterEvent; }
54
55 wxString GetCurrentWildCard() const
56 { return m_wildcards[GetFilterIndex()]; }
57
58private:
59 GtkFileChooser *m_widget;
60 // First wildcard in filter, to be used when the user
61 // saves a file without giving an extension.
62 wxArrayString m_wildcards;
63
64 // If true, ignore the next event because it was generated by us and not
65 // the user.
66 bool m_ignoreNextFilterEvent;
67};
68
69#if wxUSE_FILECTRL
70
71class WXDLLIMPEXP_CORE wxGtkFileCtrl: public wxControl,
72 public wxFileCtrlBase
73{
74public:
75 wxGtkFileCtrl () { Init(); }
76
77 wxGtkFileCtrl ( wxWindow *parent,
78 wxWindowID id,
79 const wxString& defaultDirectory = wxEmptyString,
80 const wxString& defaultFilename = wxEmptyString,
81 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
82 long style = wxFC_DEFAULT_STYLE,
83 const wxPoint& pos = wxDefaultPosition,
84 const wxSize& size = wxDefaultSize,
85 const wxString& name = wxFileCtrlNameStr )
86 {
87 Init();
88 Create( parent, id, defaultDirectory, defaultFilename, wildCard, style, pos, size, name );
89 }
90
91 virtual ~wxGtkFileCtrl() {};
92
93 void Init();
94 bool Create( wxWindow *parent,
95 wxWindowID id,
96 const wxString& defaultDirectory = wxEmptyString,
97 const wxString& defaultFileName = wxEmptyString,
98 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
99 long style = wxFC_DEFAULT_STYLE,
100 const wxPoint& pos = wxDefaultPosition,
101 const wxSize& size = wxDefaultSize,
102 const wxString& name = wxFileCtrlNameStr );
103
104 virtual void SetWildcard( const wxString& wildCard );
105 virtual void SetFilterIndex( int filterIndex );
106 virtual bool SetDirectory( const wxString& dir );
107 virtual bool SetFilename( const wxString& name );
108 virtual bool SetPath( const wxString& path );
109
110 virtual wxString GetFilename() const;
111 virtual wxString GetDirectory() const;
112 virtual wxString GetWildcard() const { return this->m_wildCard; }
113 virtual wxString GetPath() const;
114 virtual void GetPaths( wxArrayString& paths ) const;
115 virtual void GetFilenames( wxArrayString& files ) const;
116 virtual int GetFilterIndex() const { return m_fc.GetFilterIndex(); }
117
118 virtual bool HasMultipleFileSelection() const { return HasFlag( wxFC_MULTIPLE ); }
119 virtual void ShowHidden(bool show);
120
121 virtual bool HasFilterChoice() const
122 { return m_fc.HasFilterChoice(); }
123
124
125 // Implementation only from now on.
126 bool GTKShouldIgnoreNextFilterEvent() const
127 { return m_fc.ShouldIgnoreNextFilterEvent(); }
128
129 bool m_checkNextSelEvent;
130 bool m_ignoreNextFolderChangeEvent;
131
132protected:
133 GtkFileChooser *m_fcWidget;
134 wxGtkFileChooser m_fc;
135 wxString m_wildCard;
136
137 DECLARE_DYNAMIC_CLASS( wxGtkFileCtrl )
138};
139
140#endif // wxUSE_FILECTRL
141
142#endif // _WX_GTK_FILECTRL_H_
143