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

FX::FXFileDict Class Reference

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. More...

#include <FXFileDict.h>

Inheritance diagram for FX::FXFileDict:

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

Public Member Functions

 FXFileDict (FXApp *a)
 FXFileDict (FXApp *a, FXSettings *db)
FXAppgetApp () const
void setIconPath (const FXString &path)
FXString getIconPath () const
FXFileAssocreplace (const FXchar *ext, const FXchar *str)
FXFileAssocremove (const FXchar *ext)
FXFileAssocfind (const FXchar *ext)
FXFileAssocassociate (const FXchar *key)
virtual FXFileAssocfindFileBinding (const FXchar *pathname)
virtual FXFileAssocfindDirBinding (const FXchar *pathname)
virtual FXFileAssocfindExecBinding (const FXchar *pathname)
virtual void save (FXStream &store) const
virtual void load (FXStream &store)
virtual ~FXFileDict ()

Static Public Attributes

const FXchar defaultExecBinding []
const FXchar defaultDirBinding []
const FXchar defaultFileBinding []

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.

virtual FX::FXFileDict::~FXFileDict  )  [virtual]
 

Destructor.


Member Function Documentation

FXApp* FX::FXFileDict::getApp  )  const [inline]
 

Get application.

void FX::FXFileDict::setIconPath const FXString path  ) 
 

Set icon search path.

FXString FX::FXFileDict::getIconPath  )  const
 

Return current icon search path.

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::remove const FXchar *  ext  ) 
 

Remove file association.

Reimplemented from FX::FXDict.

FXFileAssoc* FX::FXFileDict::find const FXchar *  ext  )  [inline]
 

Find file association already in dictionary.

FXFileAssoc* FX::FXFileDict::associate const FXchar *  key  ) 
 

Find file association from registry.

virtual 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.

virtual 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.

virtual 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.

virtual void FX::FXFileDict::save FXStream store  )  const [virtual]
 

Save to stream.

Reimplemented from FX::FXObject.

virtual void FX::FXFileDict::load FXStream store  )  [virtual]
 

Load from stream.

Reimplemented from FX::FXObject.


Member Data Documentation

const FXchar FX::FXFileDict::defaultExecBinding[] [static]
 

Registry key used to find fallback executable icons.

const FXchar FX::FXFileDict::defaultDirBinding[] [static]
 

Registry key used to find fallback directory icons.

const FXchar FX::FXFileDict::defaultFileBinding[] [static]
 

Registry key used to find fallback document icons.

Copyright © 1997-2004 Jeroen van der Zijp