23 #ifndef FL_NATIVE_FILE_CHOOSER_H
24 #define FL_NATIVE_FILE_CHOOSER_H
38 # define MAXFILTERS 80
42 #if ! defined(__APPLE__) && !defined(WIN32)
43 # include <FL/Fl_File_Chooser.H>
115 BROWSE_SAVE_DIRECTORY
119 SAVEAS_CONFIRM = 0x0001,
122 USE_FILTER_EXT = 0x0008
137 const char *filename()
const ;
138 const char *filename(
int i)
const ;
139 void directory(
const char *val) ;
140 const char *directory()
const;
141 void title(
const char *t);
142 const char* title()
const;
143 const char *filter()
const ;
144 void filter(
const char *f);
145 int filters()
const ;
146 void filter_value(
int i) ;
147 int filter_value()
const ;
148 void preset_file(
const char*f) ;
149 const char* preset_file()
const;
150 const char *errmsg()
const ;
170 void errmsg(
const char *msg);
172 void clear_pathnames();
173 void set_single_pathname(
const char *s);
174 void add_pathname(
const char *s);
176 void FreePIDL(LPITEMIDLIST pidl);
179 void Win2Unix(
char *s);
180 void Unix2Win(
char *s);
182 static int CALLBACK Dir_CB(HWND win, UINT msg, LPARAM param, LPARAM data);
185 void parse_filter(
const char *);
186 void clear_filters();
187 void add_filter(
const char *,
const char *);
207 char *_filt_patt[MAXFILTERS];
217 void errmsg(
const char *msg);
218 void clear_pathnames();
219 void set_single_pathname(
const char *s);
220 int get_saveas_basename(
void);
221 void clear_filters();
222 void add_filter(
const char *,
const char *);
223 void parse_filter(
const char *from);
228 #if ! defined(__APPLE__) && !defined(WIN32)
230 #if FLTK_ABI_VERSION <= 10302
242 static int have_looked_for_GTK_libs;
250 #if !defined(__APPLE__) && !defined(WIN32)
266 void errmsg(
const char *msg);
267 int type_fl_file(
int);
271 virtual void type(
int);
275 virtual int count()
const;
276 virtual const char *
filename()
const;
277 virtual const char *
filename(
int i)
const;
280 virtual void title(
const char *);
281 virtual const char*
title()
const;
282 const char *
filter()
const;
283 void filter(
const char *);
289 const char *
errmsg()
const;
297 typedef struct _GtkWidget GtkWidget;
298 typedef struct _GtkFileFilterInfo GtkFileFilterInfo;
313 mutable char *gtkw_filename;
315 const char *previous_filter;
317 int fl_gtk_chooser_wrapper();
320 static int did_find_GTK_libs;
321 static void probe_for_GTK_libs(
void);
322 virtual void type(
int);
323 virtual int count()
const;
324 virtual const char *filename()
const;
325 virtual const char *filename(
int i)
const;
326 virtual void title(
const char *);
327 virtual const char* title()
const;
329 void changed_output_type(
const char *filter);
331 static int custom_gtk_filter_function(
const GtkFileFilterInfo*, Fl_GTK_File_Chooser::pair*);
332 static void free_pair(pair *p);
334 #endif // !defined(__APPLE__) && !defined(WIN32)