m_part->slotPrint();
}
-
-/*
- * OkularLiveConnectExtension class
- */
-#define OKULAR_EVAL_RES_OBJ_NAME "__okular_object"
-#define OKULAR_EVAL_RES_OBJ "this." OKULAR_EVAL_RES_OBJ_NAME
-
-OkularLiveConnectExtension::OkularLiveConnectExtension( Part *parent )
- : KParts::LiveConnectExtension( parent ), m_inEval( false )
-{
-}
-
-
-bool OkularLiveConnectExtension::get( const unsigned long objid, const QString &field,
- KParts::LiveConnectExtension::Type &type,
- unsigned long &retobjid, QString &value )
-{
- Q_UNUSED( value )
- retobjid = objid;
- bool result = false;
- if ( field == QLatin1String( "postMessage" ) )
- {
- type = KParts::LiveConnectExtension::TypeFunction;
- result = true;
- }
- return result;
-}
-
-
-bool OkularLiveConnectExtension::put( const unsigned long objid, const QString &field, const QString &value )
-{
- Q_UNUSED( objid )
- if ( m_inEval )
- {
- if ( field == QLatin1String( OKULAR_EVAL_RES_OBJ_NAME ) )
- m_evalRes = value;
- return true;
- }
-
- return false;
-}
-
-
-bool OkularLiveConnectExtension::call( const unsigned long objid, const QString &func, const QStringList &args,
- KParts::LiveConnectExtension::Type &type, unsigned long &retobjid, QString &value )
-{
- retobjid = objid;
- bool result = false;
- if ( func == QLatin1String( "postMessage" ) )
- {
- type = KParts::LiveConnectExtension::TypeVoid;
- postMessage( args );
- value = QString();
- result = true;
- }
- return result;
-}
-
-
-QString OkularLiveConnectExtension::eval( const QString &script )
-{
- KParts::LiveConnectExtension::ArgList args;
- args.append( qMakePair( KParts::LiveConnectExtension::TypeString, script ) );
- m_evalRes.clear();
- m_inEval = true;
- emit partEvent( 0, "eval", args );
- m_inEval = false;
- return m_evalRes;
-}
-
-
-void OkularLiveConnectExtension::postMessage( const QStringList &args )
-{
- QStringList arrayargs;
- Q_FOREACH ( const QString &arg, args )
- {
- QString newarg = arg;
- newarg.replace( '\'', "\\'" );
- arrayargs.append( "\"" + newarg + "\"" );
- }
- const QString arrayarg = '[' + arrayargs.join( ", " ) + ']';
- eval( "if (this.messageHandler && typeof this.messageHandler.onMessage == 'function') "
- "{ this.messageHandler.onMessage(" + arrayarg + ") }" );
-}
-
}
#include "moc_extensions.cpp"
Part *m_part;
};
-class OkularLiveConnectExtension : public KParts::LiveConnectExtension
-{
- Q_OBJECT
-
- public:
- OkularLiveConnectExtension( Part *parent );
-
- // from LiveConnectExtension
- virtual bool get( const unsigned long objid, const QString &field, Type &type,
- unsigned long &retobjid, QString &value );
- virtual bool put( const unsigned long objid, const QString &field, const QString &value );
- virtual bool call( const unsigned long objid, const QString &func, const QStringList &args,
- Type &type, unsigned long &retobjid, QString &value );
-
- private:
- QString eval( const QString &script );
- void postMessage( const QStringList &args );
-
- bool m_inEval;
- QString m_evalRes;
-};
-
}
#endif