Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_FileBrowser.h

00001 /*
00002  * $Id: Fl_FileBrowser.h,v 1.7 2003/03/30 18:44:56 parshin Exp $
00003  *
00004  * Extended Fast Light Toolkit (EFLTK)
00005  * Copyright (C) 2002-2003 by EDE-Team
00006  * WWW: http://www.sourceforge.net/projects/ede
00007  *
00008  * Fast Light Toolkit (FLTK)
00009  * Copyright (C) 1998-2003 by Bill Spitzak and others.
00010  * WWW: http://www.fltk.org
00011  *
00012  * This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00013  * version 2. See COPYING for details.
00014  *
00015  * Author : Mikko Lahteenmaki
00016  * Email  : mikko@fltk.net
00017  *
00018  * Please report all bugs and problems to "efltk-bugs@fltk.net"
00019  *
00020  */
00021 
00022 #ifndef _FL_FILEBROWSER_H_
00023 #define _FL_FILEBROWSER_H_
00024 
00025 #include "Fl_Util.h"
00026 #include "Fl_ListView.h"
00027 #include "Fl_ListView_Item.h"
00028 #include "Fl_Directory_DS.h"
00029 
00031 class FL_API Fl_File_Browser : public Fl_ListView
00032 {
00033 public:
00035     Fl_File_Browser(int x, int y, int w, int h, const char *label = 0);
00036 
00038     Fl_File_Browser(const char* l = 0,int layout_size=30,Fl_Align layout_al=FL_ALIGN_TOP,int label_w=100);
00039 
00040     // Set match pattern files
00041     void pattern(const char *pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00042     void pattern(const Fl_String &pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00043     const Fl_String &pattern() const { return m_dir_ds.pattern(); }
00044 
00045     // Set files show policy, according to Fl_Directory_DS
00046     char showpolicy() const { return m_dir_ds.showpolicy(); }
00047     void showpolicy(char type) { m_dir_ds.showpolicy(type); }
00048 
00049     // Load and set directory
00050     int load(const Fl_String &directory);
00051     int load(const char *directory) { Fl_String dir(directory); return load(dir); }
00052 
00053     // Set new directory
00054     void directory(const char *directory) { load(directory); }
00055     void directory(const Fl_String &directory) { load(directory); }
00056     const Fl_String &directory() const { return m_dir_ds.directory(); }
00057 
00058     // Returns relative selected filename.
00059     const Fl_String &filename() const;
00060     // Returns absolute path of selected filename.
00061     Fl_String filename_full() const;
00062 
00063     // Go one dir up, and reload
00064     void up();
00065 
00066     // Returns pointer to item called "UP.."
00067     Fl_ListView_ItemExt *up_item() const { return m_up_item; }
00068 
00069     bool add_up_item() const { return m_add_up_item; }
00070     void add_up_item(bool val) { m_add_up_item = val; }
00071 
00072     // Backward compatibility:
00073     void filter(const char *pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00074     const char *filter() const { return m_dir_ds.pattern(); };
00075 
00076     // Default callback
00077     static void default_callback(Fl_Widget *, void *);
00078 
00079 private:
00080     bool m_add_up_item;
00081     Fl_ListView_ItemExt *m_up_item;
00082     Fl_Directory_DS m_dir_ds;
00083 };
00084 
00085 // Backward compatibility
00086 typedef Fl_File_Browser Fl_FileBrowser;
00087 
00088 #endif // !_FL_FILEBROWSER_H_
00089 
00090 //
00091 // End of "$Id: Fl_FileBrowser.h,v 1.7 2003/03/30 18:44:56 parshin Exp $".
00092 //

Generated on Thu Jul 31 15:33:43 2003 for eFLTK by doxygen1.2.15