summaryrefslogtreecommitdiffstats
path: root/korundum/rubylib/examples/dcop/dcopsend.rb
blob: 9365473b50b89f4ca328a655b8bd4231f11282d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env ruby

require 'Korundum'

class SenderWidget < KDE::PushButton
	def initialize(parent, name)
		super
		Qt::Object::connect(self, SIGNAL('clicked()'), self, SLOT('doit()'))
	end
	
	slots 'doit()'
	
	def doit()
		#
		# Note that there are three different ways to make a DCOP send():
		# 	1) dcopRef.send("mySlot(QString)", "Hello from dcopsend")
		# 	2) dcopRef.send("mySlot", "Hello from dcopsend")
		#
		dcopRef = KDE::DCOPRef.new("dcopslot", "MyWidget")
		res = dcopRef.send("mySlot", "Hello from dcopsend")
		if res
			puts "Sent dcop message"
		else
			puts "DCOP send failed"
		end
	end
end

about = KDE::AboutData.new("dcopsend", "DCOPSendTest", "0.1")
KDE::CmdLineArgs.init(ARGV, about)
a = KDE::Application.new()
sender = SenderWidget.new(nil, "senderwidget") { setText 'DCOP Send Test' }
a.setMainWidget(sender)
sender.show()
a.exec()