QMimeSourceFactory - An extensible supply of MIME-typed
       data

       #include <qmime.h>

   Public Members
       QMimeSourceFactory ()
       virtual ~QMimeSourceFactory ()
       virtual const QMimeSource* data ( const QString & abs_name
           ) const
       virtual QString makeAbsolute ( const QString &
           abs_or_rel_name, const QString & context ) const
       const QMimeSource* data ( const QString & abs_or_rel_name,
           const QString & context ) const
       virtual void setText ( const QString & abs_name, const
           QString & text )
       virtual void setImage ( const QString & abs_name, const
           QImage & im )
       virtual void setPixmap ( const QString & abs_name, const
           QPixmap & pm )
       virtual void setData ( const QString & abs_name,
           QMimeSource * data )
       virtual void setFilePath ( const QStringList & )
       virtual QStringList filePath () const
       void addFilePath ( const QString & )
       virtual void setExtensionType ( const QString & ext, const
           char * mimetype )

   Static Public Members
       QMimeSourceFactory* defaultFactory ()
       void setDefaultFactory ( QMimeSourceFactory * )


DESCRIPTION

       An extensible supply of MIME-typed data.

       A QMimeSourceFactory provides an abstract interface to a
       collection of information. Each piece of information is
       represented by a QMimeSource object, which can be examined
       and converted to concrete data types by functions like
       QImageDrag::canDecode() and QImageDrag::decode().

       The base QMimeSourceFactory can be used in two ways: as an
       abstraction of a collection of files, or as specifically
       stored data. For it to access files, call setFilePath()
       before accessing data. For stored data, call setData() for
       each item (there are also convenience functions setText(),
       setImage(), and setPixmap() that simply call setData()
       with massaged parameters).

       The rich text widgets QTextView and QTextBrowser use
       QMimeSourceFactory to resolve references such as images or
       links within rich text documents. They either access the

       see QTextView::setMimeSourceFactory() ). Other classes
       that are capable of displaying rich text like QLabel,
       QWhatsThis or QMessageBox always use the default factory.

       As mentioned earlier, a factory can also be used as
       container to store data associated with a name. This
       technique is useful whenever rich text contains images
       that are stored in the program itself, not loaded from the
       hard disk. Your program may for example define some image
       data as

         static const char* myimage_xpm[]={
         "...",
         ...
         "..."};

       To be able to use this image within some rich text, for
       example inside a QLabel, you have to create a QImage from
       the raw data and insert it into the factory with a unique
       name:

         QMimeSourceFactory::defaultFactory()->setImage( "myimage", QImage(myimage_data) );

       Now you can create a rich text QLabel with

         QLabel* label = new QLabel(
             "Rich text with embedded image:<img source=\"myimage\">"
             "Isn't that <em>cute</em>?" );


MEMBER FUNCTION DOCUMENTATION


QMimeSourceFactory::QMimeSourceFactory ()

       Constructs a QMimeSourceFactory which has no file path and
       no stored content.


QMimeSourceFactory::~QMimeSourceFactory () [virtual]

       Destructs the QMimeSourceFactory, deleting all stored
       content.


void QMimeSourceFactory::addFilePath ( const QString & p )

       Adds another search path.

       See also setFilePath().


