summaryrefslogtreecommitdiffstats
path: root/qtjava/javalib/tutorial/t9
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 /qtjava/javalib/tutorial/t9
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 'qtjava/javalib/tutorial/t9')
-rw-r--r--qtjava/javalib/tutorial/t9/CannonField.java43
-rw-r--r--qtjava/javalib/tutorial/t9/LCDRange.java38
-rw-r--r--qtjava/javalib/tutorial/t9/Tut9.java52
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");
+ }
+ }
+}