[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kjsembed
Subject:    [kjsembed] kdebindings/kjsembed/docs/embedding/simple-embed
From:       Ian Reinhart Geiser <geiseri () kde ! org>
Date:       2005-02-21 14:06:42
Message-ID: 20050221140642.035E818862 () office ! kde ! org
[Download RAW message or body]

CVS commit by geiseri: 

Show how to proxy complex objects back and forth between Javascript and
C++.  This demo now covers complex values, QObject bindings and calling 
javascript methods from C++


  M +19 -0     embedviewimp.cpp   1.3
  M +4 -0      embedviewimp.h   1.3
  M +2 -2      test.js   1.3


--- kdebindings/kjsembed/docs/embedding/simple-embed/embedviewimp.cpp  #1.2:1.3
@@ -24,4 +24,5 @@ EmbedViewImp::EmbedViewImp(QWidget *pare
     m_part->addObject(m_title, "Title");
     m_part->addObject(m_customOptions, "CustomOptions");
+    m_part->addObject(this, "EmbedInterface");
 }
 
@@ -43,4 +44,7 @@ void EmbedViewImp::okClicked()
 void EmbedViewImp::cancelClicked()
 {
+    m_name->setText("");
+    m_title->setText("");
+    m_dept->setText("");
 }
 
@@ -55,5 +59,20 @@ bool EmbedViewImp::runScript( const QStr
 }
 
+QVariant EmbedViewImp::someValue() const
+{
+    QMap<QString,QVariant> returnMap;
+    returnMap["name"] = m_name->text(); 
+    returnMap["title"] = m_title->text();       
+    returnMap["dept"] = m_dept->text(); 
+    return QVariant(returnMap);
+}
 
+void EmbedViewImp::setSomeValue( const QVariant &val )
+{
+    QMap<QString,QVariant> map = val.toMap();
+    m_name->setText(map["name"].toString());
+    m_title->setText(map["title"].toString());
+    m_dept->setText(map["dept"].toString());
+}
 
 #include "embedviewimp.moc"

--- kdebindings/kjsembed/docs/embedding/simple-embed/embedviewimp.h  #1.2:1.3
@@ -24,4 +25,7 @@ public slots:
     virtual void okClicked();
     virtual void consoleClicked();
+
+    QVariant someValue() const;
+    void setSomeValue( const QVariant &var );
 private:
     KJSEmbed::KJSEmbedPart *m_part;

--- kdebindings/kjsembed/docs/embedding/simple-embed/test.js  #1.2:1.3
@@ -22,6 +22,6 @@
 function handleOk()
 {
-      var personelData = {birthday:birthday.date, eyeColor:eyeColor.color, notes:notes.text };
-//var personelData = [];
+      var personelData = []; // make this an array so it will convert properly
+      personelData = {birthday:birthday.date, eyeColor:eyeColor.color, notes:notes.text };
 //    personelData[birthday] = birthday.date;
 //    personelData[eyeColor] = eyeColor.color;


_______________________________________________
kjsembed mailing list
kjsembed@kde.org
https://mail.kde.org/mailman/listinfo/kjsembed
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic