From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/qmimesourcefactory.html | 277 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 doc/html/qmimesourcefactory.html (limited to 'doc/html/qmimesourcefactory.html') diff --git a/doc/html/qmimesourcefactory.html b/doc/html/qmimesourcefactory.html new file mode 100644 index 0000000..d925c65 --- /dev/null +++ b/doc/html/qmimesourcefactory.html @@ -0,0 +1,277 @@ + + + + + +QMimeSourceFactory Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QMimeSourceFactory Class Reference

+ +

The QMimeSourceFactory class is an extensible provider of mime-typed data. +More... +

#include <qmime.h> +

List of all member functions. +

Public Members

+ +

Static Public Members

+ +

Detailed Description

+ + +The QMimeSourceFactory class is an extensible provider 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 such as +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, e.g. setText(), setImage() and +setPixmap(), that simply call setData() with appropriate +parameters). +

The rich text widgets, QTextEdit and QTextBrowser, use +QMimeSourceFactory to resolve references such as images or links +within rich text documents. They either access the default factory +(see defaultFactory()) or their own (see +QTextEdit::setMimeSourceFactory()). Other classes that are +capable of displaying rich text (such as QLabel, QWhatsThis or +QMessageBox) always use the default factory. +

A factory can also be used as a 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_data[]={
+    "...",
+    ...
+    "..."};
+    
+ +

To be able to use this image within some rich text, for example +inside a QLabel, you must 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>?" );
+    
+ +

When no longer needed, you can clear the data from the factory: +

+    delete label;
+    QMimeSourceFactory::defaultFactory()->setData( "myimage", 0 );
+    
+ +

See also Environment Classes and Input/Output and Networking. + +


Member Function Documentation

+

QMimeSourceFactory::QMimeSourceFactory () +

+Constructs a QMimeSourceFactory that has no file path and no +stored content. + +

QMimeSourceFactory::~QMimeSourceFactory () [virtual] +

+Destroys the QMimeSourceFactory, deleting all stored content. + +

void QMimeSourceFactory::addFactory ( QMimeSourceFactory * f ) [static] +

+Adds the QMimeSourceFactory f to the list of available +mimesource factories. If the defaultFactory() can't resolve a +data() it iterates over the list of installed mimesource factories +until the data can be resolved. +

See also removeFactory(). + +

void QMimeSourceFactory::addFilePath ( const QString & p ) +

+Adds another search path, p to the existing search paths. +

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 remains valid only until the next data() or setData() +call, 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 filesystem. If abs_name isn't an absolute file name, the factory will search for +it in all defined paths (see setFilePath()). +

The factory understands all the image formats supported by +QImageIO. Any other mime types are determined by the file name +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 file names ending in "txt" will be +treated as text encoded in the local encoding; those ending in +"xml" will be treated as text encoded in Unicode UTF-8 encoding. +The text/html type is treated specially, since the encoding can be +specified in the html file itself. "html" or "htm" will be treated +as text encoded in the encoding specified by the html meta tag, if +none could be found, the charset of the mime type will be used. +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. These files can be +viewed regardless of the runtime 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, +meaning 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 your problem domain, you can inherit +QMimeSourceFactory and reimplement this function to perform some +more specialized mime-type detection. The same applies if you want +to use the mime source factory to access URL referenced data over +a network. + +

const QMimeSource * QMimeSourceFactory::data ( const QString & abs_or_rel_name, const QString & context ) const +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

A convenience function. See data(const QString& abs_name). The +file name is given in abs_or_rel_name and the path is in context. + +

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 QMessageBox to resolve named +references within rich text documents. It serves also as the +initial factory for the more complex render widgets, QTextEdit and +QTextBrowser. +

See also setDefaultFactory(). + +

Examples: action/application.cpp and application/application.cpp. +

QStringList QMimeSourceFactory::filePath () const [virtual] +

+Returns the currently set search paths. + +

QString QMimeSourceFactory::makeAbsolute ( const QString & 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 (path) of the data item named context (this must be an +absolute name). + +

void QMimeSourceFactory::removeFactory ( QMimeSourceFactory * f ) [static] +

+Removes the mimesource factory f from the list of available +mimesource factories. +

See also addFactory(). + +

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

Passing 0 for data removes previously stored data. + +

void QMimeSourceFactory::setDefaultFactory ( QMimeSourceFactory * factory ) [static] +

+Sets the default factory, destroying any previously set mime +source provider. The ownership of the factory is transferred to +Qt. +

See also defaultFactory(). + +

void QMimeSourceFactory::setExtensionType ( const QString & ext, const char * mimetype ) [virtual] +

+Sets the mime-type to be associated with the file name extension, +ext to mimetype. This determines the mime-type for files +found via the paths set by setFilePath(). + +

void QMimeSourceFactory::setFilePath ( const QStringList & path ) [virtual] +

+Sets the list of directories that will be searched when named data +is requested to the those given in the string list path. +

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)). + +

QMimeSourceFactory * QMimeSourceFactory::takeDefaultFactory () [static] +

+Sets the defaultFactory() to 0 and returns the previous one. + + +

+This file is part of the Qt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.1