GFC Logo GFC Title Logo
Reference Manual
Main Page  |  Namespace List  |  Alphabetical List  |  Class List  |  File List

filefilter.hh

Go to the documentation of this file.
00001 /* GFC-UI: GTK+ Foundation Classes (User Interface Library) 00002 * Copyright (C) 2004 The GFC Development Team. 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00023 00024 #ifndef GFC_GTK_FILE_FILTER_HH 00025 #define GFC_GTK_FILE_FILTER_HH 00026 00027 #ifndef GFC_GTK_OBJECT_HH 00028 #include <gfc/gtk/object.hh> 00029 #endif 00030 00031 #ifndef __GTK_FILE_FILTER_H__ 00032 #include <gtk/gtkfilefilter.h> 00033 #endif 00034 00035 namespace GFC { 00036 00037 namespace Gtk { 00038 00043 00044 enum FileFilterFlags 00045 { 00046 FILE_FILTER_FILENAME = GTK_FILE_FILTER_FILENAME, 00047 FILE_FILTER_URI = GTK_FILE_FILTER_URI, 00048 FILE_FILTER_DISPLAY_NAME = GTK_FILE_FILTER_DISPLAY_NAME, 00049 FILE_FILTER_MIME_TYPE = GTK_FILE_FILTER_MIME_TYPE 00050 }; 00051 00053 00054 typedef unsigned int FileFilterFlagsField; 00055 00061 00062 struct FileFilterInfo 00063 { 00064 FileFilterFlagsField contains; 00065 String filename; 00066 String uri; 00067 String display_name; 00068 String mime_type; 00069 }; 00070 00075 00076 class FileFilter : public Object 00077 { 00078 friend class G::Object; 00079 00080 FileFilter(const FileFilter&); 00081 FileFilter& operator=(const FileFilter&); 00082 00083 protected: 00086 00087 explicit FileFilter(GtkFileFilter *filter, bool owns_reference = false); 00094 00096 00097 public: 00098 typedef sigc::slot<bool, const FileFilterInfo&> CustomSlot; 00106 00109 00110 FileFilter(); 00120 00121 virtual ~FileFilter(); 00123 00127 00128 GtkFileFilter* gtk_file_filter() const; 00130 00131 operator GtkFileFilter* () const; 00133 00134 String get_name() const; 00137 00141 00142 void set_name(const char *name); 00143 void set_name(const String& name); 00150 00151 void add_mime_type(const char *mime_type); 00152 void add_mime_type(const String& mime_type); 00155 00156 void add_pattern(const char *pattern); 00157 void add_pattern(const String& pattern); 00160 00161 void add_custom(FileFilterFlagsField needed, const CustomSlot& slot); 00171 00173 }; 00174 00175 } // namespace Gtk 00176 00177 } // namespace GFC 00178 00179 #include <gfc/gtk/inline/filefilter.inl> 00180 00181 #endif // GFC_GTK_FILE_FILTER_HH 00182

Generated on Tue Aug 24 00:34:31 2004 for GFC-UI by doxygen 1.3.8