ctkButtonGroupTest1.cpp 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*=========================================================================
  2. Library: CTK
  3. Copyright (c) Kitware Inc.
  4. All rights reserved.
  5. Distributed under a BSD License. See LICENSE.txt file.
  6. This software is distributed "AS IS" WITHOUT ANY WARRANTY; without even
  7. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the above copyright notice for more information.
  9. =========================================================================*/
  10. // Qt includes
  11. #include <QApplication>
  12. #include <QPushButton>
  13. // CTK includes
  14. #include "ctkButtonGroup.h"
  15. #include "ctkCollapsibleButton.h"
  16. // STD includes
  17. #include <cstdlib>
  18. #include <iostream>
  19. int ctkButtonGroupTest1(int argc, char * argv [] )
  20. {
  21. QApplication app(argc, argv);
  22. QPushButton* button1 = new QPushButton(0);
  23. QPushButton* button2 = new QPushButton(0);
  24. QPushButton* button3 = new QPushButton(0);
  25. ctkCollapsibleButton* button4 = new ctkCollapsibleButton(0);
  26. button1->setCheckable(true);
  27. button2->setCheckable(true);
  28. button3->setCheckable(false);
  29. button4->setCheckable(true);
  30. button2->setChecked(true);
  31. button4->setChecked(true);
  32. ctkButtonGroup buttonGroup(0);
  33. //QButtonGroup buttonGroup(0);
  34. buttonGroup.addButton(button1);
  35. buttonGroup.addButton(button2);
  36. buttonGroup.addButton(button3);
  37. buttonGroup.addButton(button4);
  38. if (!button4->isChecked() || button2->isChecked())
  39. {
  40. std::cerr << "ctkButtonGroup::addButton failed"
  41. << button2->isChecked() << " " << button4->isChecked()
  42. << std::endl;
  43. return EXIT_FAILURE;
  44. }
  45. // Click #1: check button1
  46. button1->click();
  47. if (!button1->isChecked() || button4->isChecked())
  48. {
  49. std::cerr << "ctkButtonGroup::click1 failed"
  50. << button1->isChecked() << " " << button4->isChecked()
  51. << std::endl;
  52. return EXIT_FAILURE;
  53. }
  54. // Click #2: uncheck button1
  55. button1->click();
  56. if (button1->isChecked() || button4->isChecked())
  57. {
  58. std::cerr << "ctkButtonGroup::click2 failed"
  59. << button1->isChecked() << " " << button4->isChecked()
  60. << std::endl;
  61. return EXIT_FAILURE;
  62. }
  63. // Click #3: check button1
  64. button1->click();
  65. if (!button1->isChecked() || button4->isChecked())
  66. {
  67. std::cerr << "ctkButtonGroup::click3 failed"
  68. << button1->isChecked() << " " << button4->isChecked()
  69. << std::endl;
  70. return EXIT_FAILURE;
  71. }
  72. // Click #4: check button2
  73. button2->click();
  74. if (!button2->isChecked() || button1->isChecked())
  75. {
  76. std::cerr << "ctkButtonGroup::click4 failed"
  77. << button2->isChecked() << " " << button1->isChecked()
  78. << std::endl;
  79. return EXIT_FAILURE;
  80. }
  81. // Click #5: click button3 keep check on button2
  82. button3->click();
  83. if (!button2->isChecked() || button3->isChecked())
  84. {
  85. std::cerr << "ctkButtonGroup::click5 failed"
  86. << button2->isChecked() << " " << button3->isChecked()
  87. << std::endl;
  88. return EXIT_FAILURE;
  89. }
  90. // Click #6: uncheck button2
  91. button2->click();
  92. if (button2->isChecked())
  93. {
  94. std::cerr << "ctkButtonGroup::click6 failed"
  95. << button2->isChecked() << std::endl;
  96. return EXIT_FAILURE;
  97. }
  98. return EXIT_SUCCESS;
  99. }