summaryrefslogtreecommitdiffstats
path: root/kjsembed/docs/examples/dcop
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit90825e2392b2d70e43c7a25b8a3752299a933894 (patch)
treee33aa27f02b74604afbfd0ea4f1cfca8833d882a /kjsembed/docs/examples/dcop
downloadtdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz
tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kjsembed/docs/examples/dcop')
-rwxr-xr-xkjsembed/docs/examples/dcop/interface.js17
-rwxr-xr-xkjsembed/docs/examples/dcop/rss.js39
-rwxr-xr-xkjsembed/docs/examples/dcop/signalslot.js25
-rwxr-xr-xkjsembed/docs/examples/dcop/weather.js25
4 files changed, 106 insertions, 0 deletions
diff --git a/kjsembed/docs/examples/dcop/interface.js b/kjsembed/docs/examples/dcop/interface.js
new file mode 100755
index 00000000..ed699768
--- /dev/null
+++ b/kjsembed/docs/examples/dcop/interface.js
@@ -0,0 +1,17 @@
+#!/usr/bin/env kjscmd
+
+function someInterface( foo )
+{
+ println("Foo happend with " + foo );
+}
+
+function anotherInterface( bar )
+{
+ return "Bar " + bar;
+}
+
+var dcop = new DCOPInterface(this, "someInterface");
+dcop.publish("void someInterface(QString)");
+dcop.publish("QString anotherInterface(QString)");
+
+application.exec();
diff --git a/kjsembed/docs/examples/dcop/rss.js b/kjsembed/docs/examples/dcop/rss.js
new file mode 100755
index 00000000..c1eb3882
--- /dev/null
+++ b/kjsembed/docs/examples/dcop/rss.js
@@ -0,0 +1,39 @@
+#!/usr/bin/env kjscmd
+
+function newArticles( articles )
+{
+
+ var box = new QVBox(main);
+ var count = articles.call("count()");
+ var label = new QLabel(box);
+ var list = new KListBox(box);
+
+
+ label.text = count + " articles for " + articles.call("title()");
+ for( var idx = 0; idx < count; ++idx)
+ {
+ var article = articles.call("article(int)", idx);
+ list.insertItem( article.call( "title()" ));
+ }
+ box.show();
+ return true;
+}
+
+var main = new QHBox(this)
+var dcop = new DCOPInterface(this, "news");
+dcop.publish("void newArticles(DCOPRef)");
+
+var client = new DCOPClient(this);
+var feeds = client.call( "rssservice", "RSSService", "list()" );
+
+for( var idx = 0; idx < feeds.length; ++idx)
+{
+ var doc = client.call( "rssservice", "RSSService", "add(QString)", feeds[idx] );
+ client.connectDCOPSignal("rssservice", doc.obj(), "documentUpdated(DCOPRef)",
+ "news","newArticles(DCOPRef)");
+ doc.call("refresh()");
+}
+main.show();
+
+application.exec();
+
diff --git a/kjsembed/docs/examples/dcop/signalslot.js b/kjsembed/docs/examples/dcop/signalslot.js
new file mode 100755
index 00000000..884faa29
--- /dev/null
+++ b/kjsembed/docs/examples/dcop/signalslot.js
@@ -0,0 +1,25 @@
+#!/usr/bin/env kjscmd
+
+function newWeather( station )
+{
+ var temp = client.call("KWeatherService", "WeatherService", "temperature(QString)", "KMKE");
+ var name = client.call("KWeatherService", "WeatherService", "stationName(QString)", "KMKE");
+ var label = new QLabel(this);
+ label.text = "The temperature at " + name + " is " + temp;
+ label.show();
+}
+
+var client = new DCOPClient(this);
+if ( client.attach() )
+{
+ var dcop = new DCOPInterface(this, "weather");
+ dcop.publish("void newWeather(QString)");
+
+ client.connectDCOPSignal("KWeatherService", "WeatherService", "fileUpdate(QString)",
+ "weather","newWeather(QString)");
+
+
+ client.send("KWeatherService", "WeatherService", "update(QString)", "KMKE");
+
+ application.exec();
+}
diff --git a/kjsembed/docs/examples/dcop/weather.js b/kjsembed/docs/examples/dcop/weather.js
new file mode 100755
index 00000000..8d8a59c3
--- /dev/null
+++ b/kjsembed/docs/examples/dcop/weather.js
@@ -0,0 +1,25 @@
+#!/usr/bin/env kjscmd
+
+var dcop = new DCOPClient(this);
+var box = new QHBox(this);
+var go = new KPushButton(box);
+var loc = new KLineEdit(box);
+
+go.pixmap = StdIcons.DesktopIcon("go",32);
+go.connect(go, "clicked()", this, "getWeather");
+
+dcop.attach();
+box.show();
+
+function getWeather()
+{
+ if ( dcop.isAttached() )
+ {
+ var icn = new Image(this);
+ icn.pixmap = dcop.call("KWeatherService","WeatherService","icon(QString)", loc.text);
+ icn.smoothScale(32,32);
+ go.pixmap = icn.pixmap;
+ }
+}
+
+application.exec();