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 /qtjava/javalib/tutorial/t9 | |
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 'qtjava/javalib/tutorial/t9')
-rw-r--r-- | qtjava/javalib/tutorial/t9/CannonField.java | 43 | ||||
-rw-r--r-- | qtjava/javalib/tutorial/t9/LCDRange.java | 38 | ||||
-rw-r--r-- | qtjava/javalib/tutorial/t9/Tut9.java | 52 |
3 files changed, 133 insertions, 0 deletions
diff --git a/qtjava/javalib/tutorial/t9/CannonField.java b/qtjava/javalib/tutorial/t9/CannonField.java new file mode 100644 index 00000000..e8bc506f --- /dev/null +++ b/qtjava/javalib/tutorial/t9/CannonField.java @@ -0,0 +1,43 @@ +import org.kde.qt.*; + +public class CannonField extends QWidget { + private int ang; + + public CannonField(QWidget parent, String name) { + super(parent, name); + ang = 45; + setPalette(new QPalette(new QColor(250, 250, 200))); + } + + public int angle() { + return ang; + } + + public void setAngle(int degrees) { + if (degrees < 5) + degrees = 5; + if (degrees > 70) + degrees = 70; + if (ang == degrees) + return; + ang = degrees; + repaint(); + emit("angleChanged", ang); + } + + public void paintEvent(QPaintEvent e) { + QPainter p = new QPainter(this); + + p.setBrush(blue()); + p.setPen(NoPen); + + p.translate(0, rect().bottom()); + p.drawPie(new QRect(-35, -35, 70, 70), 0, 90*16); + p.rotate(-ang); + p.drawRect(new QRect(33, -4, 15, 8)); + } + + public QSizePolicy sizePolicy() { + return new QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding); + } +} diff --git a/qtjava/javalib/tutorial/t9/LCDRange.java b/qtjava/javalib/tutorial/t9/LCDRange.java new file mode 100644 index 00000000..7bbb9886 --- /dev/null +++ b/qtjava/javalib/tutorial/t9/LCDRange.java @@ -0,0 +1,38 @@ +import org.kde.qt.*; + +public class LCDRange extends QVBox { + private QSlider slider; + + public LCDRange(QWidget parent, String name) { + super(parent, name); + QLCDNumber lcd = new QLCDNumber(2, this, "lcd"); + slider = new QSlider(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)")); + + setFocusProxy(slider); + } + + public int value() { + return slider.value(); + } + + public void setValue(int value) { + slider.setValue(value); + } + + public void setRange(int minVal, int maxVal) { + if (minVal < 0 || maxVal > 99 || minVal > maxVal) { + qWarning("LCDRange::setRange("+minVal+","+maxVal+")\n"+ + "\tRange must be 0..99\n"+ + "\tand minVal must not be greater than maxVal"); + return; + } + slider.setRange(minVal, maxVal); + } +} diff --git a/qtjava/javalib/tutorial/t9/Tut9.java b/qtjava/javalib/tutorial/t9/Tut9.java new file mode 100644 index 00000000..f936c37a --- /dev/null +++ b/qtjava/javalib/tutorial/t9/Tut9.java @@ -0,0 +1,52 @@ +import org.kde.qt.*; + +public class Tut9 extends QWidget { + public Tut9() { + QPushButton quit = new QPushButton("Quit", this, "quit"); + quit.setFont(new QFont("Times", 18, QFont.Bold, false)); + + connect(quit, SIGNAL("clicked()"), qApp(), SLOT("quit()")); + + LCDRange angle = new LCDRange(this, "angle"); + angle.setRange(5, 70); + + CannonField cannonField = new CannonField(this, "cannonField"); + + connect(angle, SIGNAL("valueChanged(int)"), + cannonField, SLOT("setAngle(int)")); + connect(cannonField, SIGNAL("angleChanged(int)"), + angle, SLOT("setValue(int)")); + + QGridLayout grid = new QGridLayout(this, 2, 2, 10, -1, null); + //2x2, 10 pixel border + + grid.addWidget(quit, 0, 0); + grid.addWidget(angle, 1, 0, Qt.AlignTop); + grid.addWidget(cannonField, 1, 1); + grid.setColStretch(1, 10); + + angle.setValue(60); + angle.setFocus(); + } + + public static void main(String[] args) { + QApplication.setColorSpec(QApplication.CustomColor); + QApplication a = new QApplication(args); + Tut9 w = new Tut9(); + w.setGeometry( 100, 100, 500, 355 ); + + a.setMainWidget(w); + w.show(); + a.exec(); + return; + } + + static { + try { + Class c = Class.forName("org.kde.qt.qtjava"); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("Can't load qtjava class"); + } + } +} |