summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/widgets/doc/images/mousebutton-buttontester.pngbin17428 -> 0 bytes
-rw-r--r--examples/widgets/doc/mousebuttons.qdoc70
-rw-r--r--examples/widgets/widgets/CMakeLists.txt1
-rw-r--r--examples/widgets/widgets/mousebuttons/CMakeLists.txt37
-rw-r--r--examples/widgets/widgets/mousebuttons/buttontester.cpp184
-rw-r--r--examples/widgets/widgets/mousebuttons/buttontester.h29
-rw-r--r--examples/widgets/widgets/mousebuttons/main.cpp36
-rw-r--r--examples/widgets/widgets/mousebuttons/mousebuttons.pro16
-rw-r--r--examples/widgets/widgets/widgets.pro1
9 files changed, 0 insertions, 374 deletions
diff --git a/examples/widgets/doc/images/mousebutton-buttontester.png b/examples/widgets/doc/images/mousebutton-buttontester.png
deleted file mode 100644
index f8f71db59b..0000000000
--- a/examples/widgets/doc/images/mousebutton-buttontester.png
+++ /dev/null
Binary files differ
diff --git a/examples/widgets/doc/mousebuttons.qdoc b/examples/widgets/doc/mousebuttons.qdoc
deleted file mode 100644
index ecf46dc094..0000000000
--- a/examples/widgets/doc/mousebuttons.qdoc
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// Copyright (C) 2016 Rick Stockton <rickstockton@reno-computerhelp.com>
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example widgets/mousebuttons
- \title Mouse Button Tester
-
- \brief The 'Mouse Button Tester' example demonstrates how to reimplement
- mouse events within a custom class. You can also use this program to
- verify that Qt is actually receiving mouse events from your mouse.
-
- Many 'gamer' mouse devices are configured with high-numbered "buttons"
- sending text shortcuts for certain games. With such a mouse, no mouse
- button events occur: The "mouse" sends keystrokes, and the
- 'Mouse Button Tester' Window will not see the event. Receiving no event,
- it will not repaint the Window with new text describing a button event.
-
- And so, in addition to it's use as Qt example code, the program may be
- useful s a mouse device tester. Note that there is another example
- mouse buttons example which provides the same function, written in QML.
-
- This program (the Widget-based example) consists of three classes,
- in addition to the main() parent program:
-
- \list
- \li \c A QPushButton, "Quit".
- \li \c ButtonTester. This is derived from Qt's TextArea class, for
- purpose of customizing/re-implementing the mouse and wheel event
- member functions.
- \li \c A simple QVBoxLayout layout.
- \endlist
-
- First we will review the main program, with it's layout and "Quit"
- QPushButton. Then we will take a look at the \c ButtonTester class.
-
- \section1 The Main Program
-
- Note that the QPushButton, "Quit", is defined directly within the main()
- program, rather than another class. This is a correct way of defining a
- "Quit" QPushButton: A "Quit" Button defined inside another
- class would result in the destructor of that second class being
- called twice. This "Quit" Button uses the traditional Signal/Slot
- connection to invoke termination of the QApp, which will properly destroy
- its child classes before terminating itself.
-
- The remainder of the main() program is concerned with defining the layout,
- and applying a minimum size to the customized ButtonTester.
-
- \section1 ButtonTester Class Definition
-
- The \c ButtonTester class inherits from QTextEdit, and listens for
- mouse events on all possible Qt::MouseButton values. It also listens for
- wheel events from the mouse, and indicates the direction of wheel motion
- ("up", down", "left", or "right"). It prints short debug messages into
- the Window, and also on the console QDebug() stream, when mouse button
- and wheel events occur. Our reimplementation of mousePressEvent(),
- mouseReleaseEvent(), mouseDoubleClickEvent(), and wheelEvent() "drive"
- the program; the other functions simply convert the Qt::MouseButton
- values into text strings.
-
- You should call the ignore() function on any mouse event (or other event)
- which your widget-based classes do not use and consume. This function
- assures that Qt will propagate the event through each parent widget,
- until it is used or propagated to the Window Manager. (Qt attempts to do
- this automatically, but it is better programming practice to explicitly
- invoke the function.)
-
- \image mousebutton-buttontester.png
-*/
diff --git a/examples/widgets/widgets/CMakeLists.txt b/examples/widgets/widgets/CMakeLists.txt
index 35118b984d..06f57d1e28 100644
--- a/examples/widgets/widgets/CMakeLists.txt
+++ b/examples/widgets/widgets/CMakeLists.txt
@@ -15,7 +15,6 @@ qt_internal_add_example(lineedits)
if(QT_FEATURE_movie)
qt_internal_add_example(movie)
endif()
-qt_internal_add_example(mousebuttons)
qt_internal_add_example(scribble)
qt_internal_add_example(shapedclock)
qt_internal_add_example(shortcuteditor)
diff --git a/examples/widgets/widgets/mousebuttons/CMakeLists.txt b/examples/widgets/widgets/mousebuttons/CMakeLists.txt
deleted file mode 100644
index 2957a2b787..0000000000
--- a/examples/widgets/widgets/mousebuttons/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(mousebuttons LANGUAGES CXX)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/widgets/mousebuttons")
-
-find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
-
-qt_standard_project_setup()
-
-qt_add_executable(mousebuttons
- buttontester.cpp buttontester.h
- main.cpp
-)
-
-set_target_properties(mousebuttons PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-
-target_link_libraries(mousebuttons PRIVATE
- Qt6::Core
- Qt6::Gui
- Qt6::Widgets
-)
-
-install(TARGETS mousebuttons
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/widgets/widgets/mousebuttons/buttontester.cpp b/examples/widgets/widgets/mousebuttons/buttontester.cpp
deleted file mode 100644
index f2cbd4ea06..0000000000
--- a/examples/widgets/widgets/mousebuttons/buttontester.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// Copyright (C) 2016 Rick Stockton <rickstockton@reno-computerhelp.com>
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include "buttontester.h"
-
-#include <QDebug>
-
-void ButtonTester::mousePressEvent(QMouseEvent *e)
-{
- int j = ButtonTester::buttonByNumber (e->button());
- QString result = "Mouse Press: raw button=" + QString::number(j)
- + " Qt=" + enumNameFromValue(e->button());
- QString buttonsString = ButtonTester::enumNamesFromMouseButtons(e->buttons());
- result += "\n heldbuttons " + buttonsString;
- qDebug() << result;
- this->setText(result);
- this->repaint();
-}
-
-void ButtonTester::mouseReleaseEvent(QMouseEvent *e)
-{
- int j = ButtonTester::buttonByNumber (e->button());
- QString result = "Mouse Release: raw button=" + QString::number(j)
- + " Qt=" + enumNameFromValue(e->button());
- QString buttonsString = ButtonTester::enumNamesFromMouseButtons(e->buttons());
- result += "\n heldbuttons " + buttonsString;
- qDebug() << result;
- this->setText(result);
- this->repaint();
-
-}
-
-void ButtonTester::mouseDoubleClickEvent(QMouseEvent *e)
-{
- int j = ButtonTester::buttonByNumber (e->button());
- QString result = "Mouse DoubleClick: raw button=" + QString::number(j)
- + " Qt=" + enumNameFromValue(e->button());
- QString buttonsString = ButtonTester::enumNamesFromMouseButtons(e->buttons());
- result += "\n heldbuttons" + buttonsString;
- qDebug() << result;
- this->setText(result);
-}
-
-#if QT_CONFIG(wheelevent)
-void ButtonTester::wheelEvent (QWheelEvent *e)
-{
- QString result;
- const bool vertical = qAbs(e->angleDelta().y()) >= qAbs(e->angleDelta().x());
- const int delta = vertical ? e->angleDelta().y() : e->angleDelta().x();
- if (delta > 0) {
- if (vertical) {
- result = "Mouse Wheel Event: UP";
- } else {
- result = "Mouse Wheel Event: LEFT";
- }
- } else if (delta < 0) {
- if (vertical) {
- result = "Mouse Wheel Event: DOWN";
- } else {
- result = "Mouse Wheel Event: RIGHT";
- }
- }
- qDebug() << result;
- this->setText(result);
-}
-#endif
-
-int ButtonTester::buttonByNumber(const Qt::MouseButton button)
-{
- if (button == Qt::NoButton) return 0;
- if (button == Qt::LeftButton) return 1;
- if (button == Qt::RightButton) return 2;
- if (button == Qt::MiddleButton) return 3;
-
-/* Please note that Qt Button #4 corresponds to button #8 on all
- * platforms which EMULATE wheel events by creating button events
- * (Button #4 = Scroll Up; Button #5 = Scroll Down; Button #6 = Scroll
- * Left; and Button #7 = Scroll Right.) This includes X11, with both
- * Xlib and XCB. So, the "raw button" for "Qt::BackButton" is
- * usually described as "Button #8".
-
- * If your platform supports "smooth scrolling", then, for the cases of
- * Qt::BackButton and higher, this program will show "raw button" with a
- * value which is too large. Subtract 4 to get the correct button ID for
- * your platform.
- */
-
- if (button == Qt::BackButton) return 8;
- if (button == Qt::ForwardButton) return 9;
- if (button == Qt::TaskButton) return 10;
- if (button == Qt::ExtraButton4) return 11;
- if (button == Qt::ExtraButton5) return 12;
- if (button == Qt::ExtraButton6) return 13;
- if (button == Qt::ExtraButton7) return 14;
- if (button == Qt::ExtraButton8) return 15;
- if (button == Qt::ExtraButton9) return 16;
- if (button == Qt::ExtraButton10) return 17;
- if (button == Qt::ExtraButton11) return 18;
- if (button == Qt::ExtraButton12) return 19;
- if (button == Qt::ExtraButton13) return 20;
- if (button == Qt::ExtraButton14) return 21;
- if (button == Qt::ExtraButton15) return 22;
- if (button == Qt::ExtraButton16) return 23;
- if (button == Qt::ExtraButton17) return 24;
- if (button == Qt::ExtraButton18) return 25;
- if (button == Qt::ExtraButton19) return 26;
- if (button == Qt::ExtraButton20) return 27;
- if (button == Qt::ExtraButton21) return 28;
- if (button == Qt::ExtraButton22) return 29;
- if (button == Qt::ExtraButton23) return 30;
- if (button == Qt::ExtraButton24) return 31;
- qDebug("QMouseShortcutEntry::addShortcut contained Invalid Qt::MouseButton value");
- return 0;
-}
-
-QString ButtonTester::enumNameFromValue(const Qt::MouseButton button)
-{
- if (button == Qt::NoButton) return "NoButton";
- if (button == Qt::LeftButton) return "LeftButton";
- if (button == Qt::RightButton) return "RightButton";
- if (button == Qt::MiddleButton) return "MiddleButton";
- if (button == Qt::BackButton) return "BackButton";
- if (button == Qt::ForwardButton) return "ForwardButton";
- if (button == Qt::TaskButton) return "TaskButton";
- if (button == Qt::ExtraButton4) return "ExtraButton4";
- if (button == Qt::ExtraButton5) return "ExtraButton5";
- if (button == Qt::ExtraButton6) return "ExtraButton6";
- if (button == Qt::ExtraButton7) return "ExtraButton7";
- if (button == Qt::ExtraButton8) return "ExtraButton8";
- if (button == Qt::ExtraButton9) return "ExtraButton9";
- if (button == Qt::ExtraButton10) return "ExtraButton10";
- if (button == Qt::ExtraButton11) return "ExtraButton11";
- if (button == Qt::ExtraButton12) return "ExtraButton12";
- if (button == Qt::ExtraButton13) return "ExtraButton13";
- if (button == Qt::ExtraButton14) return "ExtraButton14";
- if (button == Qt::ExtraButton15) return "ExtraButton15";
- if (button == Qt::ExtraButton16) return "ExtraButton16";
- if (button == Qt::ExtraButton17) return "ExtraButton17";
- if (button == Qt::ExtraButton18) return "ExtraButton18";
- if (button == Qt::ExtraButton19) return "ExtraButton19";
- if (button == Qt::ExtraButton20) return "ExtraButton20";
- if (button == Qt::ExtraButton21) return "ExtraButton21";
- if (button == Qt::ExtraButton22) return "ExtraButton22";
- if (button == Qt::ExtraButton23) return "ExtraButton23";
- if (button == Qt::ExtraButton24) return "ExtraButton24";
- qDebug("QMouseShortcutEntry::addShortcut contained Invalid Qt::MouseButton value");
- return "NoButton";
-}
-
-QString ButtonTester::enumNamesFromMouseButtons(const Qt::MouseButtons buttons)
-{
- QString returnText = "";
- if (buttons == Qt::NoButton) return "NoButton";
- if (buttons & Qt::LeftButton) returnText += "LeftButton ";
- if (buttons & Qt::RightButton) returnText += "RightButton ";
- if (buttons & Qt::MiddleButton) returnText += "MiddleButton ";
- if (buttons & Qt::BackButton) returnText += "BackButton ";
- if (buttons & Qt::ForwardButton) returnText += "ForwardButton ";
- if (buttons & Qt::TaskButton) returnText += "TaskButton ";
- if (buttons & Qt::ExtraButton4) returnText += "ExtraButton4 ";
- if (buttons & Qt::ExtraButton5) returnText += "ExtraButton5 ";
- if (buttons & Qt::ExtraButton6) returnText += "ExtraButton6 ";
- if (buttons & Qt::ExtraButton7) returnText += "ExtraButton7 ";
- if (buttons & Qt::ExtraButton8) returnText += "ExtraButton8 ";
- if (buttons & Qt::ExtraButton9) returnText += "ExtraButton9 ";
- if (buttons & Qt::ExtraButton10) returnText += "ExtraButton10 ";
- if (buttons & Qt::ExtraButton11) returnText += "ExtraButton11 ";
- if (buttons & Qt::ExtraButton12) returnText += "ExtraButton12 ";
- if (buttons & Qt::ExtraButton13) returnText += "ExtraButton13 ";
- if (buttons & Qt::ExtraButton14) returnText += "ExtraButton14 ";
- if (buttons & Qt::ExtraButton15) returnText += "ExtraButton15 ";
- if (buttons & Qt::ExtraButton16) returnText += "ExtraButton16 ";
- if (buttons & Qt::ExtraButton17) returnText += "ExtraButton17 ";
- if (buttons & Qt::ExtraButton18) returnText += "ExtraButton18 ";
- if (buttons & Qt::ExtraButton19) returnText += "ExtraButton19 ";
- if (buttons & Qt::ExtraButton20) returnText += "ExtraButton20 ";
- if (buttons & Qt::ExtraButton21) returnText += "ExtraButton21 ";
- if (buttons & Qt::ExtraButton22) returnText += "ExtraButton22 ";
- if (buttons & Qt::ExtraButton23) returnText += "ExtraButton23 ";
- if (buttons & Qt::ExtraButton24) returnText += "ExtraButton24 ";
- return returnText;
-}
-
diff --git a/examples/widgets/widgets/mousebuttons/buttontester.h b/examples/widgets/widgets/mousebuttons/buttontester.h
deleted file mode 100644
index b2670c773a..0000000000
--- a/examples/widgets/widgets/mousebuttons/buttontester.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// Copyright (C) 2016 Rick Stockton <rickstockton@reno-computerhelp.com>
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#ifndef BUTTONTESTER_H
-#define BUTTONTESTER_H
-
-#include <QTextEdit>
-#include <QString>
-#include <QMouseEvent>
-#include <QWheelEvent>
-
-class ButtonTester : public QTextEdit
-{
- Q_OBJECT
-public:
- using QTextEdit::QTextEdit;
-protected:
- void mousePressEvent(QMouseEvent *event) override;
- void mouseReleaseEvent(QMouseEvent *event) override;
- void mouseDoubleClickEvent(QMouseEvent *event) override;
-#if QT_CONFIG(wheelevent)
- void wheelEvent(QWheelEvent *event) override;
-#endif
- int buttonByNumber(const Qt::MouseButton button);
- QString enumNameFromValue(const Qt::MouseButton button);
- QString enumNamesFromMouseButtons(const Qt::MouseButtons buttons);
-};
-
-#endif // BUTTONTESTER_H
diff --git a/examples/widgets/widgets/mousebuttons/main.cpp b/examples/widgets/widgets/mousebuttons/main.cpp
deleted file mode 100644
index 850e0c7999..0000000000
--- a/examples/widgets/widgets/mousebuttons/main.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// Copyright (C) 2016 Rick Stockton <rickstockton@reno-computerhelp.com>
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include "buttontester.h"
-
-#include <QApplication>
-#include <QPushButton>
-#include <QVBoxLayout>
-
-int main(int argv, char **args)
-{
- QApplication app(argv, args);
-
- ButtonTester *testArea = new ButtonTester;
- testArea->setMinimumSize(500, 350);
-
-// For this test, Qt::RightButton behaves like any other button.
- testArea->setContextMenuPolicy(Qt::NoContextMenu);
- testArea->setTextInteractionFlags(Qt::TextSelectableByMouse);
- testArea->setText("To test your mouse with Qt, press buttons in this area.\nYou may also scroll or tilt your mouse wheel.");
- QPushButton *quitButton = new QPushButton("Quit");
-
- QObject::connect(quitButton, &QPushButton::clicked, qApp, &QCoreApplication::quit);
-
- QVBoxLayout *layout = new QVBoxLayout;
- layout->addWidget(testArea);
- layout->addWidget(quitButton);
-
- QWidget window;
- window.setLayout(layout);
- window.setWindowTitle("Mouse Button Tester");
- window.show();
-
- return app.exec();
-}
diff --git a/examples/widgets/widgets/mousebuttons/mousebuttons.pro b/examples/widgets/widgets/mousebuttons/mousebuttons.pro
deleted file mode 100644
index e1f4b9527d..0000000000
--- a/examples/widgets/widgets/mousebuttons/mousebuttons.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TEMPLATE = app
-
-TARGET = mousebuttons
-TEMPLATE = app
-
-SOURCES += \
- main.cpp\
- buttontester.cpp \
-
-HEADERS += \
- buttontester.h \
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/widgets/widgets/mousebuttons
-INSTALLS += target
-QT += core widgets
diff --git a/examples/widgets/widgets/widgets.pro b/examples/widgets/widgets/widgets.pro
index fe3e289944..3b2f99cf54 100644
--- a/examples/widgets/widgets/widgets.pro
+++ b/examples/widgets/widgets/widgets.pro
@@ -11,7 +11,6 @@ SUBDIRS = analogclock \
imageviewer \
lineedits \
movie \
- mousebuttons \
scribble \
shapedclock \
sliders \