summaryrefslogtreecommitdiffstats
path: root/korundum/rubylib/examples/uimodules/uimisc.rb
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 /korundum/rubylib/examples/uimodules/uimisc.rb
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 'korundum/rubylib/examples/uimodules/uimisc.rb')
-rw-r--r--korundum/rubylib/examples/uimodules/uimisc.rb273
1 files changed, 273 insertions, 0 deletions
diff --git a/korundum/rubylib/examples/uimodules/uimisc.rb b/korundum/rubylib/examples/uimodules/uimisc.rb
new file mode 100644
index 00000000..f9d70161
--- /dev/null
+++ b/korundum/rubylib/examples/uimodules/uimisc.rb
@@ -0,0 +1,273 @@
+=begin
+This is a ruby version of Jim Bublitz's pykde program, translated by Richard Dale
+=end
+
+require 'Korundum'
+
+module UIMisc
+
+class Page3 < Qt::Object
+ slots 'ivChanged()', 'fvChanged()', 'dvChanged()'
+
+ def initialize(parent)
+ super
+ page = parent.addPage()
+ x = 10
+ y = 15
+
+ green = Qt::Color.new(0, 255, 0)
+ yellow = Qt::Color.new(255, 255, 0)
+ red = Qt::Color.new(255, 0, 0)
+
+ ivLbl = Qt::Label.new("KIntValidator", page)
+ ivLbl.setGeometry(x, y, 100, 20)
+ ivLbl.show()
+
+ @iv = KDE::LineEdit.new(page)
+ @iv.setGeometry(x, y + 20, 100, 20)
+ @iv.show()
+ connect(@iv, SIGNAL("textChanged(const QString&)"), SLOT('ivChanged()'))
+
+ @ivVal = KDE::IntValidator.new(page)
+ @ivVal.setRange(20, 50)
+
+ ivRngLbl = Qt::Label.new("Range is 20 - 50", page)
+ ivRngLbl.setGeometry(x, y + 45, 100, 20)
+ ivRngLbl.show()
+
+ ivAccLbl = Qt::Label.new("Acceptable", page)
+ ivAccLbl.setGeometry(x + 125, y + 45, 85, 20)
+ ivAccLbl.show()
+ ivInterLbl = Qt::Label.new("Intermediate", page)
+ ivInterLbl.setGeometry(x + 125, y + 20, 85, 20)
+ ivInterLbl.show()
+ ivInvalLbl = Qt::Label.new("Invalid", page)
+ ivInvalLbl.setGeometry(x + 125, y - 5, 85, 20)
+ ivInvalLbl.show()
+ @ivInvalLed = KDE::Led.new(red, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @ivInvalLed.setGeometry(x + 215, y - 5, 18, 18)
+ @ivInvalLed.show()
+ @ivInterLed = KDE::Led.new(yellow, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @ivInterLed.setGeometry(x + 215, y + 20, 18, 18)
+ @ivInterLed.show()
+ @ivAccLed = KDE::Led.new(green, KDE::Led::On, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @ivAccLed.setGeometry(x + 215, y + 45, 18, 18)
+ @ivAccLed.show()
+
+ y = y + 100
+
+ fvLbl = Qt::Label.new("KDoubleValidator", page)
+ fvLbl.setGeometry(x, y, 100, 20)
+ fvLbl.show()
+
+ @fv = KDE::LineEdit.new(page)
+ @fv.setGeometry(x, y + 20, 100, 20)
+ @fv.show()
+ connect(@fv, SIGNAL("textChanged(const QString&)"), SLOT('fvChanged()'))
+
+ @fvVal = KDE::DoubleValidator.new(page)
+ @fvVal.setRange(10.0, 40.0)
+
+ fvRngLbl = Qt::Label.new("Range is 10.0 - 40.0", page)
+ fvRngLbl.setGeometry(x, y + 45, 100, 20)
+ fvRngLbl.show()
+
+ fvAccLbl = Qt::Label.new("Acceptable", page)
+ fvAccLbl.setGeometry(x + 125, y + 45, 85, 20)
+ fvAccLbl.show()
+ fvInterLbl = Qt::Label.new("Intermediate", page)
+ fvInterLbl.setGeometry(x + 125, y + 20, 95, 20)
+ fvInterLbl.show()
+ fvInvalLbl = Qt::Label.new("Invalid", page)
+ fvInvalLbl.setGeometry(x + 125, y - 5, 85, 20)
+ fvInvalLbl.show()
+ @fvInvalLed = KDE::Led.new(red, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @fvInvalLed.setGeometry(x + 215, y - 5, 18, 18)
+ @fvInvalLed.show()
+ @fvInterLed = KDE::Led.new(yellow, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @fvInterLed.setGeometry(x + 215, y + 20, 18, 18)
+ @fvInterLed.show()
+ @fvAccLed = KDE::Led.new(green, KDE::Led::On, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @fvAccLed.setGeometry(x + 215, y + 45, 18, 18)
+ @fvAccLed.show()
+
+ y = y + 100
+
+ dvLbl = Qt::Label.new("KDateValidator", page)
+ dvLbl.setGeometry(x, y, 100, 20)
+ dvLbl.show()
+
+ @dv = KDE::LineEdit.new(page)
+ @dv.setGeometry(x, y + 20, 100, 20)
+ @dv.show()
+# connect(dv, SIGNAL("textChanged(const QString&)"), SLOT('dvChanged()'))
+
+ @dvVal = KDE::DateValidator.new(page)
+# dvVal.setRange(10.0, 40.0)
+
+# dvRngLbl = Qt::Label.new("Range is 10.0 - 40.0", page)
+# dvRngLbl.setGeometry(x, y + 45, 100, 20)
+# dvRngLbl.show()
+
+ dvBtn = Qt::PushButton.new("Validate", page)
+ dvBtn.setGeometry(x, y + 45, 60, 22)
+ dvBtn.show()
+ connect(dvBtn, SIGNAL("clicked()"), SLOT('dvChanged()'))
+
+ dvNoteLbl = Qt::Label.new("Format is locale dependent\nShort date only\nTry DD-MM-YY", page)
+ dvNoteLbl.setGeometry(x, y + 70, 150, 60)
+ dvNoteLbl.show()
+
+ dvAccLbl = Qt::Label.new("Acceptable", page)
+ dvAccLbl.setGeometry(x + 125, y + 45, 85, 20)
+ dvAccLbl.show()
+ dvInterLbl = Qt::Label.new("Intermediate", page)
+ dvInterLbl.setGeometry(x + 125, y + 20, 85, 20)
+ dvInterLbl.show()
+ dvInvalLbl = Qt::Label.new("Invalid", page)
+ dvInvalLbl.setGeometry(x + 125, y - 5, 85, 20)
+ dvInvalLbl.show()
+ @dvInvalLed = KDE::Led.new(red, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @dvInvalLed.setGeometry(x + 215, y - 5, 18, 18)
+ @dvInvalLed.show()
+ @dvInterLed = KDE::Led.new(yellow, KDE::Led::Off, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @dvInterLed.setGeometry(x + 215, y + 20, 18, 18)
+ @dvInterLed.show()
+ @dvAccLed = KDE::Led.new(green, KDE::Led::On, KDE::Led::Sunken, KDE::Led::Circular,page)
+ @dvAccLed.setGeometry(x + 215, y + 45, 18, 18)
+ @dvAccLed.show()
+ end
+
+ def ivChanged()
+ @ivInvalLed.off()
+ @ivInterLed.off()
+ @ivAccLed.off()
+
+ i = Qt::Integer.new(0)
+ state = @ivVal.validate(@iv.text(), i)
+
+ if state == Qt::Validator::Acceptable
+ @ivAccLed.on()
+ elsif state == Qt::Validator::Intermediate
+ @ivInterLed.on()
+ else
+ @ivInvalLed.on()
+ end
+ end
+
+ def fvChanged()
+ @fvInvalLed.off()
+ @fvInterLed.off()
+ @fvAccLed.off()
+
+ i = Qt::Integer.new(0)
+ state = @fvVal.validate(@fv.text(), i)
+
+ if state == Qt::Validator::Acceptable
+ @fvAccLed.on()
+ elsif state == Qt::Validator::Intermediate
+ @fvInterLed.on()
+ else
+ @fvInvalLed.on()
+ end
+ end
+
+ def dvChanged()
+ @dvInvalLed.off()
+ @dvInterLed.off()
+ @dvAccLed.off()
+
+ i = Qt::Integer.new(0)
+ state = @dvVal.validate(@dv.text(), i)
+
+ if state == Qt::Validator::Acceptable
+ @dvAccLed.on()
+ elsif state == Qt::Validator::Intermediate
+ @dvInterLed.on()
+ else
+ @dvInvalLed.on()
+ end
+ end
+end
+
+class PageNotImpl
+ def initialize(parent)
+ page = parent.addPage()
+
+ x = 10
+ y = 10
+
+ niLbl = Qt::Label.new("Nothing is currently implemented for this widget", page)
+ niLbl.setGeometry(x, y, 300, 20)
+ niLbl.show()
+ end
+end
+
+def UIMisc.miscKAlphaPainter(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKCModule(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKColor(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKColorDrag(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKCommand(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKCommandHistory(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKDockWindow(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKDoubleValidator(parent)
+ parent.currentPageObj = Page3.new(parent)
+end
+
+def UIMisc.miscKDateValidator(parent)
+ parent.currentPageObj = Page3.new(parent)
+end
+
+def UIMisc.miscKIntValidator(parent)
+ parent.currentPageObj = Page3.new(parent)
+end
+
+def UIMisc.miscKPixmapIO(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKSharedPixmap(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscKSystemTray(parent)
+ KDE::MessageBox.information(parent, "See the systray.rb example in the templates/ subdirectories")
+end
+
+def UIMisc.miscKThemeBase(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+def UIMisc.miscQXEmbed(parent)
+ parent.currentPageObj = PageNotImpl.new(parent)
+end
+
+if $0 == __FILE__
+ puts
+ puts "Please run uisampler.rb"
+ puts
+end
+
+end
+