<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.2-espenr-29145/qt-x11-free-3.2.3/extensions/nsplugin/examples/trivial/trivial.doc:1 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Trivial Example</title> <style type="text/css"><!-- h3.fn,span.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>Trivial Example</h1> <p> This example is trivial, and thus useful for investigating problems you might have installing the extension. <p> To build the example, you must first build the <a href="netscape-plugin.html">Qt Netscape Plugin Extension</a> library. Then type <tt>make</tt> in <tt>extensions/nsplugin/examples/trivial/</tt> and copy the resulting <tt>trivial.so</tt> or <tt>nptrivial.dll</tt> to the Plugins directory of your WWW browser. <p> <EMBED TYPE=trivial/very WIDTH=100 HEIGHT=100> <p> <hr> Implementation: <p> <pre>// Qt stuff #include "qnp.h" #include <<a href="qpainter-h.html">qpainter.h</a>> #include <<a href="qmessagebox-h.html">qmessagebox.h</a>> class Trivial : public <a href="qnpwidget.html">QNPWidget</a> { <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> public: void mouseReleaseEvent(QMouseEvent* event) { <a name="x2547"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>(this); } void paintEvent(QPaintEvent* event) { <a href="qpainter.html">QPainter</a> p(this); <a name="x2550"></a> p.<a href="qpainter.html#setClipRect">setClipRect</a>(event->rect()); int w = width(); <a name="x2548"></a> p.<a href="qpainter.html#drawRect">drawRect</a>(rect()); <a name="x2549"></a> p.<a href="qpainter.html#drawText">drawText</a>(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, "Trivial!"); } }; class TrivialInstance : public <a href="qnpinstance.html">QNPInstance</a> { Q_OBJECT public: <a href="qnpwidget.html">QNPWidget</a>* newWindow() { return new Trivial; } void print(QPainter* p) { p-><a href="qpainter.html#drawText">drawText</a>(0,0,"Hello"); } }; class TrivialPlugin : public <a href="qnplugin.html">QNPlugin</a> { public: <a href="qnpinstance.html">QNPInstance</a>* newInstance() { return new TrivialInstance; } const char* getMIMEDescription() const { return "trivial/very:xxx:Trivial and useless"; } const char * getPluginNameString() const { return "Trivial Qt-based Plugin"; } const char * getPluginDescriptionString() const { return "A Qt-based LiveConnected plug-in that does nothing"; } }; QNPlugin* QNPlugin::create() { return new TrivialPlugin; } #include "trivial.moc" </pre> <p>See also <a href="nsplugin-examples.html">Netscape Plugin Examples</a>. <!-- eof --> <p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2003 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>Qt 3.2.3</div> </table></div></address></body> </html>