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 | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kdeui/tests/krulertest.cpp | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.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/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdeui/tests/krulertest.cpp')
-rw-r--r-- | kdeui/tests/krulertest.cpp | 375 |
1 files changed, 375 insertions, 0 deletions
diff --git a/kdeui/tests/krulertest.cpp b/kdeui/tests/krulertest.cpp new file mode 100644 index 000000000..1efe57643 --- /dev/null +++ b/kdeui/tests/krulertest.cpp @@ -0,0 +1,375 @@ + + +#include "krulertest.h" + +#include "kruler.h" +#include <qlayout.h> +#include <qlabel.h> +#include <qgroupbox.h> + +/* +void +MyCheckBox::mouseReleaseEvent(QMouseEvent *e ) +{ + QButton::mouseReleaseEvent(e); + if (); +} +*/ + +MouseWidget::MouseWidget( QWidget *parent, const char *name, WFlags f ) + : QFrame(parent, name, f) +{ +} + +void +MouseWidget::mousePressEvent( QMouseEvent *e ) +{ + mouseButtonDown = true; + emit newXPos(e->x()); + emit newYPos(e->y()); +} + +void +MouseWidget::mouseReleaseEvent( QMouseEvent * ) +{ mouseButtonDown = false; } + +void +MouseWidget::mouseMoveEvent( QMouseEvent *e ) +{ + if (mouseButtonDown) { + emit newXPos(e->x()); + emit newYPos(e->y()); + } +} + +void +MouseWidget::resizeEvent( QResizeEvent *r ) +{ + emit newWidth(r->size().width()); + emit newHeight(r->size().height()); +} + + +KRulerTest::KRulerTest( const char *name ) + : KMainWindow(0, name) +{ + mainframe = new QFrame(this); + + layout = new QGridLayout(mainframe, 2, 2); + + miniwidget = new QFrame(mainframe); + miniwidget->setFrameStyle(QFrame::WinPanel | QFrame::Raised); + bigwidget = new MouseWidget(mainframe); + bigwidget->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); + + // QRect bwrect = bigwidget->frameRect(); + // qDebug("big rect: top%i left%i bottom%i right%i", + // bwrect.top(), bwrect.left(), bwrect.bottom(), bwrect.right()); + hruler = new KRuler(Horizontal, mainframe); + // hruler->setRange( bwrect.left(), bwrect.right() ); + hruler->setRange( 0, 1000 ); + // hruler->setOffset( bwrect.left() - bigwidget->frameRect().left() ); + hruler->setOffset( 0 ); + + vruler = new KRuler(Vertical, mainframe); + vruler->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); + vruler->setOffset( 0 ); + vruler->setRange( 0, 1000 ); + + connect( bigwidget, SIGNAL(newXPos(int)), + hruler, SLOT(slotNewValue(int)) ); + connect( bigwidget, SIGNAL(newYPos(int)), + vruler, SLOT(slotNewValue(int)) ); + connect( bigwidget, SIGNAL(newWidth(int)), + SLOT(slotNewWidth(int)) ); + connect( bigwidget, SIGNAL(newHeight(int)), + SLOT(slotNewHeight(int)) ); + + layout->addWidget(miniwidget, 0, 0); + layout->addWidget(hruler, 0, 1); + layout->addWidget(vruler, 1, 0); + layout->addWidget(bigwidget, 1, 1); + + mouse_message = new QLabel("Press and hold mouse button\nfor pointer movement", bigwidget); + mouse_message->adjustSize(); + mouse_message->move(4,4); + + showMarks = new QGroupBox("Show which marks ?", bigwidget); + showMarks->setFixedSize(140, 160); + showMarks->move(330,4); + showTM = new QCheckBox("show tiny marks", showMarks); + showTM->adjustSize(); + showTM->move(5,15); + showTM->setChecked(true); + connect(showTM, SIGNAL(toggled(bool)), SLOT(slotSetTinyMarks(bool)) ); + showLM = new QCheckBox("show little marks", showMarks); + showLM->adjustSize(); + showLM->move(5,35); + showLM->setChecked(true); + connect(showLM, SIGNAL(toggled(bool)), SLOT(slotSetLittleMarks(bool)) ); + showMM = new QCheckBox("show medium marks", showMarks); + showMM->adjustSize(); + showMM->move(5,55); + showMM->setChecked(true); + connect(showMM, SIGNAL(toggled(bool)), SLOT(slotSetMediumMarks(bool)) ); + showBM = new QCheckBox("show big marks", showMarks); + showBM->adjustSize(); + showBM->move(5,75); + showBM->setChecked(true); + connect(showBM, SIGNAL(toggled(bool)), SLOT(slotSetBigMarks(bool)) ); + showEM = new QCheckBox("show end marks", showMarks); + showEM->adjustSize(); + showEM->move(5,95); + showEM->setChecked(true); + connect(showEM, SIGNAL(toggled(bool)), SLOT(slotSetEndMarks(bool)) ); + showPT = new QCheckBox("show ruler pointer", showMarks); + showPT->adjustSize(); + showPT->move(5,115); + showPT->setChecked(true); + connect(showPT, SIGNAL(toggled(bool)), SLOT(slotSetRulerPointer(bool)) ); + fixLen = new QCheckBox("fix ruler length", showMarks); + fixLen->adjustSize(); + fixLen->move(5,135); + fixLen->setChecked(true); + connect(fixLen, SIGNAL(toggled(bool)), SLOT(slotFixRulerLength(bool)) ); + connect(fixLen, SIGNAL(toggled(bool)), SLOT(slotCheckLength(bool)) ); + + lineEdit = new QGroupBox("Value of begin/end", bigwidget); + lineEdit->setFixedSize(140, 80); + lineEdit->move(330,4+160); + beginMark = new KIntNumInput(0, lineEdit); + beginMark->setRange(-1000, 1000, 1, false); + beginMark->move(5, 15); + beginMark->setFixedSize(beginMark->sizeHint()); + connect(beginMark, SIGNAL(valueChanged(int)), + hruler, SLOT(slotNewOffset(int)) ); + connect(beginMark, SIGNAL(valueChanged(int)), + vruler, SLOT(slotNewOffset(int)) ); + endMark = new KIntNumInput(0, lineEdit); + endMark->setRange(-1000, 1000, 1, false); + endMark->move(5, 35); + endMark->setFixedSize(endMark->sizeHint()); + connect(endMark, SIGNAL(valueChanged(int)), + hruler, SLOT(slotEndOffset(int)) ); + connect(endMark, SIGNAL(valueChanged(int)), + vruler, SLOT(slotEndOffset(int)) ); + lengthInput = new KIntNumInput(0, lineEdit); + lengthInput->setRange(-1000, 1000, 1, false); + lengthInput->move(5, 55); + lengthInput->setFixedSize(lengthInput->sizeHint()); + connect(lengthInput, SIGNAL(valueChanged(int)), + hruler, SLOT(slotEndOffset(int)) ); + connect(lengthInput, SIGNAL(valueChanged(int)), + vruler, SLOT(slotEndOffset(int)) ); + + + vertrot = new QGroupBox("Value of rotate translate for Vert.", bigwidget); + vertrot->setFixedSize(140, 80); + vertrot->move(330,4+160+80+4); + transX = new KDoubleNumInput(0.0, vertrot); + transX->setRange(-1000, 1000, 1, false); + transX->move(5, 15); + transX->setFixedSize(transX->sizeHint()); + //transX->setLabel("transx", AlignLeft); + connect(transX, SIGNAL(valueChanged(double)), + SLOT(slotSetXTrans(double)) ); + transY = new KDoubleNumInput(-12.0, vertrot); + transY->setRange(-1000, 1000, 1, false); + transY->move(5, 35); + transY->setFixedSize(transY->sizeHint()); + //transY->setLabel("transy", AlignLeft); + connect(transY, SIGNAL(valueChanged(double)), + SLOT(slotSetYTrans(double)) ); + rotV = new KDoubleNumInput(90.0, vertrot); + rotV->setRange(-1000, 1000, 1, false); + rotV->move(5, 55); + rotV->setFixedSize(rotV->sizeHint()); + //rotV->setLabel("rot", AlignLeft); + connect(rotV, SIGNAL(valueChanged(double)), + SLOT(slotSetRotate(double)) ); + + + metricstyle = new QButtonGroup("metric styles", bigwidget); + metricstyle->setFixedSize(100, 120); + metricstyle->move(330-110,4); + pixelmetric = new QRadioButton("pixel", metricstyle); + pixelmetric->adjustSize(); + pixelmetric->move(5,15); + metricstyle->insert(pixelmetric, (int)KRuler::Pixel); + inchmetric = new QRadioButton("inch", metricstyle); + inchmetric->adjustSize(); + inchmetric->move(5,35); + metricstyle->insert(inchmetric, (int)KRuler::Inch); + mmmetric = new QRadioButton("millimeter", metricstyle); + mmmetric->adjustSize(); + mmmetric->move(5,55); + metricstyle->insert(mmmetric, (int)KRuler::Millimetres); + cmmetric = new QRadioButton("centimeter", metricstyle); + cmmetric->adjustSize(); + cmmetric->move(5,75); + metricstyle->insert(cmmetric, (int)KRuler::Centimetres); + mmetric = new QRadioButton("meter", metricstyle); + mmetric->adjustSize(); + mmetric->move(5,95); + metricstyle->insert(mmetric, (int)KRuler::Metres); + connect ( metricstyle, SIGNAL(clicked(int)), SLOT(slotSetMStyle(int)) ); + + setCentralWidget(mainframe); + + slotUpdateShowMarks(); +} + +KRulerTest::~KRulerTest() +{ + delete layout; + delete hruler; + delete vruler; + delete miniwidget; + delete bigwidget; + delete mainframe; +} + +void +KRulerTest::slotNewWidth(int width) +{ + hruler->setMaxValue(width); +} + +void +KRulerTest::slotNewHeight(int height) +{ + vruler->setMaxValue(height); +} + +void +KRulerTest::slotSetTinyMarks(bool set) +{ + hruler->setShowTinyMarks(set); + vruler->setShowTinyMarks(set); +} + +void +KRulerTest::slotSetLittleMarks(bool set) +{ + hruler->setShowLittleMarks(set); + vruler->setShowLittleMarks(set); +} + +void +KRulerTest::slotSetMediumMarks(bool set) +{ + hruler->setShowMediumMarks(set); + vruler->setShowMediumMarks(set); +} + +void +KRulerTest::slotSetBigMarks(bool set) +{ + hruler->setShowBigMarks(set); + vruler->setShowBigMarks(set); +} + +void +KRulerTest::slotSetEndMarks(bool set) +{ + hruler->setShowEndMarks(set); + vruler->setShowEndMarks(set); +} + +void +KRulerTest::slotSetRulerPointer(bool set) +{ + hruler->setShowPointer(set); + vruler->setShowPointer(set); +} + +void +KRulerTest::slotSetRulerLength(int len) +{ + hruler->setLength(len); + vruler->setLength(len); +} + +void +KRulerTest::slotFixRulerLength(bool fix) +{ + hruler->setLengthFixed(fix); + vruler->setLengthFixed(fix); +} + +void +KRulerTest::slotSetMStyle(int style) +{ + hruler->setRulerMetricStyle((KRuler::MetricStyle)style); + vruler->setRulerMetricStyle((KRuler::MetricStyle)style); + slotUpdateShowMarks(); +} + + +void +KRulerTest::slotUpdateShowMarks() +{ + showTM->setChecked(hruler->showTinyMarks()); + showLM->setChecked(hruler->showLittleMarks()); + showMM->setChecked(hruler->showMediumMarks()); + showBM->setChecked(hruler->showBigMarks()); + showEM->setChecked(hruler->showEndMarks()); +} + +void +KRulerTest::slotCheckLength(bool fixlen) +{ + beginMark->setValue(hruler->offset()); + endMark->setValue(hruler->endOffset()); + lengthInput->setValue(hruler->length()); +} + +void +KRulerTest::slotSetRotate(double d) +{ +#ifdef KRULER_ROTATE_TEST + vruler->rotate = d; + vruler->update(); + //debug("rotate %.1f", d); +#endif +} + +void +KRulerTest::slotSetXTrans(double d) +{ +#ifdef KRULER_ROTATE_TEST + vruler->xtrans = d; + vruler->update(); + //debug("trans x %.1f", d); +#endif +} + +void +KRulerTest::slotSetYTrans(double d) +{ +#ifdef KRULER_ROTATE_TEST + vruler->ytrans = d; + vruler->update(); + //debug("trans y %.1f", d); +#endif +} + + +/* --- MAIN -----------------------*/ +int main(int argc, char **argv) +{ + KApplication *testapp; + KRulerTest *window; + + testapp = new KApplication(argc, argv,"krulertest"); + testapp->setFont(QFont("Helvetica",12),true); + + window = new KRulerTest("main"); + testapp->setMainWidget(window); + window->setCaption("KRulerTest"); + window->show(); + return testapp->exec(); +} + +#include "krulertest.moc" + |