diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 90825e2392b2d70e43c7a25b8a3752299a933894 (patch) | |
tree | e33aa27f02b74604afbfd0ea4f1cfca8833d882a /qtsharp/src/examples/tutorials/t7.cs | |
download | tdebindings-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 'qtsharp/src/examples/tutorials/t7.cs')
-rw-r--r-- | qtsharp/src/examples/tutorials/t7.cs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/qtsharp/src/examples/tutorials/t7.cs b/qtsharp/src/examples/tutorials/t7.cs new file mode 100644 index 00000000..de9011f2 --- /dev/null +++ b/qtsharp/src/examples/tutorials/t7.cs @@ -0,0 +1,78 @@ +// Qt# tutorial 7 +// Based on the Qt tutorial +// Implemented by Marcus Urban +// +// This example currently does not funtion properly because custom +// signals are not yet implemented. + +using System; +using Qt; + +[DeclareQtSignal ("valueChanged(int)")] +public class LCDRange : QVBox { + + QSlider slider; + + public LCDRange (QWidget parent, String name) : base (parent, name) + // In C++, parent and name have default values of 0 (null pointer) + { + QLCDNumber lcd = new QLCDNumber (2, this, "lcd" ); + slider = new QSlider (Orientation.Horizontal, this, "slider"); + slider.SetRange (0, 99); + slider.SetValue (0); + + Connect ( slider, SIGNAL ("valueChanged(int)"), lcd, SLOT ("Display(int)") ); + Connect ( slider, SIGNAL ("valueChanged(int)"), SIGNAL ("valueChanged(int)")); + } + + public LCDRange (QWidget parent) : this (parent, "") {} + public LCDRange () : this (null, "") {} + // Note that it was necessary to use an empty string ("") + // in the above. Using null does not work at runtime. + + public void SetValue (int value) + { + slider.SetValue (value); + } +} + +public class MyWidget : QVBox { + + MyWidget (QWidget parent, String name) : base (parent, name) + { + QPushButton quit = new QPushButton ("Quit", this, "quit"); + quit.SetFont ( new QFont ("Times", 18, QFont.Weight.Bold) ); + + Connect ( quit, SIGNAL ("clicked()"), qApp, SLOT ("Quit()") ); + + QGrid grid = new QGrid (4, this); + + LCDRange previous = null; + + for ( int c =0; c < 4; c++ ) { + for ( int r = 0; r < 4; r++ ) { + LCDRange lr = new LCDRange (grid); + if (previous != null) + Connect (lr, SIGNAL ("valueChanged(int)"), + previous, SLOT ("SetValue(int)") ); + previous = lr; + } + } + } + + public MyWidget (QWidget parent) : this (parent, "") {} + public MyWidget () : this (null, "") {} +} + +public class Example { + + public static int Main (String[] args) + { + QApplication a = new QApplication (args); + + MyWidget w = new MyWidget (); + a.SetMainWidget (w); + w.Show (); + return a.Exec (); + } +} |