123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- /*=========================================================================
- Library: CTK
- Copyright (c) Kitware Inc.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0.txt
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- =========================================================================*/
- // Qt includes
- #include <QApplication>
- #include <QDebug>
- #include <QSignalSpy>
- #include <QTimer>
- // CTK includes
- #include "ctkSpinBox.h"
- // STD includes
- #include <cstdlib>
- #include <iostream>
- //-----------------------------------------------------------------------------
- int ctkSpinBoxTest1(int argc, char * argv [] )
- {
- QApplication app(argc, argv);
- ctkSpinBox spinBox;
- // ----------------------------------------
- // Regular SpinBox methods
- // ----------------------------------------
- qDebug()<<"Prefix:";
- spinBox.setPrefix("$");
- if (spinBox.prefix() != "$")
- {
- qDebug()<<"Prefix does not correspond. Got: "<<spinBox.prefix();
- return EXIT_FAILURE;
- }
- spinBox.setValue(3.0);
- if (spinBox.text() != "$3.00")
- {
- qDebug()<<"Text does not correspond. Got: "<<spinBox.text();
- return EXIT_FAILURE;
- }
- qDebug()<<"Suffix:";
- spinBox.setSuffix("#");
- if (spinBox.suffix() != "#")
- {
- qDebug()<<"suffix does not correspond. Got: "<<spinBox.suffix();
- return EXIT_FAILURE;
- }
- spinBox.setValue(8.69);
- if (spinBox.text() != "$8.69#")
- {
- qDebug()<<"Text does not correspond. Got: "<<spinBox.text();
- return EXIT_FAILURE;
- }
- qDebug()<<"cleanText:";
- if (spinBox.cleanText() != "8.69")
- {
- qDebug()<<"cleanText does not correspond. Got: "<<spinBox.cleanText();
- return EXIT_FAILURE;
- }
- qDebug()<<"SingleStep:";
- spinBox.setSingleStep(0.01);
- if (spinBox.singleStep() != 0.01)
- {
- qDebug()<<"singleStep does not correspond. Got: "<<spinBox.singleStep();
- return EXIT_FAILURE;
- }
- spinBox.stepUp();
- if (spinBox.value() != 8.70)
- {
- qDebug()<<"Value does not correspond. Got: "<<spinBox.value();
- return EXIT_FAILURE;
- }
- spinBox.setSingleStep(1.0);
- spinBox.stepDown();
- if (spinBox.displayedValue() != 7.7)
- {
- qDebug()<<"Value does not correspond. Got: "<<spinBox.value();
- return EXIT_FAILURE;
- }
- qDebug()<<"Minimum:";
- spinBox.setMinimum(9.1);
- if (spinBox.minimum() != 9.1)
- {
- qDebug()<<"minimum does not correspond. Got: "<<spinBox.minimum();
- return EXIT_FAILURE;
- }
- if (spinBox.value() != 9.1)
- {
- qDebug()<<"Value does not correspond. Got: "<<spinBox.value();
- return EXIT_FAILURE;
- }
- qDebug()<<"Maximum:";
- spinBox.setValue(18.34);
- spinBox.setMaximum(15);
- if (spinBox.maximum() != 15)
- {
- qDebug()<<"maximum does not correspond. Got: "<<spinBox.maximum();
- return EXIT_FAILURE;
- }
- if (spinBox.value() != 15)
- {
- qDebug()<<"Value does not correspond. Got: "<<spinBox.value();
- return EXIT_FAILURE;
- }
- qDebug()<<"Range:";
- spinBox.setRange(-3.6, 42);
- if (spinBox.maximum() != 42 || spinBox.minimum() != -3.6)
- {
- qDebug()<<"Range does not correspond. Got: "
- <<spinBox.minimum()<<" : "<<spinBox.minimum();
- return EXIT_FAILURE;
- }
- qDebug()<<"Decimals:";
- spinBox.setDecimals(6);
- if (spinBox.decimals() != 6)
- {
- qDebug()<<"Decimals does not correspond. Got: "<<spinBox.cleanText();
- return EXIT_FAILURE;
- }
- if (spinBox.cleanText() != "15.000000")
- {
- qDebug()<<"Decimals does not correspond. Got: "<<spinBox.cleanText();
- return EXIT_FAILURE;
- }
- qDebug()<<"Round:";
- spinBox.setDecimals(3);
- double roundedValue = spinBox.round(6.67899156);
- if (roundedValue != 6.679)
- {
- qDebug()<<"Round does not correspond. Got: "<<roundedValue;
- return EXIT_FAILURE;
- }
- QSignalSpy spy(&spinBox, SIGNAL(valueChanged(double)));
- qDebug()<<"SetValue:";
- spinBox.setValue(28.36);
- if (spinBox.value() != 28.36)
- {
- qDebug()<<"setValue does not correspond. Got: "<<spinBox.value() ;
- return EXIT_FAILURE;
- }
- spinBox.setValue(28.366917352);
- if (spinBox.value() != 28.367)
- {
- qDebug()<<"setValue does not correspond. Got: "<<spinBox.value() ;
- return EXIT_FAILURE;
- }
- qDebug()<<"SetValueIfDifferent:";
- spinBox.setValueIfDifferent(33.312587);
- if (spinBox.value() != 33.313)
- {
- qDebug()<<"setValueIfDifferent does not correspond. Got: "<<spinBox.value() ;
- return EXIT_FAILURE;
- }
- spinBox.setValueIfDifferent(33.312960134);
- if (spinBox.value() != 33.313)
- {
- qDebug()<<"setValueIfDifferent does not correspond. Got: "<<spinBox.value() ;
- return EXIT_FAILURE;
- }
- if (spy.count() != 3)
- {
- qDebug()<<"spy got wrong number of signal sent : "<<spy.count() ;
- return EXIT_FAILURE;
- }
- //-----------------------------------------------------------------------------
- spinBox.show();
- if (argc < 2 || QString(argv[1]) != "-I" )
- {
- QTimer::singleShot(100, &app, SLOT(quit()));
- }
- return app.exec();
- }
|