Example Code for using x-qt-plugin with JavaScript and HTML Elements.
<form action="#" method="post" target="_self" onsubmit="return checkForm();"> ... <object type="application/x-qt-plugin" classid="XPasswordWidget" name="xPasswordWidget" width="450" height="180"> <param name="title" value="Enter your Password" valuetype="data" /> <param name="user" value="Test Username" valuetype="data" /> <param name="password" value="hjcms.de" valuetype="data" /> !!! Warning Warning Warning !!! do not write comments or different childNodes then <param.. if using "application/x-qt-plugin" qt4 will break initialisation if other childNodes in object.elements! </object> ... <input type="reset" onclick="document.xPasswordWidget.restore();" /> <input type="button" onclick="document.xPasswordWidget.status;" /> <input type="submit" /> ... <label>Username: <input type="text" value="" id="u_data" /> </label> </div> <div> <label>Password: <input type="text" value="" id="p_data" /> </label> ...
<script type="text/javascript"> /* <![CDATA[ */ function checkForm() { document.getElementById( "u_data" ).value = document.xPasswordWidget.user; document.getElementById( "p_data" ).value = document.xPasswordWidget.password; return document.xPasswordWidget.status; } /* ]]> */ </script>
#ifndef XPASSWORDWIDGET_H #define XPASSWORDWIDGET_H /* QtCore */ #include <QtCore/QObject> #include <QtCore/QString> /* QtGui */ #include <QtGui/QGroupBox> #include <QtGui/QLineEdit> #include <QtGui/QWidget> /* QtScript */ #include <QtScript/QScriptable> #include <QtScript/QScriptValue> /* XHTMLDBG Designer */ #include <widgetinterface.h> class Q_DECL_EXPORT XPasswordWidget : public QWidget , protected QScriptable { Q_OBJECT Q_PROPERTY ( QString title READ title WRITE setTitle ) Q_PROPERTY ( QString user READ user WRITE setUser ) Q_PROPERTY ( QString password READ password WRITE setPassword ) Q_PROPERTY ( bool status READ status ) private: QGroupBox* m_groupBox; QLineEdit* m_onwerLineEdit; QLineEdit* m_passLineEdit; private Q_SLOTS: void textModified ( const QString & ); public Q_SLOTS: void restore(); public: explicit XPasswordWidget ( QWidget * parent = 0 ); /** * Returns the Status of @ref isReady **/ bool status(); /** * Set Meta-Object Property Title for GroupBox **/ void setTitle ( const QString &t ); /** * Current GroupBox Title **/ QString title() const; /** * Set Meta-Object Property for Owner Edit **/ void setUser ( const QString &u ); /** * Current Owner Edit TextPlain Data **/ QString user() const; /** * Set Meta-Object Property for Password Edit **/ void setPassword ( const QString &p ); /** * Current Password Edit TextPlain Data **/ QString password() const; virtual ~XPasswordWidget(); }; #endif