ctkButtonGroupTest1.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. //-----------------------------------------------------------------------------
  20. int ctkButtonGroupTest1(int argc, char * argv [] )
  21. {
  22. QApplication app(argc, argv);
  23. QPushButton* button1 = new QPushButton(0);
  24. QPushButton* button2 = new QPushButton(0);
  25. QPushButton* button3 = new QPushButton(0);
  26. ctkCollapsibleButton* button4 = new ctkCollapsibleButton(0);
  27. button1->setCheckable(true);
  28. button2->setCheckable(true);
  29. button3->setCheckable(false);
  30. button4->setCheckable(true);
  31. button2->setChecked(true);
  32. button4->setChecked(true);
  33. ctkButtonGroup buttonGroup(0);
  34. //QButtonGroup buttonGroup(0);
  35. buttonGroup.addButton(button1);
  36. buttonGroup.addButton(button2);
  37. buttonGroup.addButton(button3);
  38. buttonGroup.addButton(button4);
  39. if (!button4->isChecked() || button2->isChecked())
  40. {
  41. std::cerr << "ctkButtonGroup::addButton failed"
  42. << button2->isChecked() << " " << button4->isChecked()
  43. << std::endl;
  44. return EXIT_FAILURE;
  45. }
  46. // Click #1: check button1
  47. button1->click();
  48. if (!button1->isChecked() || button4->isChecked())
  49. {
  50. std::cerr << "ctkButtonGroup::click1 failed"
  51. << button1->isChecked() << " " << button4->isChecked()
  52. << std::endl;
  53. return EXIT_FAILURE;
  54. }
  55. // Click #2: uncheck button1
  56. button1->click();
  57. if (button1->isChecked() || button4->isChecked())
  58. {
  59. std::cerr << "ctkButtonGroup::click2 failed"
  60. << button1->isChecked() << " " << button4->isChecked()
  61. << std::endl;
  62. return EXIT_FAILURE;
  63. }
  64. // Click #3: check button1
  65. button1->click();
  66. if (!button1->isChecked() || button4->isChecked())
  67. {
  68. std::cerr << "ctkButtonGroup::click3 failed"
  69. << button1->isChecked() << " " << button4->isChecked()
  70. << std::endl;
  71. return EXIT_FAILURE;
  72. }
  73. // Click #4: check button2
  74. button2->click();
  75. if (!button2->isChecked() || button1->isChecked())
  76. {
  77. std::cerr << "ctkButtonGroup::click4 failed"
  78. << button2->isChecked() << " " << button1->isChecked()
  79. << std::endl;
  80. return EXIT_FAILURE;
  81. }
  82. // Click #5: click button3 keep check on button2
  83. button3->click();
  84. if (!button2->isChecked() || button3->isChecked())
  85. {
  86. std::cerr << "ctkButtonGroup::click5 failed"
  87. << button2->isChecked() << " " << button3->isChecked()
  88. << std::endl;
  89. return EXIT_FAILURE;
  90. }
  91. // Click #6: uncheck button2
  92. button2->click();
  93. if (button2->isChecked())
  94. {
  95. std::cerr << "ctkButtonGroup::click6 failed"
  96. << button2->isChecked() << std::endl;
  97. return EXIT_FAILURE;
  98. }
  99. return EXIT_SUCCESS;
  100. }