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

FX::FXFileDict Class Reference

#include <FXFileDict.h>

Inheritance diagram for FX::FXFileDict:

FX::FXDict FX::FXObject List of all members.

Public Methods

 FXFileDict (FXApp *a)
 FXFileDict (FXApp *a, FXSettings *db)
FXAppgetApp () const
 Get application.

void setIconPath (const FXString &path)
 Set icon search path.

FXString getIconPath () const
 Return current icon search path.

FXFileAssocreplace (const FXchar *ext, const FXchar *str)
FXFileAssocremove (const FXchar *ext)
 Remove file association.

FXFileAssocfind (const FXchar *ext)
 Find file association already in dictionary.

FXFileAssocassociate (const FXchar *key)
 Find file association from registry.

virtual FXFileAssocfindFileBinding (const FXchar *pathname)
virtual FXFileAssocfindDirBinding (const FXchar *pathname)
virtual FXFileAssocfindExecBinding (const FXchar *pathname)
virtual void save (FXStream &store) const
 Save to stream.

virtual void load (FXStream &store)
 Load from stream.

virtual ~FXFileDict ()
 Destructor.


Static Public Attributes

const FXchar defaultExecBinding [] = "defaultexecbinding"
 Registry key used to find fallback executable icons.

const FXchar defaultDirBinding [] = "defaultdirbinding"
 Registry key used to find fallback directory icons.

const FXchar defaultFileBinding [] = "defaultfilebinding"
 Registry key used to find fallback document icons.


Detailed Description

The File Association dictionary associates a file extension with a FXFileAssoc record which contains command name, mime type, icons, and other information about the file type. The Registry is used as source of the file bindings; an alternative Settings database may be specified however.


Constructor & Destructor Documentation

FX::FXFileDict::FXFileDict FXApp   a
 

Construct a dictionary mapping file-extension to file associations, using the application registry settings as a source for the bindings.

FX::FXFileDict::FXFileDict FXApp   a,
FXSettings   db
 

Construct a dictionary mapping file-extension to file associations, using the specified settings database as a source for the bindings.


Member Function Documentation

FXFileAssoc * FX::FXFileDict::replace const FXchar *    ext,
const FXchar *    str
 

Replace file association. The new association is written into the settings database under the FILETYPES section; the format of the association is as follows:

<extension> = "<command> ; <type> ; <bigicon> [ : <bigopenicon> ] ; <smallicon> [ : <smalliconopen> ] ; <mimetype>"

Where <command> is the command used to launch the application (e.g. "xv s &"), and <type> is the file type string (e.g. "GIF Image"), <bigicon> and <bigiconopen> are the large icons shown in "Icons" mode, <smallicon> and <smalliconopen> are the small icons shown in "Details" mode, and <mimetype> is the RFC2045 mime type of the file.

For example:

[FILETYPES] gif="xv s &;GIF Image;big.xpm:bigopen.xpm;mini.xpm:miniopen.xpm;image/gif" /home/jeroen=";Home;home.xpm;minihome.xpm;application/x-folder"

FXFileAssoc * FX::FXFileDict::findFileBinding const FXchar *    pathname [virtual]
 

Determine binding for the given file. The default implementation tries the whole filename first, then tries the extensions. For example, for a file "source.tar.gz":

"source.tar.gz", "tar.gz", "gz"

are tried in succession. If no association is found the key "defaultfilebinding" is tried as a fallback association. A NULL is returned if no association of any kind is found.

FXFileAssoc * FX::FXFileDict::findDirBinding const FXchar *    pathname [virtual]
 

Find directory binding from registry. The default implementation tries the whole pathname first, then tries successively smaller parts of the path. For example, a pathname "/usr/people/jeroen":

"/usr/people/jeroen" "/people/jeroen" "/jeroen"

are tried in succession. If no bindings are found, the key "defaultdirbinding" is tried as a fallback association. A NULL is returned if no association of any kind is found.

FXFileAssoc * FX::FXFileDict::findExecBinding const FXchar *    pathname [virtual]
 

Determine binding for the given executable. The default implementation returns the fallback binding associated with the key "defaultexecbinding". A NULL is returned if no association of any kind is found.