summaryrefslogtreecommitdiffstats
path: root/qtruby/rubylib/examples/passivepopup/passivepopup.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qtruby/rubylib/examples/passivepopup/passivepopup.rb')
-rw-r--r--qtruby/rubylib/examples/passivepopup/passivepopup.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/qtruby/rubylib/examples/passivepopup/passivepopup.rb b/qtruby/rubylib/examples/passivepopup/passivepopup.rb
new file mode 100644
index 00000000..37f60c1f
--- /dev/null
+++ b/qtruby/rubylib/examples/passivepopup/passivepopup.rb
@@ -0,0 +1,39 @@
+#!/usr/bin/env ruby
+
+require 'Qt'
+
+class PassiveWindow < Qt::Frame
+ MARGIN = 20
+
+ def initialize(message)
+ super(nil, "passivedlg",
+ Qt::WStyle_Customize | Qt::WX11BypassWM | Qt::WStyle_StaysOnTop |
+ Qt::WStyle_Tool | Qt::WStyle_NoBorder)
+
+ setFrameStyle(Qt::Frame::Box| Qt::Frame::Plain)
+ setLineWidth(2)
+
+ setMinimumWidth(100)
+ layout=Qt::VBoxLayout.new(self, 6, 11)
+ layout.setAutoAdd(true)
+ Qt::Label.new(message, self)
+
+ quit=Qt::PushButton.new(tr("Close"), self)
+ connect(quit, SIGNAL("clicked()"), SLOT("close()"))
+ end
+
+ def show
+ super
+ move(Qt::Application.desktop().width() - width() - MARGIN,
+ Qt::Application.desktop().height() - height() - MARGIN)
+ end
+end
+
+if (Process.fork != nil)
+ exit
+end
+app = Qt::Application.new(ARGV)
+win = PassiveWindow.new(ARGV[0])
+app.mainWidget = win
+win.show
+app.exec