Browse Source

Add test to ctkMenuButton

ctkMenuButtonTest1 is added as a test to ctkMenuButton
Julien Finet 14 years ago
parent
commit
422a1bb73b

+ 2 - 0
Libs/Widgets/Testing/Cpp/CMakeLists.txt

@@ -19,6 +19,7 @@ CREATE_TEST_SOURCELIST(Tests ${KIT}CppTests.cxx
   ctkFittedTextBrowserTest1.cpp
   ctkMatrixWidgetTest1.cpp
   ctkMatrixWidgetTest2.cpp
+  ctkMenuButtonTest1.cpp
   ctkRangeSliderTest1.cpp
   ctkRangeWidgetTest1.cpp
   ctkDateRangeWidgetTest1.cpp
@@ -82,6 +83,7 @@ SIMPLE_TEST( ctkFileDialogTest1 )
 SIMPLE_TEST( ctkFittedTextBrowserTest1 )
 SIMPLE_TEST( ctkMatrixWidgetTest1 )
 SIMPLE_TEST( ctkMatrixWidgetTest2 )
+SIMPLE_TEST( ctkMenuButtonTest1 )
 SIMPLE_TEST( ctkRangeSliderTest1 )
 SIMPLE_TEST( ctkRangeWidgetTest1 )
 SIMPLE_TEST( ctkDateRangeWidgetTest1 )

+ 68 - 0
Libs/Widgets/Testing/Cpp/ctkMenuButtonTest1.cpp

@@ -0,0 +1,68 @@
+/*=========================================================================
+
+  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.commontk.org/LICENSE
+
+  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 <QVBoxLayout>
+#include <QMenu>
+#include <QTimer>
+
+// CTK includes
+#include "ctkMenuButton.h"
+
+// STD includes
+#include <iostream>
+
+//-----------------------------------------------------------------------------
+int ctkMenuButtonTest1(int argc, char * argv [] )
+{
+  QApplication app(argc, argv);
+
+  QWidget topLevelWidget(0);
+  QMenu* menu = new QMenu("menu");
+  menu->addAction("extra choice 1");
+  menu->addAction("extra choice 2");
+  menu->addAction("extra choice 3");
+
+  QPushButton button1("QPushButton with no menu");
+  QPushButton button2("QPushButton with menu");
+  button2.setMenu(menu);  
+  ctkMenuButton button3("ctkMenuButton with no menu");
+  ctkMenuButton button4("ctkMenuButton with menu");  
+  button4.setMenu(menu);
+  
+  QVBoxLayout* layout = new QVBoxLayout;
+  layout->addWidget(&button1);
+  layout->addWidget(&button2);
+  layout->addWidget(&button3);
+  layout->addWidget(&button4);
+  
+  topLevelWidget.setLayout(layout);
+  topLevelWidget.show();
+  topLevelWidget.resize(200, 100);
+
+  if (argc < 2 || QString(argv[1]) != "-I" )
+    {
+    QTimer::singleShot(200, &app, SLOT(quit()));
+    }
+
+  return app.exec();
+}
+