diff options
Diffstat (limited to 'doc/html/qwidgetfactory.html')
-rw-r--r-- | doc/html/qwidgetfactory.html | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/doc/html/qwidgetfactory.html b/doc/html/qwidgetfactory.html new file mode 100644 index 000000000..26dea6085 --- /dev/null +++ b/doc/html/qwidgetfactory.html @@ -0,0 +1,168 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/uilib/qwidgetfactory.cpp:207 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>TQWidgetFactory Class</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQWidgetFactory Class Reference</h1> + +<p>The TQWidgetFactory class provides for the dynamic creation of widgets +from TQt Designer .ui files. +<a href="#details">More...</a> +<p><tt>#include <<a href="qwidgetfactory-h.html">qwidgetfactory.h</a>></tt> +<p><a href="qwidgetfactory-members.html">List of all member functions.</a> +<h2>Public Members</h2> +<ul> +<li class=fn><a href="#TQWidgetFactory"><b>TQWidgetFactory</b></a> ()</li> +<li class=fn>virtual <a href="#~TQWidgetFactory"><b>~TQWidgetFactory</b></a> ()</li> +<li class=fn>virtual TQWidget * <a href="#createWidget"><b>createWidget</b></a> ( const TQString & className, TQWidget * parent, const char * name ) const</li> +</ul> +<h2>Static Public Members</h2> +<ul> +<li class=fn>TQWidget * <a href="#create"><b>create</b></a> ( const TQString & uiFile, TQObject * connector = 0, TQWidget * parent = 0, const char * name = 0 )</li> +<li class=fn>TQWidget * <a href="#create-2"><b>create</b></a> ( TQIODevice * dev, TQObject * connector = 0, TQWidget * parent = 0, const char * name = 0 )</li> +<li class=fn>void <a href="#addWidgetFactory"><b>addWidgetFactory</b></a> ( TQWidgetFactory * factory )</li> +<li class=fn>void <a href="#loadImages"><b>loadImages</b></a> ( const TQString & dir )</li> +<li class=fn>TQStringList <a href="#widgets"><b>widgets</b></a> ()</li> +<li class=fn>bool <a href="#supportsWidget"><b>supportsWidget</b></a> ( const TQString & widget )</li> +</ul> +<hr><a name="details"></a><h2>Detailed Description</h2> + + +<p> The TQWidgetFactory class provides for the dynamic creation of widgets +from TQt Designer .ui files. +<p> This class basically offers two things: +<p> <ul> +<p> <li> Dynamically creating widgets from <a href="designer-manual.html">TQt + Designer</a> user interface description files. +You can do this using the static function <a href="#create">TQWidgetFactory::create</a>(). +This function also performs signal and slot connections, tab +ordering, etc., as defined in the .ui file, and returns the +top-level widget in the .ui file. After creating the widget you can +use <a href="qobject.html#child">TQObject::child</a>() and <a href="qobject.html#queryList">TQObject::queryList</a>() to access child +widgets of this returned widget. +<p> <li> Adding additional widget factories to be able to create custom +widgets. See <a href="#createWidget">createWidget</a>() for details. +<p> </ul> +<p> This class is not included in the TQt library itself. To use it you +must link against <tt>libtqui.so</tt> (Unix) or <tt>tqui.lib</tt> (Windows), which is +built into <tt>INSTALL/lib</tt> if you built <em>TQt Designer</em> (<tt>INSTALL</tt> is +the directory where TQt is installed ). +<p> If you create a <a href="qmainwindow.html">TQMainWindow</a> using a TQWidgetFactory, be aware that +it already has a central widget. Therefore, you need to delete this +one before setting another one. +<p> See the "Creating Dynamic Dialogs from .ui Files" section of the <a href="designer-manual.html">TQt Designer manual</a> for an example. See +also the <a href="qwidgetplugin.html">TQWidgetPlugin</a> class and the <a href="plugins-howto.html">Plugins documentation</a>. + +<hr><h2>Member Function Documentation</h2> +<h3 class=fn><a name="TQWidgetFactory"></a>TQWidgetFactory::TQWidgetFactory () +</h3> Constructs a TQWidgetFactory. +<h3 class=fn><a name="~TQWidgetFactory"></a>TQWidgetFactory::~TQWidgetFactory ()<tt> [virtual]</tt> +</h3> +Destructor. + +<h3 class=fn>void <a name="addWidgetFactory"></a>TQWidgetFactory::addWidgetFactory ( <a href="qwidgetfactory.html">TQWidgetFactory</a> * factory )<tt> [static]</tt> +</h3> Installs a widget factory <em>factory</em>, which normally contains +additional widgets that can then be created using a TQWidgetFactory. +See <a href="#createWidget">createWidget</a>() for further details. + +<h3 class=fn><a href="qwidget.html">TQWidget</a> * <a name="create"></a>TQWidgetFactory::create ( const <a href="qstring.html">TQString</a> & uiFile, <a href="qobject.html">TQObject</a> * connector = 0, <a href="qwidget.html">TQWidget</a> * parent = 0, const char * name = 0 )<tt> [static]</tt> +</h3> +<p> Loads the <em>TQt Designer</em> user interface description file <em>uiFile</em> +and returns the top-level widget in that description. <em>parent</em> and +<em>name</em> are passed to the constructor of the top-level widget. +<p> This function also performs signal and slot connections, tab +ordering, etc., as described in the .ui file. In <em>TQt Designer</em> it +is possible to add custom slots to a form and connect to them. If +you want these connections to be made, you must create a class +derived from <a href="qobject.html">TQObject</a>, which implements all these slots. Then pass an +instance of the object as <em>connector</em> to this function. If you do +this, the connections to the custom slots will be done using the <em>connector</em> as slot. +<p> If something fails, 0 is returned. +<p> The ownership of the returned widget is passed to the caller. + +<h3 class=fn><a href="qwidget.html">TQWidget</a> * <a name="create-2"></a>TQWidgetFactory::create ( <a href="qiodevice.html">TQIODevice</a> * dev, <a href="qobject.html">TQObject</a> * connector = 0, <a href="qwidget.html">TQWidget</a> * parent = 0, const char * name = 0 )<tt> [static]</tt> +</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Loads the user interface description from device <em>dev</em>. + +<h3 class=fn><a href="qwidget.html">TQWidget</a> * <a name="createWidget"></a>TQWidgetFactory::createWidget ( const <a href="qstring.html">TQString</a> & className, <a href="qwidget.html">TQWidget</a> * parent, const char * name ) const<tt> [virtual]</tt> +</h3> +Creates a widget of the type <em>className</em> passing <em>parent</em> and <em>name</em> to its constructor. +<p> If <em>className</em> is a widget in the TQt library, it is directly +created by this function. If the widget isn't in the TQt library, +each of the installed widget plugins is asked, in turn, to create +the widget. As soon as a plugin says it can create the widget it +is asked to do so. It may occur that none of the plugins can +create the widget, in which case each installed widget factory is +asked to create the widget (see <a href="#addWidgetFactory">addWidgetFactory</a>()). If the widget +cannot be created by any of these means, 0 is returned. +<p> If you have a custom widget, and want it to be created using the +widget factory, there are two approaches you can use: +<p> <ol type=1> +<p> <li> Write a widget plugin. This allows you to use the widget in +<em>TQt Designer</em> and in this TQWidgetFactory. See the widget plugin +documentation for further details. (See the "Creating Custom +Widgets with Plugins" section of the <a href="designer-manual.html">TQt + Designer manual</a> for an example. +<p> <li> Subclass TQWidgetFactory. Then reimplement this function to +create and return an instance of your custom widget if <em>className</em> equals the name of your widget, otherwise return 0. Then +at the beginning of your program where you want to use the widget +factory to create widgets do a: +<pre> + TQWidgetFactory::<a href="#addWidgetFactory">addWidgetFactory</a>( new MyWidgetFactory ); + </pre> + +where MyWidgetFactory is your TQWidgetFactory subclass. +<p> </ol> + +<h3 class=fn>void <a name="loadImages"></a>TQWidgetFactory::loadImages ( const <a href="qstring.html">TQString</a> & dir )<tt> [static]</tt> +</h3> +If you use a pixmap collection (which is the default for new +projects) rather than saving the pixmaps within the .ui XML file, +you must load the pixmap collection. TQWidgetFactory looks in the +default <a href="qmimesourcefactory.html">TQMimeSourceFactory</a> for the pixmaps. Either add it there +manually, or call this function and specify the directory where +the images can be found, as <em>dir</em>. This is normally the +directory called <tt>images</tt> in the project's directory. + +<h3 class=fn>bool <a name="supportsWidget"></a>TQWidgetFactory::supportsWidget ( const <a href="qstring.html">TQString</a> & widget )<tt> [static]</tt> +</h3> Returns TRUE if the widget factory can create the specified <em>widget</em>; +otherwise returns FALSE. +<h3 class=fn><a href="qstringlist.html">TQStringList</a> <a name="widgets"></a>TQWidgetFactory::widgets ()<tt> [static]</tt> +</h3> Returns the names of the widgets this factory can create. +<!-- eof --> +<hr><p> +This file is part of the <a href="index.html">TQt toolkit</a>. +Copyright © 1995-2007 +<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>TQt 3.3.8</div> +</table></div></address></body> +</html> |