lib/ewl_filepicker.h
Go to the documentation of this file.00001
00002 #ifndef EWL_FILEPICKER_H
00003 #define EWL_FILEPICKER_H
00004
00005 #include "ewl_box.h"
00006 #include "ewl_view.h"
00007 #include "ewl_model.h"
00008 #include "ewl_filelist.h"
00009
00026 #define EWL_FILEPICKER_TYPE "filepicker"
00027
00032 #define EWL_FILEPICKER_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_FILEPICKER_TYPE))
00033
00037 typedef struct Ewl_Filepicker Ewl_Filepicker;
00038
00043 #define EWL_FILEPICKER(fp) ((Ewl_Filepicker *)fp)
00044
00048 struct Ewl_Filepicker
00049 {
00050 Ewl_Box box;
00052 Ewl_Widget *file_list;
00054 Ewl_Widget *type_combo;
00055 Ewl_Widget *file_entry;
00056 Ewl_Widget *favorites_box;
00057 Ewl_Widget *path_combo;
00058 Ewl_Widget *dir_button;
00059 Ewl_Widget *ret_button;
00061 Ecore_List *path;
00062 Ecore_List *filters;
00064 struct
00065 {
00066 Ewl_Model *model;
00067 Ewl_View *view;
00068 Ewl_Widget *combo;
00069 } mvc_filters, mvc_path;
00070
00071 unsigned char show_favorites:1;
00072 unsigned char saveas_dialog:1;
00073 unsigned char ret_dir:1;
00075 };
00076
00077 Ewl_Widget *ewl_filepicker_new(void);
00078 int ewl_filepicker_init(Ewl_Filepicker *fp);
00079
00080 void ewl_filepicker_directory_set(Ewl_Filepicker *fp,
00081 const char *dir);
00082 const char *ewl_filepicker_directory_get(Ewl_Filepicker *fp);
00083
00084 void ewl_filepicker_filter_set(Ewl_Filepicker *fp,
00085 Ewl_Filelist_Filter *filter);
00086 Ewl_Filelist_Filter *ewl_filepicker_filter_get(Ewl_Filepicker *fp);
00087
00088 void ewl_filepicker_multiselect_set(Ewl_Filepicker *fp,
00089 unsigned int ms);
00090 unsigned int ewl_filepicker_multiselect_get(Ewl_Filepicker *fp);
00091
00092 void ewl_filepicker_show_dot_files_set(Ewl_Filepicker *fp,
00093 unsigned int dot);
00094 unsigned int ewl_filepicker_show_dot_files_get(Ewl_Filepicker *fp);
00095
00096 void ewl_filepicker_selected_file_set(Ewl_Filepicker *fp,
00097 const char *file);
00098 char *ewl_filepicker_selected_file_get(Ewl_Filepicker *fp);
00099
00100 void ewl_filepicker_selected_files_set(Ewl_Filepicker *fp,
00101 Ecore_List *files);
00102 Ecore_List *ewl_filepicker_selected_files_get(Ewl_Filepicker *fp);
00103
00104 void ewl_filepicker_show_favorites_set(Ewl_Filepicker *fp,
00105 unsigned int show);
00106 unsigned int ewl_filepicker_show_favorites_get(Ewl_Filepicker *fp);
00107
00108 void ewl_filepicker_list_view_set(Ewl_Filepicker *fp,
00109 Ewl_Filelist_View view);
00110 Ewl_Filelist_View *ewl_filepicker_list_view_get(Ewl_Filepicker *fp);
00111
00112 Ewl_Filelist_Filter *ewl_filepicker_filter_add(Ewl_Filepicker *fp,
00113 const char *name,
00114 const char *extension,
00115 Ecore_List *mime_types);
00116 void ewl_filepicker_save_as_set(Ewl_Filepicker *fp,
00117 unsigned int t);
00118 unsigned int ewl_filepicker_save_as_get(Ewl_Filepicker *fp);
00119 void ewl_filepicker_return_directories_set(Ewl_Filepicker *fp,
00120 unsigned int t);
00121 unsigned int ewl_filepicker_return_directories_get(Ewl_Filepicker *fp);
00122 Ewl_Widget *ewl_filepicker_save_as_new(void);
00127 #endif
00128