const QMimeSource* QMimeSourceFactory::data ( const QString &

       abs_name ) const [virtual]
       Returns a reference to the data associated with abs_name.
       The return value only remains valid until a subsequent
       call to this function for the same object, and only if
       setData() is not called to modify the data, so you should
       immediately decode the result.

       If there is no data associated with abs_name in the
       factory's store, the factory tries to access the local

       factory will search for it on all defined paths ( see
       setFilePath() ).

       The factory understands all image formats supported by
       QImageIO. Any other mime types are determined by the
       filename extension. The default settings are

         setExtensionType("html", "text/html;charset=iso8859-1");
         setExtensionType("htm", "text/html;charset=iso8859-1");
         setExtensionType("txt", "text/plain");
         setExtensionType("xml", "text/xml;charset=UTF-8");

       The effect of these is that filenames ending in "html" or
       "htm" will be treated as text encoded in the iso8859-1
       encoding, those ending in "txt" will be treated as text
       encoded in the local encoding; those ending in "xml" will
       be treated as text encoded in UTF8 encoding. The text
       subtype ("html"," plain", or "xml") does not affect the
       factory, but users of the factory may behave differently.
       We recommend creating "xml" files where practical as such
       files can be viewed regardless of the run-time encoding,
       and can encode any Unicode characters without resorting to
       encoding definitions inside the file.

       Any file data that is not recognized will be retrieved as
       a QMimeSource providing the "application/octet-stream"
       MIME type, which is just uninterpreted binary data. You
       can add further extensions or change existing ones with
       subsequent calls to setExtensionType(). If the extension
       mechanism is not sufficient for you problem domain, you
       may inherit QMimeSourceFactory and reimplement this
       function to perform some more clever mime type detection.
       The same applies if you want to use the mime source
       factory for accessing URL referenced data over a network.


const QMimeSource* QMimeSourceFactory::data ( const QString &

       abs_or_rel_name, const QString & context ) const
       A convenience function. See data(const QString& abs_name).


QMimeSourceFactory* QMimeSourceFactory::defaultFactory ()

       [static]
       Returns the application-wide default mime source factory.
       This factory is used by rich text rendering classes such
       as QSimpleRichText, QWhatsThis and also QMessageBox to
       resolve named references within rich text documents. It
       serves also as initial factory for the more complex render
       widgets QTextView and QTextBrowser.

       See also setDefaultFactory().


QStringList QMimeSourceFactory::filePath () const [virtual]

       Returns the currently set search paths.

       abs_or_rel_name, const QString & context ) const [virtual]
       Converts the absolute or relative data item name
       abs_or_rel_name to an absolute name, interpreted within
       the context of the data item named context (this must be
       an absolute name).


void QMimeSourceFactory::setData ( const QString & abs_name,

       QMimeSource * data ) [virtual]
       Sets data to be the data item associated with the absolute
       name abs_name. Note that the ownership of data is
       transferred to the factory - do not delete or access the
       pointer after passing it to this function.


void QMimeSourceFactory::setDefaultFactory ( QMimeSourceFactory *

       factory ) [static]
       Sets the default factory, destroying any previously set
       mime source provider. The ownership of the factory is
       transferred.

       See also defaultFactory().


void QMimeSourceFactory::setExtensionType ( const QString & ext,

       const char * mimetype ) [virtual]
       Sets the MIME-type to be associated with a filename
       extension. This determines the MIME-type for files found
       via a path set by setFilePath().


void QMimeSourceFactory::setFilePath ( const QStringList & path )

       [virtual]
       Sets a list of directories which will be searched when
       named data is requested.

       See also filePath().


void QMimeSourceFactory::setImage ( const QString & abs_name,

       const QImage & image ) [virtual]
       Sets image to be the data item associated with the
       absolute name abs_name.

       Equivalent to setData(abs_name, new QImageDrag(image)).


void QMimeSourceFactory::setPixmap ( const QString & abs_name,

       const QPixmap & pixmap ) [virtual]
       Sets pixmap to be the data item associated with the
       absolute name abs_name.


void QMimeSourceFactory::setText ( const QString & abs_name,

       const QString & text ) [virtual]
       Sets text to be the data item associated with the absolute
       name abs_name.

       Equivalent to setData(abs_name, new QTextDrag(text)).

       http://doc.trolltech.com/qmimesourcefactory.html
       http://www.trolltech.com/faq/tech.html


COPYRIGHT

       Copyright 1992-2001 Trolltech AS,
       http://www.trolltech.com.  See the license file included
       in the distribution for a complete license statement.


AUTHOR

       Generated automatically from the source code.


BUGS

       If you find a bug in Qt, please report it as described in
       http://doc.trolltech.com/bughowto.html.  Good bug reports
       make our job much simpler. Thank you.

       In case of content or formattting problems with this
       manual page, please report them to qt-bugs@trolltech.com.
       Please include the name of the manual page
       (qmimesourcefactory.3qt) and the Qt version (2.3.1).


Man(1) output converted with man2html