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