├── .tag ├── examples ├── activeqt │ ├── comapp │ │ ├── comapp.rc │ │ ├── comapp.pro │ │ ├── CMakeLists.txt │ │ └── doc │ │ │ └── snippets │ │ │ └── doc_src_examples_activeqt_comapp.qdoc │ ├── simple │ │ ├── simple.rc │ │ ├── simple.ico │ │ ├── simple.def │ │ ├── simple.inf │ │ ├── simple.pro │ │ └── CMakeLists.txt │ ├── wrapper │ │ ├── wrapperax.ico │ │ ├── wrapperax.def │ │ ├── wrapper.inf │ │ ├── wrapper.pro │ │ ├── CMakeLists.txt │ │ ├── wrapperax.rc │ │ └── doc │ │ │ └── src │ │ │ └── wrapper.qdoc │ ├── activeqt.pro │ ├── CMakeLists.txt │ ├── shared.pri │ ├── qutlook │ │ ├── main.cpp │ │ ├── filesave.xpm │ │ ├── fileopen.xpm │ │ ├── qutlook.pro │ │ ├── fileprint.xpm │ │ ├── addressview.h │ │ └── CMakeLists.txt │ └── README ├── examples.pro └── CMakeLists.txt ├── tests ├── manual │ ├── menus │ │ ├── menus.rc │ │ ├── menus.ico │ │ ├── menus.def │ │ ├── menus.inf │ │ ├── menus.pro │ │ ├── doc │ │ │ ├── snippets │ │ │ │ └── doc_src_examples_activeqt_menus.qdoc │ │ │ └── src │ │ │ │ └── menus.qdoc │ │ ├── filesave.xpm │ │ ├── fileopen.xpm │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ └── menus.h │ ├── opengl │ │ ├── opengl.rc │ │ ├── opengl.ico │ │ ├── opengl.def │ │ ├── opengl.inf │ │ ├── opengl.pro │ │ ├── globjwin.h │ │ ├── CMakeLists.txt │ │ ├── main.cpp │ │ ├── glbox.h │ │ └── globjwin.cpp │ ├── hierarchy │ │ ├── hierarchy.rc │ │ ├── hierarchy.ico │ │ ├── hierarchy.def │ │ ├── hierarchy.inf │ │ ├── hierarchy.pro │ │ ├── main.cpp │ │ ├── CMakeLists.txt │ │ ├── doc │ │ │ └── snippets │ │ │ │ └── hierarchy-demo-snippet.qdoc │ │ ├── objects.h │ │ └── objects.cpp │ ├── testcontrol │ │ ├── testcontrol.rc │ │ ├── testcontrol.ico │ │ ├── testcontrol.html │ │ └── CMakeLists.txt │ ├── multiple │ │ ├── multipleax.ico │ │ ├── multipleax.def │ │ ├── multiple.inf │ │ ├── multiple.pro │ │ ├── main.cpp │ │ ├── CMakeLists.txt │ │ ├── multipleax.rc │ │ ├── ax1.h │ │ ├── ax2.h │ │ └── doc │ │ │ └── src │ │ │ └── multiple.qdoc │ ├── mediaplayer │ │ ├── doc │ │ │ ├── images │ │ │ │ └── activeqt-mediaplayer-example.jpg │ │ │ └── src │ │ │ │ └── mediaplayer.qdoc │ │ ├── mediaplayer.pro │ │ ├── CMakeLists.txt │ │ └── mediaaxwidget.h │ ├── CMakeLists.txt │ ├── shared │ │ ├── textdialog.h │ │ ├── metaobjectdump.h │ │ └── textdialog.cpp │ ├── dumpcpp │ │ ├── CMakeLists.txt │ │ └── main.cpp │ └── axviewer │ │ └── CMakeLists.txt ├── auto │ ├── qaxobjectcom │ │ ├── testserver │ │ │ ├── testserver.rc │ │ │ ├── testserver.def │ │ │ ├── testserverlib.idl │ │ │ ├── testserver.h │ │ │ └── CMakeLists.txt │ │ ├── tst_qaxobjectcom.exe.manifest.in │ │ └── CMakeLists.txt │ ├── cmake │ │ ├── test_target_typelibs │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── test_target_typelibs_absolute │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── test_target_typelibs_empty_libs │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── test_target_typelibs_non_existing_libs │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── test_target_typelibs_out_dir │ │ │ ├── main.cpp │ │ │ └── CMakeLists.txt │ │ ├── test_modules │ │ │ ├── container │ │ │ │ ├── axcontainer.cpp │ │ │ │ └── CMakeLists.txt │ │ │ └── server │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── axserver.cpp │ │ └── CMakeLists.txt │ ├── qbstr │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ ├── qaxscript │ │ └── CMakeLists.txt │ ├── qaxobject │ │ ├── CMakeLists.txt │ │ └── tst_qaxobject.cpp │ ├── qaxscriptmanager │ │ └── CMakeLists.txt │ ├── conversion │ │ ├── CMakeLists.txt │ │ └── testutil_p.h │ └── dumpcpp │ │ └── CMakeLists.txt └── CMakeLists.txt ├── src ├── activeqt │ ├── control │ │ ├── qaxserver.rc │ │ ├── qaxserver.ico │ │ ├── qaxserver.def │ │ ├── qaxmain.cpp │ │ ├── qaxbindable.h │ │ ├── qaxaggregated.h │ │ ├── CMakeLists.txt │ │ └── qclassfactory_p.h │ ├── doc │ │ ├── snippets │ │ │ ├── doc_src_qaxcontainer.pro │ │ │ ├── src_activeqt_container_qaxselect.cpp │ │ │ ├── src_activeqt_container_qaxscript.cpp │ │ │ ├── doc_src_qaxserver.pro │ │ │ ├── doc_src_qaxserver.qdoc │ │ │ ├── doc_src_activeqt-dumpcpp.cpp │ │ │ ├── qtactive-module-use.qdocinc │ │ │ └── src_activeqt_control_qaxbindable.cpp │ │ ├── CMakeLists.txt │ │ ├── ActiveQtDoc │ │ ├── src │ │ │ ├── qctiveqt-toc.qdoc │ │ │ ├── examples │ │ │ │ ├── opengl-demo.qdocinc │ │ │ │ ├── simple-demo.qdocinc │ │ │ │ ├── multiple-demo.qdocinc │ │ │ │ ├── hierarchy-demo.qdocinc │ │ │ │ └── wrapper-demo.qdocinc │ │ │ └── activeqt-dumpdoc.qdoc │ │ └── activeqt.qdocconf │ ├── activeqt.prx │ ├── container │ │ ├── qaxobjectinterface.h │ │ ├── qaxscriptwrapper.cpp │ │ ├── qaxselect.h │ │ ├── qaxobject_p.h │ │ ├── qaxwidget_p.h │ │ ├── CMakeLists.txt │ │ ├── qaxobjectinterface.qdoc │ │ └── qaxobject.h │ ├── axbase │ │ ├── CMakeLists.txt │ │ └── qaxtypefunctions_p.h │ ├── CMakeLists.txt │ └── shared │ │ └── qaxtypes_p.h ├── tools │ ├── CMakeLists.txt │ └── idc │ │ └── CMakeLists.txt └── CMakeLists.txt ├── .gitreview ├── tools ├── testcon │ ├── images │ │ ├── filenew.png │ │ ├── controlmethods.png │ │ └── controlproperties.png │ ├── scripts │ │ ├── javascript.js │ │ ├── vbscript.vbs │ │ ├── pythonscript.py │ │ ├── perlscript.pl │ │ └── hierarchyax.vbs │ ├── sandboxing.h │ ├── controlinfo.h │ ├── docuwindow.h │ ├── invokemethod.h │ ├── ambientproperties.h │ ├── changeproperties.h │ ├── testcon.rc │ ├── testcon.idl │ ├── CMakeLists.txt │ └── controlinfo.ui ├── CMakeLists.txt ├── dumpdoc │ └── CMakeLists.txt └── dumpcpp │ ├── moc.h │ └── CMakeLists.txt ├── dependencies.yaml ├── .cmake.conf ├── dist ├── REUSE.toml ├── changes-5.12.0 ├── changes-5.13.0 ├── changes-5.15.0 ├── changes-5.12.1 ├── changes-5.13.1 ├── changes-5.14.1 ├── changes-5.15.1 ├── changes-5.11.3 ├── changes-5.12.2 ├── changes-5.12.3 ├── changes-5.12.4 ├── changes-5.12.5 ├── changes-5.13.2 ├── changes-5.14.2 ├── changes-5.0.2 ├── changes-5.5.0 ├── changes-5.6.0 ├── changes-5.10.0 ├── changes-5.11.0 ├── changes-5.8.0 ├── changes-5.1.0 ├── changes-5.4.0 ├── changes-5.7.1 ├── changes-5.9.1 ├── changes-5.9.2 ├── changes-5.9.3 ├── changes-5.9.4 ├── changes-5.9.5 ├── changes-5.11.1 ├── changes-5.4.2 ├── changes-5.5.1 ├── changes-5.6.1 ├── changes-5.6.3 ├── changes-5.9.6 ├── changes-5.1.1 ├── changes-5.11.2 ├── changes-5.4.1 ├── changes-5.6.2 ├── changes-5.10.1 ├── changes-5.2.1 ├── changes-5.9.0 ├── changes-5.14.0 ├── changes-5.7.0 └── changes-5.0.1 ├── LICENSES ├── LicenseRef-Qt-Commercial.txt ├── Qt-GPL-exception-1.0.txt └── BSD-3-Clause.txt ├── CMakeLists.txt ├── coin └── module_config.yaml └── REUSE.toml /.tag: -------------------------------------------------------------------------------- 1 | 3a7599a5cbc24e6582b82c522c3c2f6c0b016ea3 2 | -------------------------------------------------------------------------------- /examples/activeqt/comapp/comapp.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "comapp.rc" 2 | -------------------------------------------------------------------------------- /examples/examples.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += activeqt 3 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "menus.rc" 2 | 1 ICON "menus.ico" 3 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/testserver/testserver.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "testserverlib.tlb" 2 | -------------------------------------------------------------------------------- /tests/manual/opengl/opengl.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "opengl.rc" 2 | 1 ICON "opengl.ico" 3 | -------------------------------------------------------------------------------- /examples/activeqt/simple/simple.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "simple.rc" 2 | 1 ICON "simple.ico" 3 | 4 | -------------------------------------------------------------------------------- /src/activeqt/control/qaxserver.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "qaxserver.rc" 2 | 1 ICON "qaxserver.ico" 3 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/hierarchy.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "hierarchy.rc" 2 | 1 ICON "hierarchy.ico" 3 | -------------------------------------------------------------------------------- /tests/manual/testcontrol/testcontrol.rc: -------------------------------------------------------------------------------- 1 | 1 TYPELIB "testcontrol.rc" 2 | 1 ICON "testcontrol.ico" 3 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=codereview.qt-project.org 3 | project=qt/qtactiveqt 4 | defaultbranch=dev 5 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/menus/menus.ico -------------------------------------------------------------------------------- /tests/manual/opengl/opengl.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/opengl/opengl.ico -------------------------------------------------------------------------------- /tools/testcon/images/filenew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tools/testcon/images/filenew.png -------------------------------------------------------------------------------- /examples/activeqt/simple/simple.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/examples/activeqt/simple/simple.ico -------------------------------------------------------------------------------- /src/activeqt/control/qaxserver.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/src/activeqt/control/qaxserver.ico -------------------------------------------------------------------------------- /tests/manual/hierarchy/hierarchy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/hierarchy/hierarchy.ico -------------------------------------------------------------------------------- /tests/manual/multiple/multipleax.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/multiple/multipleax.ico -------------------------------------------------------------------------------- /examples/activeqt/wrapper/wrapperax.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/examples/activeqt/wrapper/wrapperax.ico -------------------------------------------------------------------------------- /tests/manual/testcontrol/testcontrol.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/testcontrol/testcontrol.ico -------------------------------------------------------------------------------- /tools/testcon/images/controlmethods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tools/testcon/images/controlmethods.png -------------------------------------------------------------------------------- /dependencies.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | ../qtbase: 3 | ref: df1292e2b96aab02ad6df778d8336e7958ad5d1c 4 | required: true 5 | -------------------------------------------------------------------------------- /tools/testcon/images/controlproperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tools/testcon/images/controlproperties.png -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/testserver/testserver.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | -------------------------------------------------------------------------------- /examples/activeqt/activeqt.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += comapp \ 3 | simple \ 4 | wrapper 5 | -------------------------------------------------------------------------------- /src/tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(idc) 5 | -------------------------------------------------------------------------------- /tests/manual/mediaplayer/doc/images/activeqt-mediaplayer-example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtactiveqt/dev/tests/manual/mediaplayer/doc/images/activeqt-mediaplayer-example.jpg -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(activeqt) 5 | if(WIN32) 6 | add_subdirectory(tools) 7 | endif() 8 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /tests/manual/opengl/opengl.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /examples/activeqt/simple/simple.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/hierarchy.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /tests/manual/multiple/multipleax.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/wrapperax.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DumpIDL PRIVATE 7 | -------------------------------------------------------------------------------- /.cmake.conf: -------------------------------------------------------------------------------- 1 | set(QT_REPO_MODULE_VERSION "6.12.0") 2 | set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") 3 | set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_QASCONST=1") 4 | list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_FOREACH=1") 5 | -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | qt_examples_build_begin(EXTERNAL_BUILD) 5 | 6 | add_subdirectory(activeqt) 7 | 8 | qt_examples_build_end() 9 | -------------------------------------------------------------------------------- /src/activeqt/control/qaxserver.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | DllCanUnloadNow PRIVATE 3 | DllGetClassObject PRIVATE 4 | DllRegisterServer PRIVATE 5 | DllUnregisterServer PRIVATE 6 | DllInstall PRIVATE 7 | DumpIDL PRIVATE 8 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/doc_src_qaxcontainer.pro: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #! [0] 5 | QT += axcontainer 6 | #! [0] 7 | 8 | 9 | #! [1] 10 | TYPELIBS = file.tlb 11 | #! [1] 12 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.inf: -------------------------------------------------------------------------------- 1 | [version] 2 | signature="$CHICAGO$" 3 | AdvancedINF=2.0 4 | [Add.Code] 5 | menusax.exe=menusax.exe 6 | [menusax.exe] 7 | file-win32-x86=thiscab 8 | clsid={4dc3f340-a6f7-44e4-a79b-3e9217695fbd} 9 | RegisterServer=yes 10 | -------------------------------------------------------------------------------- /tests/manual/opengl/opengl.inf: -------------------------------------------------------------------------------- 1 | [version] 2 | signature="$CHICAGO$" 3 | AdvancedINF=2.0 4 | [Add.Code] 5 | openglax.exe=openglax.exe 6 | [openglax.exe] 7 | file-win32-x86=thiscab 8 | clsid={5fd9c22e-ed45-43fa-ba13-1530bb6b03e0} 9 | RegisterServer=yes 10 | -------------------------------------------------------------------------------- /dist/REUSE.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | [[annotations]] 4 | path = ["*"] 5 | precedence = "override" 6 | comment = "Licensed as documentation" 7 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 8 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only" 9 | -------------------------------------------------------------------------------- /tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | qt_exclude_tool_directories_from_default_target( 5 | testcon 6 | ) 7 | 8 | add_subdirectory(dumpdoc) 9 | add_subdirectory(dumpcpp) 10 | add_subdirectory(testcon) 11 | -------------------------------------------------------------------------------- /examples/activeqt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | if(MSVC) 5 | qt_internal_add_example(comapp) 6 | qt_internal_add_example(simple) 7 | qt_internal_add_example(wrapper) 8 | endif() 9 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/wrapper.inf: -------------------------------------------------------------------------------- 1 | [version] 2 | signature="$CHICAGO$" 3 | AdvancedINF=2.0 4 | [Add.Code] 5 | wrapperax.dll=wrapperax.dll 6 | [wrapperax.dll] 7 | file-win32-x86=thiscab 8 | clsid={23F5012A-7333-43D3-BCA8-836AABC61B4A} 9 | RegisterServer=yes 10 | -------------------------------------------------------------------------------- /tests/manual/mediaplayer/mediaplayer.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | 3 | QT += widgets axcontainer 4 | 5 | HEADERS = mediaaxwidget.h 6 | SOURCES = main.cpp 7 | FORMS = mainwindow.ui 8 | 9 | # install 10 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/mediaplayer 11 | INSTALLS += target 12 | -------------------------------------------------------------------------------- /tests/manual/multiple/multiple.inf: -------------------------------------------------------------------------------- 1 | [version] 2 | signature="$CHICAGO$" 3 | AdvancedINF=2.0 4 | [Add.Code] 5 | multipleax.dll=multipleax.dll 6 | [multipleax.dll] 7 | file-win32-x86=thiscab 8 | clsid={1D9928BD-4453-4bdd-903D-E525ED17FDE5} 9 | RegisterServer=yes 10 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/hierarchy.inf: -------------------------------------------------------------------------------- 1 | [version] 2 | signature="$CHICAGO$" 3 | AdvancedINF=2.0 4 | [Add.Code] 5 | hierarchyax.dll=hierarchyax.dll 6 | [hierarchyax.dll] 7 | file-win32-x86=thiscab 8 | clsid={d574a747-8016-46db-a07c-b2b4854ee75c} 9 | RegisterServer=yes 10 | -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | if(QT_BUILD_STANDALONE_TESTS) 5 | # Add qt_find_package calls for extra dependencies that need to be found when building 6 | # the standalone tests here. 7 | endif() 8 | qt_build_tests() 9 | -------------------------------------------------------------------------------- /examples/activeqt/comapp/comapp.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = app 4 | QT += axserver 5 | 6 | QT += widgets 7 | 8 | # Input 9 | SOURCES += main.cpp 10 | 11 | RC_FILE = comapp.rc 12 | 13 | # install 14 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/comapp 15 | INSTALLS += target 16 | -------------------------------------------------------------------------------- /examples/activeqt/simple/simple.inf: -------------------------------------------------------------------------------- 1 | //! [0] 2 | [version] 3 | signature="$CHICAGO$" 4 | AdvancedINF=2.0 5 | [Add.Code] 6 | simpleax.exe=simpleax.exe 7 | [simpleax.exe] 8 | file-win32-x86=thiscab 9 | clsid={DF16845C-92CD-4AAB-A982-EB9840E74669} 10 | RegisterServer=yes 11 | //! [0] 12 | -------------------------------------------------------------------------------- /examples/activeqt/shared.pri: -------------------------------------------------------------------------------- 1 | # This .pri file suppresses the registration of the examples in the 2 | # Qt Continuous Integration infrastructure. 3 | QT_CI_JENKINS_HOME=$$(JENKINS_HOME) 4 | !isEmpty(QT_CI_JENKINS_HOME) { 5 | message("Qt CI environment detected, suppressing example registration") 6 | CONFIG += qaxserver_no_postlink 7 | } 8 | -------------------------------------------------------------------------------- /examples/activeqt/simple/simple.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = app 4 | TARGET = simpleax 5 | 6 | CONFIG += warn_off 7 | QT += widgets axserver 8 | 9 | SOURCES = main.cpp 10 | RC_FILE = simple.rc 11 | DEF_FILE = simple.def 12 | 13 | # install 14 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/simple 15 | INSTALLS += target 16 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "ieframe.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | SHDocVw::WebBrowser* webBrowser = new SHDocVw::WebBrowser; 9 | delete webBrowser; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/wrapper.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = lib 4 | TARGET = wrapperax 5 | 6 | CONFIG += warn_off dll 7 | QT += widgets axserver 8 | 9 | SOURCES = main.cpp 10 | RC_FILE = wrapperax.rc 11 | DEF_FILE = wrapperax.def 12 | 13 | # install 14 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/wrapper 15 | INSTALLS += target 16 | -------------------------------------------------------------------------------- /src/activeqt/activeqt.prx: -------------------------------------------------------------------------------- 1 | # Only headers here, no library is wanted. 2 | TEMPLATE = subdirs 3 | VERSION = $$MODULE_VERSION 4 | MODULE_INCNAME = ActiveQt 5 | 6 | QMAKE_DOCS = $$PWD/doc/activeqt.qdocconf 7 | QMAKE_DOCS_TARGETDIR = # Make qt_docs.prf default to activeqt instead of qtaxbase 8 | 9 | load(qt_module_headers) 10 | load(qt_docs) 11 | load(qt_installs) 12 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_absolute/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "ieframe.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | SHDocVw::WebBrowser* webBrowser = new SHDocVw::WebBrowser; 9 | delete webBrowser; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /tests/manual/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(axviewer) 5 | add_subdirectory(dumpcpp) 6 | add_subdirectory(hierarchy) 7 | add_subdirectory(mediaplayer) 8 | add_subdirectory(menus) 9 | add_subdirectory(multiple) 10 | add_subdirectory(opengl) 11 | add_subdirectory(testcontrol) 12 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_empty_libs/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "ieframe.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | SHDocVw::WebBrowser* webBrowser = new SHDocVw::WebBrowser; 9 | delete webBrowser; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = app 4 | TARGET = menusax 5 | 6 | CONFIG += warn_off 7 | QT += widgets axserver 8 | 9 | SOURCES = main.cpp menus.cpp 10 | HEADERS = menus.h 11 | RC_FILE = menus.rc 12 | DEF_FILE = menus.def 13 | 14 | # install 15 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/menus 16 | INSTALLS += target 17 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_non_existing_libs/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "ieframe.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | SHDocVw::WebBrowser* webBrowser = new SHDocVw::WebBrowser; 9 | delete webBrowser; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_out_dir/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2021 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "typelibs/ieframe.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | SHDocVw::WebBrowser* webBrowser = new SHDocVw::WebBrowser; 9 | delete webBrowser; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/src_activeqt_container_qaxselect.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | //! [0] 5 | QAxSelect select; 6 | if (select.exec()) { 7 | QAxWidget *container = new QAxWidget; 8 | container->setControl(select.clsid()); 9 | container->show(); 10 | } 11 | //! [0] 12 | -------------------------------------------------------------------------------- /tests/manual/multiple/multiple.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = lib 4 | TARGET = multipleax 5 | 6 | CONFIG += warn_off dll 7 | QT += widgets axserver 8 | 9 | SOURCES = main.cpp 10 | HEADERS = ax1.h ax2.h 11 | RC_FILE = multipleax.rc 12 | DEF_FILE = multipleax.def 13 | 14 | # install 15 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/multiple 16 | INSTALLS += target 17 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/hierarchy.pro: -------------------------------------------------------------------------------- 1 | include(../shared.pri) 2 | 3 | TEMPLATE = lib 4 | TARGET = hierarchyax 5 | 6 | CONFIG += warn_off dll 7 | QT += widgets axserver 8 | 9 | SOURCES = objects.cpp main.cpp 10 | HEADERS = objects.h 11 | RC_FILE = hierarchy.rc 12 | DEF_FILE = hierarchy.def 13 | 14 | # install 15 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/hierarchy 16 | INSTALLS += target 17 | -------------------------------------------------------------------------------- /tests/manual/shared/textdialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | 6 | #ifndef TEXTDIALOG_H 7 | #define TEXTDIALOG_H 8 | 9 | class TextDialog : public QDialog 10 | { 11 | public: 12 | explicit TextDialog(const QString &text, QWidget *parent = nullptr); 13 | }; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | //! [0] 5 | #include "objects.h" 6 | #include 7 | 8 | QAXFACTORY_BEGIN("{9e626211-be62-4d18-9483-9419358fbb03}", "{75c276de-1df5-451f-a004-e4fa1a587df1}") 9 | QAXCLASS(QParentWidget) 10 | QAXTYPE(QSubWidget) 11 | QAXFACTORY_END() 12 | //! [0] 13 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_modules/container/axcontainer.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | int main(int argc, char **argv) 9 | { 10 | QAxWidget w; 11 | } 12 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_modules/server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | 6 | project(cmake_axserver) 7 | 8 | find_package(Qt6 COMPONENTS Core Gui Widgets AxServer CONFIG REQUIRED) 9 | add_executable(axserverapp WIN32 axserver.cpp) 10 | target_link_libraries(axserverapp Qt6::Core Qt6::Gui Qt6::Widgets Qt6::AxServer) 11 | -------------------------------------------------------------------------------- /tests/manual/shared/metaobjectdump.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef METAOBJECTDUMP_H 5 | #define METAOBJECTDUMP_H 6 | 7 | #include 8 | 9 | QT_FORWARD_DECLARE_STRUCT(QMetaObject); 10 | QT_FORWARD_DECLARE_CLASS(QTextStream); 11 | 12 | QTextStream &operator<<(QTextStream &str, const QMetaObject &o); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /src/activeqt/control/qaxmain.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include 5 | #include 6 | 7 | int main(int argc, char **argv) 8 | { 9 | QT_USE_NAMESPACE 10 | QAxFactory::startServer(); 11 | QApplication app(argc, argv); 12 | app.setQuitOnLastWindowClosed(false); 13 | 14 | return app.exec(); 15 | } 16 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_modules/container/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | 6 | project(cmake_axcontainer) 7 | 8 | find_package(Qt6 COMPONENTS Core Gui Widgets AxContainer CONFIG REQUIRED) 9 | add_executable(axcontainerapp axcontainer.cpp) 10 | target_link_libraries(axcontainerapp Qt6::Core Qt6::Gui Qt6::Widgets Qt6::AxContainer) 11 | -------------------------------------------------------------------------------- /tests/manual/opengl/opengl.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = openglax 3 | 4 | CONFIG += warn_off 5 | QT += widgets axserver opengl openglwidgets 6 | 7 | HEADERS = glbox.h \ 8 | globjwin.h 9 | SOURCES = glbox.cpp \ 10 | globjwin.cpp \ 11 | main.cpp 12 | 13 | RC_FILE = opengl.rc 14 | DEF_FILE = opengl.def 15 | 16 | # install 17 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/opengl 18 | INSTALLS += target 19 | -------------------------------------------------------------------------------- /tests/manual/menus/doc/snippets/doc_src_examples_activeqt_menus.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | //! [0] 5 | 7 | [Object not available! Did you forget to build and register the server?] 8 | 9 | //! [0] 10 | -------------------------------------------------------------------------------- /tests/manual/multiple/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | //! [0] 5 | #include "ax1.h" 6 | #include "ax2.h" 7 | #include 8 | 9 | QT_USE_NAMESPACE 10 | 11 | QAXFACTORY_BEGIN("{98DE28B6-6CD3-4e08-B9FA-3D1DB43F1D2F}", "{05828915-AD1C-47ab-AB96-D6AD1E25F0E2}") 12 | QAXCLASS(QAxWidget1) 13 | QAXCLASS(QAxWidget2) 14 | QAXFACTORY_END() 15 | //! [0] 16 | -------------------------------------------------------------------------------- /tests/manual/testcontrol/testcontrol.html: -------------------------------------------------------------------------------- 1 | 6 | 8 | [Object not available! Did you forget to build and register the server?] 9 | 10 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/src_activeqt_container_qaxscript.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | //! [0] 5 | function setNumber(number) 6 | { 7 | n = number; 8 | } 9 | //! [0] 10 | 11 | 12 | //! [1] 13 | QValueList args; 14 | args << 5; 15 | script->call("setNumber(const QVariant&)", args); 16 | //! [1] 17 | 18 | 19 | //! [2] 20 | script->call("setNumber(5)"); 21 | //! [2] 22 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_empty_libs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(tst_typelibs) 6 | 7 | find_package(Qt6 COMPONENTS AxContainer Gui Widgets CONFIG REQUIRED) 8 | 9 | add_executable(tst_typelibs main.cpp) 10 | target_link_libraries(tst_typelibs PRIVATE Qt6::AxContainer Qt6::Gui Qt6::Widgets) 11 | 12 | qt6_target_typelibs(tst_typelibs) 13 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | //! [0] 5 | #include "addressview.h" 6 | #include 7 | 8 | int main(int argc, char *argv[]) 9 | { 10 | QApplication a(argc, argv); 11 | 12 | AddressView view; 13 | view.setWindowTitle(QObject::tr("Qt Example - Looking at Outlook")); 14 | view.show(); 15 | 16 | return a.exec(); 17 | } 18 | //! [0] 19 | -------------------------------------------------------------------------------- /src/activeqt/doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_library(ActiveQt INTERFACE) 5 | 6 | # ensure that QtCore include path is passed to QDoc on documentation builds 7 | # on non-Windows platforms 8 | if(NOT WIN32) 9 | if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.19") 10 | target_link_libraries(ActiveQt INTERFACE Qt::Core) 11 | endif() 12 | endif() 13 | 14 | qt_internal_add_docs(ActiveQt activeqt.qdocconf) 15 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(tst_typelibs) 6 | 7 | find_package(Qt6 COMPONENTS AxContainer Gui Widgets CONFIG REQUIRED) 8 | 9 | add_executable(tst_typelibs main.cpp) 10 | target_link_libraries(tst_typelibs PRIVATE Qt6::AxContainer Qt6::Gui Qt6::Widgets) 11 | 12 | qt6_target_typelibs(tst_typelibs LIBRARIES "ieframe.dll") 13 | -------------------------------------------------------------------------------- /tests/auto/qbstr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 5 | cmake_minimum_required(VERSION 3.16) 6 | project(tst_qbstr LANGUAGES CXX) 7 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 8 | endif() 9 | 10 | qt_internal_add_test(tst_qbstr 11 | SOURCES 12 | tst_qbstr.cpp 13 | LIBRARIES 14 | Qt::AxBasePrivate 15 | ) 16 | -------------------------------------------------------------------------------- /LICENSES/LicenseRef-Qt-Commercial.txt: -------------------------------------------------------------------------------- 1 | Licensees holding valid commercial Qt licenses may use this software in 2 | accordance with the the terms contained in a written agreement between 3 | you and The Qt Company. Alternatively, the terms and conditions that were 4 | accepted by the licensee when buying and/or downloading the 5 | software do apply. 6 | 7 | For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions. 8 | For further information use the contact form at https://www.qt.io/contact-us. 9 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/doc_src_qaxserver.pro: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #! [0] 5 | TEMPLATE = app 6 | QT += axserver 7 | 8 | RC_FILE = qaxserver.rc 9 | ... 10 | #! [0] 11 | 12 | 13 | #! [1] 14 | TEMPLATE = lib 15 | QT += axserver 16 | CONFIG += dll 17 | 18 | DEF_FILE = qaxserver.def 19 | RC_FILE = qaxserver.rc 20 | ... 21 | #! [1] 22 | 23 | 24 | #! [2] 25 | TEMPLATE = lib 26 | VERSION = 2.5 27 | ... 28 | #! [2] 29 | -------------------------------------------------------------------------------- /tests/manual/menus/filesave.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *filesave[] = { 3 | " 14 14 4 1", 4 | ". c #040404", 5 | "# c #808304", 6 | "a c #bfc2bf", 7 | "b c None", 8 | "..............", 9 | ".#.aaaaaaaa.a.", 10 | ".#.aaaaaaaa...", 11 | ".#.aaaaaaaa.#.", 12 | ".#.aaaaaaaa.#.", 13 | ".#.aaaaaaaa.#.", 14 | ".#.aaaaaaaa.#.", 15 | ".##........##.", 16 | ".############.", 17 | ".##.........#.", 18 | ".##......aa.#.", 19 | ".##......aa.#.", 20 | ".##......aa.#.", 21 | "b............." 22 | }; 23 | -------------------------------------------------------------------------------- /examples/activeqt/README: -------------------------------------------------------------------------------- 1 | Qt is supplied with a number of example applications and demonstrations that 2 | have been written to provide developers with examples of the Qt API in use, 3 | highlight good programming practice, and showcase features found in each of 4 | Qt's core technologies. 5 | 6 | Documentation for examples can be found via the Examples and Tutorials link 7 | in the main Qt documentation. The examples and their documentation can also 8 | be opened from the Examples tab of Qt Creator's Welcome mode. 9 | 10 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/filesave.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *filesave[] = { 3 | " 14 14 4 1", 4 | ". c #040404", 5 | "# c #808304", 6 | "a c #bfc2bf", 7 | "b c None", 8 | "..............", 9 | ".#.aaaaaaaa.a.", 10 | ".#.aaaaaaaa...", 11 | ".#.aaaaaaaa.#.", 12 | ".#.aaaaaaaa.#.", 13 | ".#.aaaaaaaa.#.", 14 | ".#.aaaaaaaa.#.", 15 | ".##........##.", 16 | ".############.", 17 | ".##.........#.", 18 | ".##......aa.#.", 19 | ".##......aa.#.", 20 | ".##......aa.#.", 21 | "b............." 22 | }; 23 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/doc_src_qaxserver.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | //! [12] 5 | cabarc N simpleax.cab simpleax.exe simple.inf 6 | //! [12] 7 | 8 | 9 | //! [13] 10 | 11 | ... 12 | <\object> 13 | //! [13] 14 | 15 | 16 | //! [14] 17 | 18 | 19 | <\object> 20 | //! [14] 21 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_absolute/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(tst_typelibs) 6 | 7 | find_package(Qt6 COMPONENTS AxContainer Gui Widgets CONFIG REQUIRED) 8 | 9 | add_executable(tst_typelibs main.cpp) 10 | target_link_libraries(tst_typelibs PRIVATE Qt6::AxContainer Qt6::Gui Qt6::Widgets) 11 | 12 | qt6_target_typelibs(tst_typelibs LIBRARIES "$ENV{SystemRoot}/System32/ieframe.dll") 13 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/tst_qaxobjectcom.exe.manifest.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/testcon/scripts/javascript.js: -------------------------------------------------------------------------------- 1 | function QAxWidget2::Click() 2 | { 3 | QAxWidget2.lineWidth++; 4 | MainWindow.logMacro(0, "Hello from JavaScript: QAxWidget2::Click", 0, ""); 5 | } 6 | 7 | function fatLines() 8 | { 9 | QAxWidget2.lineWidth = 25; 10 | } 11 | 12 | function thinLines() 13 | { 14 | QAxWidget2.lineWidth = 1; 15 | } 16 | 17 | function setLineWidth(width) 18 | { 19 | QAxWidget2.lineWidth = width; 20 | } 21 | 22 | function getLineWidth() 23 | { 24 | return(QAxWidget2.lineWidth) 25 | } 26 | -------------------------------------------------------------------------------- /tools/testcon/scripts/vbscript.vbs: -------------------------------------------------------------------------------- 1 | Sub QAxWidget2_Click 2 | QAxWidget2.lineWidth = QAxWidget2.lineWidth + 1 3 | MainWindow.logMacro 0, "Hello from VBScript: QAxWidget2_Click", 0, "" 4 | End Sub 5 | 6 | Sub fatLines 7 | QAxWidget2.lineWidth = 25 8 | End Sub 9 | 10 | Sub thinLines 11 | QAxWidget2.lineWidth = 1 12 | End Sub 13 | 14 | Sub setLineWidth(width) 15 | QAxWidget2.lineWidth = width 16 | End Sub 17 | 18 | Public Function getLineWidth 19 | getLineWidth = QAxWidget2.lineWidth 20 | End Function 21 | -------------------------------------------------------------------------------- /src/activeqt/doc/ActiveQtDoc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "qaxaggregated.h" 6 | #include "qaxbase.h" 7 | #include "qaxbindable.h" 8 | #include "qaxfactory.h" 9 | #include "qaxobject.h" 10 | #include "qaxobjectinterface.h" 11 | #include "qaxscript.h" 12 | #include "qaxselect.h" 13 | #include "qaxtypefunctions.h" 14 | #include "qaxtypes.h" 15 | #include "qaxwidget.h" 16 | #include "qaxutils_p.h" 17 | 18 | #ifndef WINAPI 19 | #define WINAPI 20 | #endif 21 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_non_existing_libs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(tst_typelibs) 6 | 7 | find_package(Qt6 COMPONENTS AxContainer Gui Widgets CONFIG REQUIRED) 8 | 9 | add_executable(tst_typelibs main.cpp) 10 | target_link_libraries(tst_typelibs PRIVATE Qt6::AxContainer Qt6::Gui Qt6::Widgets) 11 | 12 | qt6_target_typelibs(tst_typelibs LIBRARIES "ieframe.dll" "qt100notexistinglib.dll") 13 | -------------------------------------------------------------------------------- /tests/manual/menus/fileopen.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *fileopen[] = { 3 | " 16 13 5 1", 4 | ". c #040404", 5 | "# c #808304", 6 | "a c None", 7 | "b c #f3f704", 8 | "c c #f3f7f3", 9 | "aaaaaaaaa...aaaa", 10 | "aaaaaaaa.aaa.a.a", 11 | "aaaaaaaaaaaaa..a", 12 | "a...aaaaaaaa...a", 13 | ".bcb.......aaaaa", 14 | ".cbcbcbcbc.aaaaa", 15 | ".bcbcbcbcb.aaaaa", 16 | ".cbcb...........", 17 | ".bcb.#########.a", 18 | ".cb.#########.aa", 19 | ".b.#########.aaa", 20 | "..#########.aaaa", 21 | "...........aaaaa" 22 | }; 23 | -------------------------------------------------------------------------------- /tools/testcon/sandboxing.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef SANDBOXING_H 5 | #define SANDBOXING_H 6 | #include 7 | #include 8 | 9 | 10 | class Sandboxing 11 | { 12 | public: 13 | static std::unique_ptr Create(QAxSelect::SandboxingLevel level, const QString &clsid); 14 | 15 | Sandboxing() {} 16 | 17 | virtual ~Sandboxing() {} 18 | }; 19 | 20 | #endif // SANDBOXING_H 21 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/fileopen.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *fileopen[] = { 3 | " 16 13 5 1", 4 | ". c #040404", 5 | "# c #808304", 6 | "a c None", 7 | "b c #f3f704", 8 | "c c #f3f7f3", 9 | "aaaaaaaaa...aaaa", 10 | "aaaaaaaa.aaa.a.a", 11 | "aaaaaaaaaaaaa..a", 12 | "a...aaaaaaaa...a", 13 | ".bcb.......aaaaa", 14 | ".cbcbcbcbc.aaaaa", 15 | ".bcbcbcbcb.aaaaa", 16 | ".cbcb...........", 17 | ".bcb.#########.a", 18 | ".cb.#########.aa", 19 | ".b.#########.aaa", 20 | "..#########.aaaa", 21 | "...........aaaaa" 22 | }; 23 | -------------------------------------------------------------------------------- /tests/auto/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(conversion) 5 | add_subdirectory(qaxobject) 6 | add_subdirectory(dumpcpp) 7 | if(NOT (WIN32 AND CMAKE_CROSSCOMPILING)) 8 | add_subdirectory(cmake) 9 | endif() 10 | add_subdirectory(qbstr) 11 | 12 | find_program(midl midl.exe) 13 | if (midl) 14 | add_subdirectory(qaxobjectcom) 15 | endif() 16 | 17 | if(NOT GCC) 18 | add_subdirectory(qaxscript) 19 | add_subdirectory(qaxscriptmanager) 20 | endif() 21 | -------------------------------------------------------------------------------- /src/tools/idc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## idc Tool: 6 | ##################################################################### 7 | 8 | qt_get_tool_target_name(target_name idc) 9 | qt_internal_add_tool(${target_name} 10 | TARGET_DESCRIPTION "Active Qt Interface Description Compiler" 11 | TOOLS_TARGET AxServer 12 | SOURCES 13 | main.cpp 14 | ) 15 | qt_internal_return_unless_building_tools() 16 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/qutlook.pro: -------------------------------------------------------------------------------- 1 | #! [0] #! [1] 2 | TEMPLATE = app 3 | TARGET = qutlook 4 | QT += widgets axcontainer 5 | 6 | TYPELIBS = $$system(dumpcpp -getfile {00062FFF-0000-0000-C000-000000000046}) 7 | #! [0] 8 | 9 | isEmpty(TYPELIBS) { 10 | message("Microsoft Outlook type library not found!") 11 | REQUIRES += Outlook 12 | } else { 13 | #! [1] #! [2] 14 | HEADERS = addressview.h 15 | SOURCES = addressview.cpp main.cpp 16 | } 17 | #! [2] 18 | 19 | # install 20 | target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/qutlook 21 | INSTALLS += target 22 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_modules/server/axserver.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | QT_BEGIN_NAMESPACE 9 | QAxFactory *qax_instantiate() 10 | { 11 | return 0; 12 | } 13 | QT_END_NAMESPACE 14 | 15 | int main(int argc, char **argv) 16 | { 17 | QAxFactory::isServer(); 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /tools/testcon/controlinfo.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef CONTROLINFO_H 5 | #define CONTROLINFO_H 6 | 7 | #include 8 | #include "ui_controlinfo.h" 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class ControlInfo : public QDialog, Ui::ControlInfo 13 | { 14 | Q_OBJECT 15 | public: 16 | ControlInfo(QWidget *parent); 17 | 18 | void setControl(QWidget *activex); 19 | }; 20 | 21 | QT_END_NAMESPACE 22 | 23 | #endif // CONTROLINFO_H 24 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/fileprint.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *fileprint[] = { 3 | " 16 14 6 1", 4 | ". c #000000", 5 | "# c #848284", 6 | "a c #c6c3c6", 7 | "b c #ffff00", 8 | "c c #ffffff", 9 | "d c None", 10 | "ddddd.........dd", 11 | "dddd.cccccccc.dd", 12 | "dddd.c.....c.ddd", 13 | "ddd.cccccccc.ddd", 14 | "ddd.c.....c....d", 15 | "dd.cccccccc.a.a.", 16 | "d..........a.a..", 17 | ".aaaaaaaaaa.a.a.", 18 | ".............aa.", 19 | ".aaaaaa###aa.a.d", 20 | ".aaaaaabbbaa...d", 21 | ".............a.d", 22 | "d.aaaaaaaaa.a.dd", 23 | "dd...........ddd" 24 | }; 25 | -------------------------------------------------------------------------------- /tests/manual/testcontrol/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## testcontrol Binary: 6 | ##################################################################### 7 | 8 | qt_internal_add_manual_test(tst_testcontrol_manual 9 | GUI 10 | SOURCES 11 | main.cpp 12 | testcontrol.rc 13 | LIBRARIES 14 | Qt::AxServer 15 | Qt::Gui 16 | Qt::Widgets 17 | ) 18 | qt_disable_warnings(tst_testcontrol_manual) 19 | qt6_target_idl(tst_testcontrol_manual) 20 | -------------------------------------------------------------------------------- /tools/testcon/scripts/pythonscript.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (C) 2016 The Qt Company Ltd. 3 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 4 | 5 | def QAxWidget2_Click(): 6 | QAxWidget2.lineWidth = QAxWidget2.lineWidth + 1; 7 | MainWindow.logMacro(0, "Hello from Python: QAxWidget2_Click", 0, ""); 8 | 9 | def fatLines(): 10 | QAxWidget2.lineWidth = 25; 11 | 12 | def thinLines(): 13 | QAxWidget2.lineWidth = 1; 14 | 15 | def setLineWidth(width): 16 | QAxWidget2.lineWidth = width; 17 | 18 | def getLineWidth(): 19 | return QAxWidget2.lineWidth; 20 | -------------------------------------------------------------------------------- /tests/auto/cmake/test_target_typelibs_out_dir/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(tst_typelibs) 6 | 7 | find_package(Qt6 COMPONENTS AxContainer Gui Widgets CONFIG REQUIRED) 8 | 9 | add_executable(tst_typelibs main.cpp) 10 | target_link_libraries(tst_typelibs PRIVATE Qt6::AxContainer Qt6::Gui Qt6::Widgets) 11 | target_include_directories(tst_typelibs PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") 12 | 13 | qt6_target_typelibs(tst_typelibs LIBRARIES "ieframe.dll" 14 | OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/typelibs" 15 | ) 16 | -------------------------------------------------------------------------------- /tools/dumpdoc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## dumpdoc Tool: 6 | ##################################################################### 7 | 8 | qt_get_tool_target_name(target_name dumpdoc) 9 | qt_internal_add_tool(${target_name} 10 | TARGET_DESCRIPTION "Active Qt DumpDoc" 11 | TOOLS_TARGET AxContainer 12 | SOURCES 13 | main.cpp 14 | LIBRARIES 15 | Qt::AxContainer 16 | Qt::Gui 17 | Qt::Widgets 18 | ) 19 | qt_internal_return_unless_building_tools() 20 | -------------------------------------------------------------------------------- /tools/testcon/docuwindow.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef DOCUWINDOW_H 5 | #define DOCUWINDOW_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QTextBrowser; 12 | 13 | class DocuWindow : public QMainWindow 14 | { 15 | Q_OBJECT 16 | public: 17 | DocuWindow(const QString& docu, QWidget *parent = nullptr); 18 | 19 | public slots: 20 | void save(); 21 | void print(); 22 | 23 | private: 24 | QTextBrowser *browser; 25 | }; 26 | 27 | QT_END_NAMESPACE 28 | 29 | #endif // DOCUWINDOW_H 30 | -------------------------------------------------------------------------------- /tools/dumpcpp/moc.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef __MOC__ 5 | #define __MOC__ 6 | 7 | #include 8 | 9 | QT_FORWARD_DECLARE_CLASS(QMetaEnum); 10 | QT_FORWARD_DECLARE_CLASS(QTextStream); 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | QByteArray setterName(const QByteArray &propertyName); 15 | 16 | void formatCppEnum(QTextStream &str, const QMetaEnum &metaEnum); 17 | 18 | QString mocCode(const QMetaObject *, const QString &qualifiedClassName, 19 | QString *errorString); 20 | 21 | QT_END_NAMESPACE 22 | 23 | #endif // __MOC__ 24 | -------------------------------------------------------------------------------- /tests/auto/qaxscript/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## tst_QAxScript Test: 6 | ##################################################################### 7 | 8 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 9 | cmake_minimum_required(VERSION 3.16) 10 | project(tst_qaxscript LANGUAGES CXX) 11 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 12 | endif() 13 | 14 | qt_internal_add_test(tst_qaxscript 15 | SOURCES 16 | tst_qaxscript.cpp 17 | LIBRARIES 18 | Qt::AxContainer 19 | ) 20 | -------------------------------------------------------------------------------- /tests/manual/menus/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## menus Executable: 6 | ##################################################################### 7 | 8 | set(CMAKE_AUTOMOC ON) 9 | 10 | qt_internal_add_manual_test(tst_menus 11 | GUI 12 | SOURCES 13 | main.cpp 14 | menus.cpp menus.h 15 | menus.def 16 | menus.rc 17 | LIBRARIES 18 | Qt::AxServer 19 | Qt::Core 20 | Qt::Gui 21 | Qt::Widgets 22 | ) 23 | 24 | qt_disable_warnings(tst_menus) 25 | qt6_target_idl(tst_menus) 26 | -------------------------------------------------------------------------------- /tools/testcon/scripts/perlscript.pl: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | sub QAxWidget2_Click { 5 | $QAxWidget2->{'lineWidth'} = $QAxWidget2->{'lineWidth'} + 1; 6 | $MainWindow->logMacro(0, "Hello from Perl: QAxWidget2_Click", 0, ""); 7 | } 8 | 9 | sub fatLines 10 | { 11 | $QAxWidget2->{'lineWidth'} = 25; 12 | } 13 | 14 | sub thinLines 15 | { 16 | $QAxWidget2->{'lineWidth'} = 1; 17 | } 18 | 19 | sub setLineWidth(width) 20 | { 21 | $QAxWidget2->{'lineWidth'} = width; 22 | } 23 | 24 | sub getLineWidth() 25 | { 26 | return $QAxWidget2->{'lineWidth'}; 27 | } 28 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## hierarchy Library: 6 | ##################################################################### 7 | 8 | set(CMAKE_AUTOMOC ON) 9 | 10 | qt_internal_add_manual_test(tst_hierarchy 11 | GUI 12 | SOURCES 13 | main.cpp 14 | objects.cpp objects.h 15 | hierarchy.def 16 | hierarchy.rc 17 | LIBRARIES 18 | Qt::AxServer 19 | Qt::Gui 20 | Qt::Widgets 21 | ) 22 | 23 | qt_disable_warnings(tst_hierarchy) 24 | qt6_target_idl(tst_hierarchy) 25 | -------------------------------------------------------------------------------- /tests/manual/multiple/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## multiple Binary: 6 | ##################################################################### 7 | 8 | set(CMAKE_AUTOMOC ON) 9 | 10 | qt_internal_add_manual_test(tst_multiple 11 | GUI 12 | SOURCES 13 | ax1.h 14 | ax2.h 15 | main.cpp 16 | multipleax.def 17 | multipleax.rc 18 | LIBRARIES 19 | Qt::AxServer 20 | Qt::Gui 21 | Qt::Widgets 22 | 23 | ) 24 | # qt_disable_warnings(tst_multiple) 25 | qt6_target_idl(tst_multiple) 26 | -------------------------------------------------------------------------------- /tests/manual/opengl/globjwin.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | /**************************************************************************** 5 | ** 6 | ** The GLObjectWindow contains a GLBox and three sliders connected to 7 | ** the GLBox's rotation slots. 8 | ** 9 | ****************************************************************************/ 10 | 11 | #ifndef GLOBJWIN_H 12 | #define GLOBJWIN_H 13 | 14 | #include 15 | 16 | class GLObjectWindow : public QWidget 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | explicit GLObjectWindow(QWidget *parent = nullptr); 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /tests/auto/qaxobject/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## QAxObject Test: 6 | ##################################################################### 7 | 8 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 9 | cmake_minimum_required(VERSION 3.16) 10 | project(tst_qaxobject LANGUAGES CXX) 11 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 12 | endif() 13 | 14 | qt_internal_add_test(tst_qaxobject 15 | SOURCES 16 | tst_qaxobject.cpp 17 | LIBRARIES 18 | Qt::AxContainer 19 | Qt::Gui 20 | ) 21 | -------------------------------------------------------------------------------- /tests/auto/qaxscriptmanager/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## QAxScriptManager Test: 6 | ##################################################################### 7 | 8 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 9 | cmake_minimum_required(VERSION 3.16) 10 | project(tst_qaxscriptmanager LANGUAGES CXX) 11 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 12 | endif() 13 | 14 | qt_internal_add_test(tst_qaxscriptmanager 15 | SOURCES 16 | tst_qaxscriptmanager.cpp 17 | LIBRARIES 18 | Qt::AxContainer 19 | ) 20 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxobjectinterface.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXOBJECTINTERFACE_H 5 | #define QAXOBJECTINTERFACE_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | 11 | class QString; 12 | 13 | class QAxObjectInterface 14 | { 15 | public: 16 | virtual ~QAxObjectInterface(); 17 | 18 | virtual ulong classContext() const = 0; 19 | virtual void setClassContext(ulong classContext) = 0; 20 | 21 | virtual QString control() const = 0; 22 | virtual void resetControl() = 0; 23 | virtual bool setControl(const QString &c) = 0; 24 | }; 25 | 26 | QT_END_NAMESPACE 27 | 28 | #endif // QAXOBJECTINTERFACE_H 29 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/qctiveqt-toc.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page activeqt-toc.html 6 | \title Active Qt module topics 7 | 8 | The following list has links to all the individual topics (HTML files) 9 | in the Active Qt module. 10 | 11 | \list 12 | \li \l {Tools for ActiveQt} 13 | \list 14 | \li \l {The dumpcpp Tool (ActiveQt)} 15 | \li \l {The dumpdoc Tool (ActiveQt)} 16 | \endlist 17 | \li \l {Using ActiveX controls and COM in Qt} 18 | \li \l {Building ActiveX servers in Qt} 19 | \li \l {ActiveQt Examples and Tutorials} 20 | \endlist 21 | 22 | */ 23 | -------------------------------------------------------------------------------- /tests/manual/menus/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "menus.h" 5 | #include 6 | #include 7 | #include 8 | 9 | QAXFACTORY_BEGIN( 10 | "{ce947ee3-0403-4fdc-895a-4fe779394b46}", // type library ID 11 | "{8de435ce-8d2a-46ac-b3b3-cb800d0847c7}") // application ID 12 | QAXCLASS(QMenus) 13 | QAXFACTORY_END() 14 | 15 | int main(int argc, char *argv[]) 16 | { 17 | QApplication a(argc, argv); 18 | QScopedPointer window; 19 | 20 | if (!QAxFactory::isServer()) { 21 | window.reset(new QMenus()); 22 | window->show(); 23 | } 24 | 25 | return a.exec(); 26 | } 27 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/doc_src_activeqt-dumpcpp.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | //! [0] 5 | Outlook::Application *outlook = new Outlook::Application; 6 | //! [0] 7 | 8 | 9 | //! [1] 10 | Outlook::_NameSpace *session = outlook->Session(); 11 | //! [1] 12 | 13 | 14 | //! [2] 15 | Outlook::NameSpace *session = outlook->Session(); 16 | //! [2] 17 | 18 | 19 | //! [3] 20 | Outlook::_NameSpace *tmp = outlook->Session(); 21 | Outlook::NameSpace *session = new Outlook::NameSpace(tmp); 22 | delete tmp; // or any other use of tmp: segfault 23 | //! [3] 24 | 25 | 26 | //! [4] 27 | Outlook::NameSpace *session = new Outlook::NameSpace(outlook->Session()); 28 | //! [4] 29 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxscriptwrapper.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #include "qaxobject.h" 5 | 6 | #include 7 | 8 | #include 9 | 10 | #include 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | QAxBase *qax_create_object_wrapper(QObject *object) 15 | { 16 | ComPtr dispatch; 17 | QAxObject *wrapper = nullptr; 18 | qAxFactory()->createObjectWrapper(object, &dispatch); 19 | if (dispatch) { 20 | wrapper = new QAxObject(dispatch.Get(), object); 21 | wrapper->setObjectName(object->objectName()); 22 | } 23 | return wrapper; 24 | } 25 | 26 | QT_END_NAMESPACE 27 | -------------------------------------------------------------------------------- /tests/manual/dumpcpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## dumpcpp Binary: 6 | ##################################################################### 7 | 8 | qt_internal_add_manual_test(tst_dumpcpp_manual 9 | SOURCES 10 | ../shared/metaobjectdump.cpp ../shared/metaobjectdump.h 11 | ../shared/textdialog.cpp ../shared/textdialog.h 12 | main.cpp 13 | INCLUDE_DIRECTORIES 14 | ../shared 15 | LIBRARIES 16 | Qt::AxContainer 17 | Qt::Gui 18 | Qt::Test 19 | Qt::Widgets 20 | ) 21 | 22 | qt6_target_typelibs(tst_dumpcpp_manual LIBRARIES "ieframe.dll") 23 | -------------------------------------------------------------------------------- /tests/manual/opengl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## testcontrol Binary: 6 | ##################################################################### 7 | 8 | set(CMAKE_AUTOMOC ON) 9 | 10 | qt_internal_add_manual_test(tst_opengl 11 | GUI 12 | SOURCES 13 | glbox.cpp glbox.h 14 | globjwin.cpp globjwin.h 15 | main.cpp 16 | opengl.def 17 | opengl.rc 18 | LIBRARIES 19 | Qt::AxServer 20 | Qt::Gui 21 | Qt::OpenGL 22 | Qt::OpenGLWidgets 23 | Qt::Widgets 24 | ) 25 | 26 | # qt_disable_warnings(tst_opengl) 27 | qt6_target_idl(tst_opengl) 28 | -------------------------------------------------------------------------------- /tools/dumpcpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## dumpcpp Tool: 6 | ##################################################################### 7 | 8 | qt_get_tool_target_name(target_name dumpcpp) 9 | qt_internal_add_tool(${target_name} 10 | TARGET_DESCRIPTION "Active Qt DumpCpp" 11 | TOOLS_TARGET AxContainer 12 | SOURCES 13 | main.cpp 14 | moc.cpp moc.h 15 | DEFINES 16 | QT_ASCII_CAST_WARNINGS 17 | QT_NO_CAST_TO_ASCII 18 | LIBRARIES 19 | Qt::AxContainer 20 | Qt::CorePrivate 21 | Qt::Gui 22 | Qt::Widgets 23 | ) 24 | qt_internal_return_unless_building_tools() 25 | -------------------------------------------------------------------------------- /dist/changes-5.12.0: -------------------------------------------------------------------------------- 1 | Qt 5.12 introduces many new features and improvements as well as bugfixes 2 | over the 5.11.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 8 | Applications compiled for 5.11 will continue to run with 5.12. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | - This release contains only minor code improvements. 19 | -------------------------------------------------------------------------------- /dist/changes-5.13.0: -------------------------------------------------------------------------------- 1 | Qt 5.13 introduces many new features and improvements as well as bugfixes 2 | over the 5.12.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.13 series is binary compatible with the 5.12.x series. 8 | Applications compiled for 5.12 will continue to run with 5.13. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | - This release contains only minor code improvements. 19 | -------------------------------------------------------------------------------- /dist/changes-5.15.0: -------------------------------------------------------------------------------- 1 | Qt 5.15 introduces many new features and improvements as well as bugfixes 2 | over the 5.14.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.15 series is binary compatible with the 5.14.x series. 8 | Applications compiled for 5.14 will continue to run with 5.15. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | - This release contains only minor code improvements. 19 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/testserver/testserverlib.idl: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | import "oaidl.idl"; 5 | import "ocidl.idl"; 6 | 7 | [ 8 | object, 9 | dual, 10 | uuid(f4811a11-3092-415e-a473-38c627544246), 11 | oleautomation, 12 | pointer_default(unique) 13 | ] 14 | interface IComServer : IUnknown 15 | { 16 | HRESULT SetObserver([in] IUnknown *observer); 17 | HRESULT VariantIn([in] VARIANT arg); 18 | }; 19 | 20 | [ 21 | uuid(104d435f-7504-4786-aae7-b22745450c4c), 22 | version(1.0), 23 | ] 24 | library ComServerLib 25 | { 26 | [ 27 | uuid(af732aba-95cf-4ee7-bd59-8f946b7f82e3), 28 | ] 29 | coclass TestServer 30 | { 31 | interface IComServer; 32 | }; 33 | }; 34 | -------------------------------------------------------------------------------- /dist/changes-5.12.1: -------------------------------------------------------------------------------- 1 | Qt 5.12.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.13.1: -------------------------------------------------------------------------------- 1 | Qt 5.13.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.13.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.13 series is binary compatible with the 5.12.x series. 10 | Applications compiled for 5.12 will continue to run with 5.13. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.14.1: -------------------------------------------------------------------------------- 1 | Qt 5.14.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.15.1: -------------------------------------------------------------------------------- 1 | Qt 5.15.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.15.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.15 series is binary compatible with the 5.14.x series. 10 | Applications compiled for 5.14 will continue to run with 5.15. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /tests/auto/conversion/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## conversion Test: 6 | ##################################################################### 7 | 8 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 9 | cmake_minimum_required(VERSION 3.16) 10 | project(conversion LANGUAGES CXX) 11 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 12 | endif() 13 | 14 | qt_internal_add_test(conversion 15 | SOURCES 16 | tst_conversion.cpp 17 | INCLUDE_DIRECTORIES 18 | ../../../src/activeqt/shared/ 19 | LIBRARIES 20 | Qt::AxContainer 21 | Qt::Gui 22 | Qt::AxBasePrivate 23 | Qt::CorePrivate 24 | ) 25 | -------------------------------------------------------------------------------- /dist/changes-5.11.3: -------------------------------------------------------------------------------- 1 | Qt 5.11.3 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.11.0 through 5.11.2. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.11 series is binary compatible with the 5.10.x series. 10 | Applications compiled for 5.10 will continue to run with 5.11. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.12.2: -------------------------------------------------------------------------------- 1 | Qt 5.12.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.12.3: -------------------------------------------------------------------------------- 1 | Qt 5.12.3 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.2. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.12.4: -------------------------------------------------------------------------------- 1 | Qt 5.12.4 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.3. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.12.5: -------------------------------------------------------------------------------- 1 | Qt 5.12.5 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.12.0 through 5.12.4. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.12 series is binary compatible with the 5.11.x series. 10 | Applications compiled for 5.11 will continue to run with 5.12. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.13.2: -------------------------------------------------------------------------------- 1 | Qt 5.13.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.13.0 through 5.13.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.13 series is binary compatible with the 5.12.x series. 10 | Applications compiled for 5.12 will continue to run with 5.13. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.14.2: -------------------------------------------------------------------------------- 1 | Qt 5.14.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0 through 5.14.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /tests/manual/mediaplayer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## mediaplayer Binary: 6 | ##################################################################### 7 | 8 | set(CMAKE_INCLUDE_CURRENT_DIR ON) 9 | 10 | set(CMAKE_AUTOMOC ON) 11 | set(CMAKE_AUTOUIC ON) 12 | 13 | qt_internal_add_manual_test(tst_mediaplayer 14 | SOURCES 15 | mainwindow.ui 16 | mediaaxwidget.h 17 | main.cpp 18 | INCLUDE_DIRECTORIES 19 | ../shared 20 | LIBRARIES 21 | Qt::AxContainer 22 | Qt::Core 23 | Qt::Gui 24 | Qt::Widgets 25 | ) 26 | 27 | set_target_properties(tst_mediaplayer PROPERTIES 28 | WIN32_EXECUTABLE TRUE 29 | MACOSX_BUNDLE TRUE 30 | ) 31 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/qtactive-module-use.qdocinc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2022 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | //! [building with cmake] 5 | Use the \c {find_package()} command to locate the needed module components 6 | in the \c {Qt6} package: 7 | 8 | \code 9 | find_package(Qt6 REQUIRED COMPONENTS \1 \2) 10 | target_link_libraries(mytarget PRIVATE Qt6::\1 Qt6::\2) 11 | \endcode 12 | 13 | For more details, see the \l {Build with CMake} overview. 14 | //! [building with cmake] 15 | 16 | //! [building_with_qmake] 17 | To configure the modules for building with qmake, add the module as a value 18 | of the \c QT variable in the project's .pro file: 19 | 20 | \code 21 | QT += \1 \2 22 | \endcode 23 | //! [building_with_qmake] 24 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/examples/opengl-demo.qdocinc: -------------------------------------------------------------------------------- 1 | \code 2 | 10 | 11 |

12 | An OpenGL scene:
13 | 15 | [Object not available! Did you forget to build and register the server?] 16 |
17 | 18 |

19 | Rotate the scene:
20 | X:
21 | Y:
22 | Z:
23 | 24 |
25 | \endcode 26 | -------------------------------------------------------------------------------- /tests/auto/dumpcpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## tst_dumpcpp Test: 6 | ##################################################################### 7 | 8 | if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) 9 | cmake_minimum_required(VERSION 3.16) 10 | project(tst_dumpcpp LANGUAGES CXX) 11 | find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) 12 | endif() 13 | 14 | qt_internal_add_test(tst_dumpcpp 15 | SOURCES 16 | tst_dumpcpp.cpp 17 | LIBRARIES 18 | Qt::AxContainer 19 | Qt::Gui 20 | Qt::Widgets 21 | ) 22 | 23 | qt6_target_typelibs(tst_dumpcpp LIBRARIES "ieframe.dll") 24 | qt6_target_typelibs(tst_dumpcpp LIBRARIES "msxml6:{F5078F18-C551-11D3-89B9-0000F81FE221}") 25 | -------------------------------------------------------------------------------- /examples/activeqt/comapp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(comapp LANGUAGES CXX) 6 | 7 | set(CMAKE_AUTOMOC ON) 8 | 9 | if(NOT DEFINED INSTALL_EXAMPLESDIR) 10 | set(INSTALL_EXAMPLESDIR "examples") 11 | endif() 12 | 13 | set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/activeqt/comapp") 14 | 15 | find_package(Qt6 REQUIRED COMPONENTS AxServer Core Gui Widgets) 16 | qt6_add_axserver_executable(comapp 17 | main.cpp 18 | comapp.rc 19 | ) 20 | 21 | target_link_libraries(comapp PUBLIC 22 | Qt::Core 23 | Qt::Gui 24 | Qt::Widgets 25 | ) 26 | 27 | install(TARGETS comapp 28 | RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" 29 | BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" 30 | LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" 31 | ) 32 | -------------------------------------------------------------------------------- /tools/testcon/invokemethod.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef INVOKEMETHOD_H 5 | #define INVOKEMETHOD_H 6 | 7 | #include 8 | #include "ui_invokemethod.h" 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QAxBase; 13 | 14 | class InvokeMethod : public QDialog, Ui::InvokeMethod 15 | { 16 | Q_OBJECT 17 | public: 18 | InvokeMethod(QWidget *parent); 19 | 20 | void setControl(QAxBase *ax); 21 | 22 | protected slots: 23 | void on_buttonInvoke_clicked(); 24 | void on_buttonSet_clicked(); 25 | 26 | void on_comboMethods_textActivated(const QString &method); 27 | void on_listParameters_currentItemChanged(QTreeWidgetItem *item); 28 | 29 | private: 30 | QAxBase *activex; 31 | }; 32 | 33 | QT_END_NAMESPACE 34 | 35 | #endif // INVOKEMETHOD_H 36 | -------------------------------------------------------------------------------- /tools/testcon/scripts/hierarchyax.vbs: -------------------------------------------------------------------------------- 1 | ' Copyright (C) 2016 The Qt Company Ltd. 2 | ' SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | ' This script can be loaded in Qt TestCon, and used to script 5 | ' the hierarchyax project. 6 | ' 7 | ' Instructions: Open testcon, insert the QParentWidget class, 8 | ' load this script, run "Main()" macro. 9 | 10 | Sub Main 11 | ' Create new widget object 12 | QParentWidget.createSubWidget("ABC") 13 | 14 | ' Retrieve widget 15 | Set widget = QParentWidget.subWidget("ABC") 16 | 17 | ' Read label property 18 | label = widget.label 19 | MainWindow.logMacro 0, "Old widget label: "&label, 0, "" 20 | 21 | ' Write label property 22 | widget.label = "renamed "&label 23 | label = widget.label 24 | MainWindow.logMacro 0, "New widget label: "&label, 0, "" 25 | End Sub 26 | -------------------------------------------------------------------------------- /examples/activeqt/simple/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(simpleax LANGUAGES CXX) 6 | 7 | set(CMAKE_AUTOMOC ON) 8 | 9 | if(NOT DEFINED INSTALL_EXAMPLESDIR) 10 | set(INSTALL_EXAMPLESDIR "examples") 11 | endif() 12 | 13 | set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/activeqt/simple") 14 | 15 | find_package(Qt6 REQUIRED COMPONENTS AxServer Core Gui Widgets) 16 | qt6_add_axserver_executable(simpleax 17 | main.cpp 18 | simple.def 19 | simple.rc 20 | ) 21 | 22 | target_link_libraries(simpleax PUBLIC 23 | Qt::Core 24 | Qt::Gui 25 | Qt::Widgets 26 | ) 27 | 28 | install(TARGETS simpleax 29 | RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" 30 | BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" 31 | LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" 32 | ) 33 | -------------------------------------------------------------------------------- /tests/manual/mediaplayer/mediaaxwidget.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef MEDIAAXWIDGET_H 5 | #define MEDIAAXWIDGET_H 6 | 7 | #include 8 | #include 9 | 10 | // Overrides the translateKeyEvent() function to pass keystrokes 11 | // to the Windows Media Player ActiveX control. 12 | class MediaAxWidget : public QAxWidget 13 | { 14 | public: 15 | MediaAxWidget(QWidget *parent = nullptr, Qt::WindowFlags f = {}) 16 | : QAxWidget(parent, f) 17 | { 18 | } 19 | 20 | protected: 21 | bool translateKeyEvent(int message, int keycode) const override 22 | { 23 | if (message >= WM_KEYFIRST && message <= WM_KEYLAST) 24 | return true; 25 | return QAxWidget::translateKeyEvent(message, keycode); 26 | } 27 | }; 28 | 29 | #endif // MEDIAAXWIDGET_H 30 | -------------------------------------------------------------------------------- /tools/testcon/ambientproperties.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef AMBIENTPROPERTIES_H 5 | #define AMBIENTPROPERTIES_H 6 | 7 | #include 8 | 9 | #include "ui_ambientproperties.h" 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class AmbientProperties : public QDialog, Ui::AmbientProperties 14 | { 15 | Q_OBJECT 16 | public: 17 | AmbientProperties(QWidget *parent); 18 | 19 | void setControl(QWidget *widget); 20 | 21 | public slots: 22 | void on_buttonBackground_clicked(); 23 | void on_buttonForeground_clicked(); 24 | void on_buttonFont_clicked(); 25 | void on_buttonEnabled_toggled(bool on); 26 | 27 | private: 28 | QWidgetList mdiAreaWidgets() const; 29 | 30 | QWidget *container; 31 | }; 32 | 33 | QT_END_NAMESPACE 34 | 35 | #endif // AMBIENTPROPERTIES_H 36 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(wrapperax LANGUAGES CXX) 6 | 7 | set(CMAKE_AUTOMOC ON) 8 | 9 | if(NOT DEFINED INSTALL_EXAMPLESDIR) 10 | set(INSTALL_EXAMPLESDIR "examples") 11 | endif() 12 | 13 | set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/activeqt/wrapper") 14 | 15 | find_package(Qt6 REQUIRED COMPONENTS AxServer Core Gui Widgets) 16 | 17 | qt6_add_axserver_library(wrapperax 18 | main.cpp 19 | wrapperax.def 20 | wrapperax.rc 21 | ) 22 | 23 | target_link_libraries(wrapperax PUBLIC 24 | Qt::Core 25 | Qt::Gui 26 | Qt::Widgets 27 | ) 28 | 29 | install(TARGETS wrapperax 30 | RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" 31 | BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" 32 | LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" 33 | ) 34 | -------------------------------------------------------------------------------- /dist/changes-5.0.2: -------------------------------------------------------------------------------- 1 | Qt 5.0.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.0.0 and 5.0.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://qt-project.org/doc/qt-5.0/ 8 | 9 | Some of the changes listed in this file include issue tracking numbers 10 | corresponding to tasks in the Qt Bug Tracker: 11 | 12 | http://bugreports.qt-project.org/ 13 | 14 | Each of these identifiers can be entered in the bug tracker to obtain more 15 | information about a particular change. 16 | 17 | 18 | **************************************************************************** 19 | * General * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /tests/manual/shared/textdialog.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "textdialog.h" 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | TextDialog::TextDialog(const QString &text, QWidget *parent) : QDialog(parent) 13 | { 14 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 15 | auto layout = new QVBoxLayout(this); 16 | auto pe = new QPlainTextEdit(text, this); 17 | pe->setReadOnly(true); 18 | pe->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); 19 | layout->addWidget(pe); 20 | 21 | auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, this); 22 | layout->addWidget(buttonBox); 23 | connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); 24 | } 25 | -------------------------------------------------------------------------------- /tools/testcon/changeproperties.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 3 | 4 | #ifndef CHANGEPROPERTIES_H 5 | #define CHANGEPROPERTIES_H 6 | 7 | #include 8 | #include "ui_changeproperties.h" 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QAxWidget; 13 | 14 | class ChangeProperties : public QDialog, Ui::ChangeProperties 15 | { 16 | Q_OBJECT 17 | public: 18 | ChangeProperties(QWidget *parent); 19 | 20 | void setControl(QAxWidget *control); 21 | 22 | public slots: 23 | void updateProperties(); 24 | 25 | protected slots: 26 | void on_listProperties_currentItemChanged(QTreeWidgetItem *current); 27 | void on_listEditRequests_itemChanged(QTreeWidgetItem *item); 28 | void on_buttonSet_clicked(); 29 | 30 | private: 31 | QAxWidget *activex; 32 | }; 33 | 34 | QT_END_NAMESPACE 35 | 36 | #endif // CHANGEPROPERTIES_H 37 | -------------------------------------------------------------------------------- /tools/testcon/testcon.rc: -------------------------------------------------------------------------------- 1 | #ifndef Q_CC_BOR 2 | #include 3 | #endif 4 | 5 | VS_VERSION_INFO VERSIONINFO 6 | FILEVERSION 1,0,0,1 7 | PRODUCTVERSION 3, 2, 0, 0 8 | FILEFLAGSMASK 0x3fL 9 | #ifdef _DEBUG 10 | FILEFLAGS VS_FF_DEBUG 11 | #else 12 | FILEFLAGS 0x0L 13 | #endif 14 | FILEOS VOS__WINDOWS32 15 | FILETYPE VFT_DLL 16 | FILESUBTYPE 0x0L 17 | BEGIN 18 | BLOCK "StringFileInfo" 19 | BEGIN 20 | BLOCK "040904B0" 21 | BEGIN 22 | VALUE "CompanyName", "The Qt Company Ltd.\0" 23 | VALUE "FileDescription", "ActiveQt Test Container\0" 24 | VALUE "FileVersion", "1,0,0,1\0" 25 | VALUE "InternalName", "testcon\0" 26 | VALUE "LegalCopyright", "Copyright (C) 2015 The Qt Company Ltd.0" 27 | VALUE "LegalTrademarks", "\0" 28 | VALUE "OriginalFilename", "testcon.exe\0" 29 | VALUE "ProductName", "ActiveQt Test Container\0" 30 | VALUE "ProductVersion", "3, 2, 0, 0\0" 31 | END 32 | END 33 | END 34 | /* End of Version info */ 35 | 36 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/wrapperax.rc: -------------------------------------------------------------------------------- 1 | #include "winver.h" 2 | 3 | 1 TYPELIB "wrapperax.rc" 4 | 1 ICON "wrapperax.ico" 5 | 6 | VS_VERSION_INFO VERSIONINFO 7 | FILEVERSION 1,0,0,0 8 | PRODUCTVERSION 1,0,0,0 9 | FILEFLAGSMASK 0x3fL 10 | FILEOS 0x00040000L 11 | FILETYPE 0x2L 12 | FILESUBTYPE 0x0L 13 | BEGIN 14 | BLOCK "StringFileInfo" 15 | BEGIN 16 | BLOCK "040904e4" 17 | BEGIN 18 | VALUE "CompanyName", "The Qt COmpany Ltd." 19 | VALUE "FileDescription", "Wrapper Example (ActiveQt)" 20 | VALUE "FileVersion", "1.0.0.0" 21 | VALUE "LegalCopyright", "Copyright (C) 2015 The Qt Company Ltd." 22 | VALUE "InternalName", "wrapperax.dll" 23 | VALUE "OriginalFilename", "wrapperax.dll" 24 | VALUE "ProductName", "Wrapper Example (ActiveQt)" 25 | VALUE "ProductVersion", "1.0.0.0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /dist/changes-5.5.0: -------------------------------------------------------------------------------- 1 | Qt 5.5 introduces many new features and improvements as well as bugfixes 2 | over the 5.4.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.5 series is binary compatible with the 5.4.x series. 8 | Applications compiled for 5.5 will continue to run with 5.5. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Library * 20 | **************************************************************************** 21 | 22 | - [QTBUG-45022] Enabled QAxScript on MinGW. 23 | -------------------------------------------------------------------------------- /dist/changes-5.6.0: -------------------------------------------------------------------------------- 1 | Qt 5.6 introduces many new features and improvements as well as bugfixes 2 | over the 5.5.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.6 series is binary compatible with the 5.5.x series. 8 | Applications compiled for 5.5 will continue to run with 5.6. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Library * 20 | **************************************************************************** 21 | 22 | - [QTBUG-46615] Adapted to High DPI scaling. 23 | -------------------------------------------------------------------------------- /tests/manual/multiple/multipleax.rc: -------------------------------------------------------------------------------- 1 | #include "winver.h" 2 | 3 | 1 TYPELIB "multipleax.rc" 4 | 1 ICON "multipleax.ico" 5 | 6 | VS_VERSION_INFO VERSIONINFO 7 | FILEVERSION 1,0,0,0 8 | PRODUCTVERSION 1,0,0,0 9 | FILEFLAGSMASK 0x3fL 10 | FILEOS 0x00040000L 11 | FILETYPE 0x2L 12 | FILESUBTYPE 0x0L 13 | BEGIN 14 | BLOCK "StringFileInfo" 15 | BEGIN 16 | BLOCK "040904e4" 17 | BEGIN 18 | VALUE "CompanyName", "The Qt Company Ltd." 19 | VALUE "FileDescription", "Multiple Example (ActiveQt)" 20 | VALUE "FileVersion", "1.0.0.0" 21 | VALUE "LegalCopyright", "Copyright (C) 2015 The Qt Company Ltd." 22 | VALUE "InternalName", "multipleax.dll" 23 | VALUE "OriginalFilename", "multipleax.dll" 24 | VALUE "ProductName", "Multiple Example (ActiveQt)" 25 | VALUE "ProductVersion", "1.0.0.0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /dist/changes-5.10.0: -------------------------------------------------------------------------------- 1 | Qt 5.10 introduces many new features and improvements as well as bugfixes 2 | over the 5.9.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.10 series is binary compatible with the 5.10.x series. 8 | Applications compiled for 5.9 will continue to run with 5.10. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Qt 5.10.0 Changes * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /dist/changes-5.11.0: -------------------------------------------------------------------------------- 1 | Qt 5.11 introduces many new features and improvements as well as bugfixes 2 | over the 5.10.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.11 series is binary compatible with the 5.10.x series. 8 | Applications compiled for 5.10 will continue to run with 5.11. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Qt 5.11.0 Changes * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /dist/changes-5.8.0: -------------------------------------------------------------------------------- 1 | Qt 5.8 introduces many new features and improvements as well as bugfixes 2 | over the 5.7.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.8 series is binary compatible with the 5.8.x series. 8 | Applications compiled for 5.7 will continue to run with 5.8. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Library * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /tests/manual/menus/menus.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef MENUS_H 5 | #define MENUS_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | class QTextEdit; 11 | QT_END_NAMESPACE 12 | 13 | class QMenus : public QMainWindow 14 | { 15 | Q_OBJECT 16 | Q_CLASSINFO("ClassID", "{4dc3f340-a6f7-44e4-a79b-3e9217695fbd}") 17 | Q_CLASSINFO("InterfaceID", "{9ee49617-7d5c-441a-b833-4b068d40d751}") 18 | Q_CLASSINFO("EventsID", "{13eca64b-ee2a-4f3c-aa04-5d9d975979a7}") 19 | 20 | public: 21 | explicit QMenus(QWidget *parent = nullptr); 22 | 23 | public slots: 24 | void fileOpen(); 25 | void fileSave(); 26 | 27 | void editNormal(); 28 | void editBold(); 29 | void editUnderline(); 30 | 31 | void editAdvancedFont(); 32 | void editAdvancedStyle(); 33 | 34 | void helpAbout(); 35 | void helpAboutQt(); 36 | 37 | private: 38 | QTextEdit *m_editor; 39 | }; 40 | 41 | #endif // MENUS_H 42 | -------------------------------------------------------------------------------- /dist/changes-5.1.0: -------------------------------------------------------------------------------- 1 | Qt 5.1 introduces many new features and improvements as well as bugfixes 2 | over the 5.0.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://qt-project.org/doc/qt-5.1 6 | 7 | The Qt version 5.1 series is binary compatible with the 5.0.x series. 8 | Applications compiled for 5.0 will continue to run with 5.1. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | http://bugreports.qt-project.org/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * General * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /dist/changes-5.4.0: -------------------------------------------------------------------------------- 1 | Qt 5.4 introduces many new features and improvements as well as bugfixes 2 | over the 5.3.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://qt-project.org/doc/qt-5.4 6 | 7 | The Qt version 5.4 series is binary compatible with the 5.3.x series. 8 | Applications compiled for 5.3 will continue to run with 5.4. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | http://bugreports.qt-project.org/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * General * 20 | **************************************************************************** 21 | 22 | - This release contains only minor code improvements. 23 | -------------------------------------------------------------------------------- /src/activeqt/axbase/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## AxBase Module: 6 | ##################################################################### 7 | 8 | qt_internal_add_module(AxBasePrivate 9 | STATIC 10 | INTERNAL_MODULE 11 | SOURCES 12 | qaxtypefunctions.cpp qaxtypefunctions_p.h 13 | qaxutils.cpp qaxutils_p.h 14 | qbstr_p.h 15 | LIBRARIES 16 | advapi32 17 | gdi32 18 | ole32 19 | oleaut32 20 | user32 21 | PUBLIC_LIBRARIES 22 | Qt::Core 23 | Qt::CorePrivate 24 | Qt::Gui 25 | Qt::GuiPrivate 26 | Qt::Widgets 27 | NO_GENERATE_CPP_EXPORTS 28 | QT_LICENSE_ID QT_COMMERCIAL_OR_BSD3 29 | ) 30 | 31 | ## Scopes: 32 | ##################################################################### 33 | 34 | qt_internal_extend_target(AxBasePrivate CONDITION MINGW 35 | LIBRARIES 36 | uuid 37 | ) 38 | -------------------------------------------------------------------------------- /dist/changes-5.7.1: -------------------------------------------------------------------------------- 1 | Qt 5.7.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.7.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.7 series is binary compatible with the 5.6.x series. 10 | Applications compiled for 5.6 will continue to run with 5.7. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.9.1: -------------------------------------------------------------------------------- 1 | Qt 5.9.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.9.2: -------------------------------------------------------------------------------- 1 | Qt 5.9.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.9.2 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.9.3: -------------------------------------------------------------------------------- 1 | Qt 5.9.3 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.9.3 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.9.4: -------------------------------------------------------------------------------- 1 | Qt 5.9.4 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.9.4 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.9.5: -------------------------------------------------------------------------------- 1 | Qt 5.9.5 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.9.5 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.11.1: -------------------------------------------------------------------------------- 1 | Qt 5.11.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.11.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.11 series is binary compatible with the 5.10.x series. 10 | Applications compiled for 5.10 will continue to run with 5.11. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.11.1 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.4.2: -------------------------------------------------------------------------------- 1 | Qt 5.4.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.4.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.4 series is binary compatible with the 5.3.x series. 10 | Applications compiled for 5.3 will continue to run with 5.4. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.5.1: -------------------------------------------------------------------------------- 1 | Qt 5.5.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.5.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.5 series is binary compatible with the 5.4.x series. 10 | Applications compiled for 5.4 will continue to run with 5.5. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.6.1: -------------------------------------------------------------------------------- 1 | Qt 5.6.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.6.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.6 series is binary compatible with the 5.5.x series. 10 | Applications compiled for 5.5 will continue to run with 5.6. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.6.3: -------------------------------------------------------------------------------- 1 | Qt 5.6.3 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.6.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.6 series is binary compatible with the 5.5.x series. 10 | Applications compiled for 5.5 will continue to run with 5.6. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/addressview.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef ADDRESSVIEW_H 5 | #define ADDRESSVIEW_H 6 | 7 | #include 8 | 9 | class AddressBookModel; 10 | QT_BEGIN_NAMESPACE 11 | class QLineEdit; 12 | class QModelIndex; 13 | class QPushButton; 14 | class QTreeView; 15 | QT_END_NAMESPACE 16 | 17 | //! [0] 18 | class AddressView : public QWidget 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | explicit AddressView(QWidget *parent = nullptr); 24 | 25 | protected slots: 26 | void addEntry(); 27 | void changeEntry(); 28 | void itemSelected(const QModelIndex &index); 29 | 30 | void updateOutlook(); 31 | 32 | protected: 33 | AddressBookModel *model; 34 | 35 | QTreeView *m_treeView; 36 | QPushButton *m_addButton; 37 | QPushButton *m_changeButton; 38 | QLineEdit *m_firstName; 39 | QLineEdit *m_lastName; 40 | QLineEdit *m_address; 41 | QLineEdit *m_email; 42 | }; 43 | //! [0] 44 | 45 | #endif // ADDRESSVIEW_H 46 | -------------------------------------------------------------------------------- /LICENSES/Qt-GPL-exception-1.0.txt: -------------------------------------------------------------------------------- 1 | The Qt Company GPL Exception 1.0 2 | 3 | Exception 1: 4 | 5 | As a special exception you may create a larger work which contains the 6 | output of this application and distribute that work under terms of your 7 | choice, so long as the work is not otherwise derived from or based on 8 | this application and so long as the work does not in itself generate 9 | output that contains the output from this application in its original 10 | or modified form. 11 | 12 | Exception 2: 13 | 14 | As a special exception, you have permission to combine this application 15 | with Plugins licensed under the terms of your choice, to produce an 16 | executable, and to copy and distribute the resulting executable under 17 | the terms of your choice. However, the executable must be accompanied 18 | by a prominent notice offering all users of the executable the entire 19 | source code to this application, excluding the source code of the 20 | independent modules, but including any changes you have made to this 21 | application, under the terms of this license. 22 | 23 | -------------------------------------------------------------------------------- /dist/changes-5.9.6: -------------------------------------------------------------------------------- 1 | Qt 5.9.6 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.9.0 through 5.9.5. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 10 | Applications compiled for 5.8 will continue to run with 5.9. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.9.6 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.1.1: -------------------------------------------------------------------------------- 1 | Qt 5.1.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.1.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://qt-project.org/doc/qt-5.1/ 8 | 9 | The Qt version 5.1 series is binary compatible with the 5.0.x series. 10 | Applications compiled for 5.0 will continue to run with 5.1. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | http://bugreports.qt-project.org/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | 21 | **************************************************************************** 22 | * General * 23 | **************************************************************************** 24 | 25 | - This release contains only minor code improvements. 26 | -------------------------------------------------------------------------------- /dist/changes-5.11.2: -------------------------------------------------------------------------------- 1 | Qt 5.11.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.11.0 through 5.11.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.11 series is binary compatible with the 5.10.x series. 10 | Applications compiled for 5.10 will continue to run with 5.11. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.11.2 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.4.1: -------------------------------------------------------------------------------- 1 | Qt 5.4.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.4.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.4 series is binary compatible with the 5.3.x series. 10 | Applications compiled for 5.3 will continue to run with 5.4. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | ActiveQt 25 | -------- 26 | 27 | - [QTBUG-43446] Fixed invocation of methods returning QVariant. 28 | -------------------------------------------------------------------------------- /dist/changes-5.6.2: -------------------------------------------------------------------------------- 1 | Qt 5.6.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.6.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.6 series is binary compatible with the 5.5.x series. 10 | Applications compiled for 5.5 will continue to run with 5.6. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | - idc: 25 | * [QTBUG-55332] idc can now handle library path names with space 26 | characters. 27 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxselect.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXSELECT_H 5 | #define QAXSELECT_H 6 | #include 7 | 8 | QT_BEGIN_NAMESPACE 9 | 10 | class QAxSelectPrivate; 11 | class QModelIndex; 12 | 13 | class QAxSelect : public QDialog 14 | { 15 | Q_OBJECT 16 | public: 17 | enum SandboxingLevel { 18 | SandboxingNone = 0, 19 | SandboxingProcess, 20 | SandboxingLowIntegrity, 21 | SandboxingAppContainer, 22 | }; 23 | 24 | explicit QAxSelect(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); 25 | ~QAxSelect() override; 26 | 27 | QString clsid() const; 28 | SandboxingLevel sandboxingLevel() const; 29 | 30 | private Q_SLOTS: 31 | void onActiveXListCurrentChanged(const QModelIndex &); 32 | void onActiveXListActivated(); 33 | void onFilterLineEditChanged(const QString &); 34 | 35 | private: 36 | QScopedPointer d; 37 | }; 38 | 39 | QT_END_NAMESPACE 40 | 41 | #endif // QAXSELECT_H 42 | -------------------------------------------------------------------------------- /dist/changes-5.10.1: -------------------------------------------------------------------------------- 1 | Qt 5.10.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.10.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.10 series is binary compatible with the 5.9.x series. 10 | Applications compiled for 5.9 will continue to run with 5.10. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | This release contains all fixes included in the Qt 5.9.4 release. 21 | 22 | **************************************************************************** 23 | * Qt 5.10.1 Changes * 24 | **************************************************************************** 25 | 26 | - This release contains only minor code improvements. 27 | -------------------------------------------------------------------------------- /dist/changes-5.2.1: -------------------------------------------------------------------------------- 1 | Qt 5.2.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.2.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://qt-project.org/doc/qt-5.2 8 | 9 | The Qt version 5.2 series is binary compatible with the 5.1.x series. 10 | Applications compiled for 5.1 will continue to run with 5.2. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | http://bugreports.qt-project.org/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Library * 22 | **************************************************************************** 23 | 24 | ActiveQt 25 | -------- 26 | 27 | - [QTBUG-34989] ActiveQt now picks up plugins from deployment 28 | location of Active X DLLs. 29 | -------------------------------------------------------------------------------- /examples/activeqt/qutlook/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | project(qutlook LANGUAGES CXX) 6 | 7 | set(CMAKE_AUTOMOC ON) 8 | 9 | if(NOT DEFINED INSTALL_EXAMPLESDIR) 10 | set(INSTALL_EXAMPLESDIR "examples") 11 | endif() 12 | 13 | set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/activeqt/qutlook") 14 | 15 | find_package(Qt6 REQUIRED COMPONENTS AxContainer Core Gui Widgets) 16 | 17 | qt_add_executable(qutlook 18 | addressview.cpp addressview.h 19 | main.cpp 20 | ) 21 | 22 | set_target_properties(qutlook PROPERTIES 23 | WIN32_EXECUTABLE TRUE 24 | MACOSX_BUNDLE TRUE 25 | ) 26 | 27 | qt6_target_typelibs(qutlook LIBRARIES "msoutl:{00062FFF-0000-0000-C000-000000000046}") 28 | 29 | target_link_libraries(qutlook PUBLIC 30 | Qt::AxContainer 31 | Qt::Core 32 | Qt::Gui 33 | Qt::Widgets 34 | ) 35 | 36 | install(TARGETS qutlook 37 | RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" 38 | BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" 39 | LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" 40 | ) 41 | -------------------------------------------------------------------------------- /src/activeqt/control/qaxbindable.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXBINDABLE_H 5 | #define QAXBINDABLE_H 6 | 7 | #include 8 | 9 | struct IUnknown; 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QAxAggregated; 14 | class QIODevice; 15 | struct IAxServerBase; 16 | 17 | class QAxBindable 18 | { 19 | Q_DISABLE_COPY_MOVE(QAxBindable) 20 | friend class QAxServerBase; 21 | public: 22 | QAxBindable(); 23 | virtual ~QAxBindable(); 24 | 25 | virtual QAxAggregated *createAggregate(); 26 | void reportError(int code, const QString &src, const QString &desc, const QString &help = QString()); 27 | 28 | virtual bool readData(QIODevice *source, const QString &format); 29 | virtual bool writeData(QIODevice *sink); 30 | 31 | protected: 32 | bool requestPropertyChange(const char *property); 33 | void propertyChanged(const char *property); 34 | 35 | IUnknown *clientSite() const; 36 | 37 | private: 38 | IAxServerBase *activex = nullptr; 39 | }; 40 | 41 | QT_END_NAMESPACE 42 | 43 | #endif // QAXBINDABLE_H 44 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | # Configure the manifest file to point to the com_server dll 5 | # because the dll name is different in debug and release 6 | set(TestServerDll "TestServer${CMAKE_DEBUG_POSTFIX}.dll") 7 | configure_file( 8 | tst_qaxobjectcom.exe.manifest.in 9 | tst_qaxobjectcom.exe.manifest 10 | ) 11 | 12 | qt_internal_add_test(tst_qaxobjectcom 13 | SOURCES 14 | tst_qaxobjectcom.cpp 15 | ${CMAKE_CURRENT_BINARY_DIR}/tst_qaxobjectcom.exe.manifest 16 | LIBRARIES 17 | Qt::AxContainer 18 | Qt::CorePrivate 19 | Qt::AxBasePrivate 20 | ) 21 | 22 | # Embed the manifest file into the binary for registry free COM 23 | target_link_options(tst_qaxobjectcom PRIVATE "/MANIFEST") 24 | 25 | # Build the com_server automatically 26 | add_subdirectory(testserver) 27 | add_dependencies(tst_qaxobjectcom testserver) 28 | 29 | # Generate qaxobject COM wrapper for our COM test server 30 | qt6_target_typelibs(tst_qaxobjectcom 31 | LIBRARIES 32 | ${CMAKE_CURRENT_BINARY_DIR}/testserver/testserverlib.tlb 33 | ) 34 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/testserver/testserver.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2024 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef TEST_SERVER_H 5 | #define TEST_SERVER_H 6 | 7 | #include 8 | #include "testserverlib.h" 9 | #include 10 | #include 11 | #include "../../conversion/comutil_p.h" 12 | 13 | class __declspec(uuid("af732aba-95cf-4ee7-bd59-8f946b7f82e3")) 14 | TestServer : public QComObject 15 | { 16 | public: 17 | TestServer(); 18 | 19 | HRESULT __stdcall QueryInterface(IID const &id, void **result) override; 20 | HRESULT __stdcall SetObserver(IUnknown *observer) override; 21 | HRESULT __stdcall VariantIn(VARIANT v) override; 22 | 23 | private: 24 | ComPtr m_unkDisp; 25 | ComPtr m_receiver; 26 | }; 27 | 28 | struct Receiver : public QComObject 29 | { 30 | HRESULT SetObserver(IUnknown *observer) override { return E_NOTIMPL; } 31 | 32 | HRESULT VariantIn(VARIANT arg) override 33 | { 34 | lastArg = ComVariant{ arg }; 35 | return S_OK; 36 | } 37 | 38 | ComVariant lastArg{}; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /tools/testcon/testcon.idl: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Interface definition generated for ActiveQt project 3 | ** 4 | ** 'C:\depot\qt\3.3\extensions\activeqt\tools\testcon\testcon.exe' 5 | ** 6 | ** Created: Fr 31. Okt 15:33:50 2003 7 | ** 8 | ** WARNING! All changes made in this file will be lost! 9 | ****************************************************************************/ 10 | 11 | import "ocidl.idl"; 12 | #include 13 | 14 | [ 15 | uuid(4A43E44D-9D1D-47E5-A1E5-58FE6F7BE0A4), 16 | version(1.0), 17 | helpstring("testcon 1.0 Type Library") 18 | ] 19 | library testconLib 20 | { 21 | importlib("stdole32.tlb"); 22 | importlib("stdole2.tlb"); 23 | 24 | [ 25 | uuid(3FC86F5F-8B15-4428-8F6B-482BAE91F1AE), 26 | helpstring("MainWindow Interface") 27 | ] 28 | dispinterface IMainWindow 29 | { 30 | properties: 31 | methods: 32 | [id(7)] void logMacro( [in] int p_code, [in] BSTR p_description, [in] int p_sourcePosition, [in] BSTR p_sourceText); 33 | }; 34 | 35 | [ 36 | aggregatable, 37 | helpstring("MainWindow Class"), 38 | uuid(5F5CE700-48A8-47B1-9B06-3B7F79E41D7C) 39 | ] 40 | coclass MainWindow 41 | { 42 | [default] dispinterface IMainWindow; 43 | }; 44 | }; 45 | -------------------------------------------------------------------------------- /dist/changes-5.9.0: -------------------------------------------------------------------------------- 1 | Qt 5.9 introduces many new features and improvements as well as bugfixes 2 | over the 5.8.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | http://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.9 series is binary compatible with the 5.8.x series. 8 | Applications compiled for 5.8 will continue to run with 5.9. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * Library * 20 | **************************************************************************** 21 | 22 | - Out-of-process ActiveQt controls no longer silently discard unhandled 23 | SEH or C++ exceptions that would otherwise crash the application. Done 24 | to make crashes visible, simplify debugging and enable automatic crash 25 | dump generation through Windows error reporting. 26 | -------------------------------------------------------------------------------- /examples/activeqt/comapp/doc/snippets/doc_src_examples_activeqt_comapp.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | //! [0] 5 | Private Application As comappLib.Application 6 | Private MyApp As Boolean 7 | 8 | Private Sub UpdateList() 9 | DocumentList.Clear 10 | DocumentsCount.Caption = Application.documents.Count 11 | For Index = 0 To Application.documents.Count - 1 12 | DocumentList.AddItem (Application.documents.Item(Index).Title) 13 | Next 14 | End Sub 15 | 16 | Private Sub Form_Load() 17 | On Error GoTo CreateNew 18 | Set Application = GetObject(, "comapp.Application") 19 | MyApp = False 20 | GoTo Initialized 21 | CreateNew: 22 | On Error GoTo InitializeFailed 23 | Set Application = New Application 24 | Application.Visible = True 25 | MyApp = True 26 | Initialized: 27 | Caption = Application.id 28 | UpdateList 29 | InitializeFailed: 30 | End Sub 31 | 32 | Private Sub Form_Unload(Cancel As Integer) 33 | If MyApp Then 34 | Application.quit 35 | End If 36 | End Sub 37 | 38 | Private Sub NewDocument_Click() 39 | Application.documents.addDocument 40 | UpdateList 41 | End Sub 42 | //! [0] 43 | -------------------------------------------------------------------------------- /tests/manual/opengl/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | // 4 | // Qt OpenGL example: Box 5 | // 6 | // A small example showing how a GLWidget can be used just as any Qt widget 7 | // 8 | // File: main.cpp 9 | // 10 | // The main() function 11 | // 12 | 13 | #include "globjwin.h" 14 | #include "glbox.h" 15 | #include 16 | //! [0] 17 | #include 18 | 19 | QAXFACTORY_BEGIN( 20 | "{2c3c183a-eeda-41a4-896e-3d9c12c3577d}", // type library ID 21 | "{83e16271-6480-45d5-aaf1-3f40b7661ae4}") // application ID 22 | QAXCLASS(GLBox) 23 | QAXFACTORY_END() 24 | 25 | //! [0] //! [1] 26 | /* 27 | The main program is here. 28 | */ 29 | 30 | int main(int argc, char *argv[]) 31 | { 32 | QApplication a(argc,argv); 33 | 34 | if (QOpenGLContext::openGLModuleType() != QOpenGLContext::LibGL) { 35 | qWarning("This system does not support OpenGL. Exiting."); 36 | return -1; 37 | } 38 | 39 | if (!QAxFactory::isServer()) { 40 | GLObjectWindow w; 41 | w.resize(400, 350); 42 | w.show(); 43 | return a.exec(); 44 | //! [1] //! [2] 45 | } 46 | return a.exec(); 47 | //! [2] //! [3] 48 | } 49 | //! [3] 50 | -------------------------------------------------------------------------------- /dist/changes-5.14.0: -------------------------------------------------------------------------------- 1 | Qt 5.14 introduces many new features and improvements as well as bugfixes 2 | over the 5.13.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 8 | Applications compiled for 5.13 will continue to run with 5.14. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | **************************************************************************** 19 | * ActiveQt * 20 | **************************************************************************** 21 | 22 | - dumpcpp now generates the constructor code into the .cpp file. 23 | 24 | - QAxServer: 25 | * [QTBUG-76269] Don't fall-back automatically to per-user registration 26 | of controls if global registration fails, and add support for 27 | explicitly registering controls for the current user. 28 | -------------------------------------------------------------------------------- /tests/manual/multiple/ax1.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef AX1_H 5 | #define AX1_H 6 | 7 | #include 8 | #include 9 | 10 | //! [0] 11 | class QAxWidget1 : public QWidget 12 | { 13 | Q_OBJECT 14 | Q_CLASSINFO("ClassID", "{1D9928BD-4453-4bdd-903D-E525ED17FDE5}") 15 | Q_CLASSINFO("InterfaceID", "{99F6860E-2C5A-42ec-87F2-43396F4BE389}") 16 | Q_CLASSINFO("EventsID", "{0A3E9F27-E4F1-45bb-9E47-63099BCCD0E3}") 17 | 18 | Q_PROPERTY(QColor fillColor READ fillColor WRITE setFillColor) 19 | public: 20 | explicit QAxWidget1(QWidget *parent = nullptr) 21 | : QWidget(parent) 22 | { 23 | } 24 | 25 | QColor fillColor() const 26 | { 27 | return m_fillColor; 28 | } 29 | 30 | void setFillColor(const QColor &fc) 31 | { 32 | m_fillColor = fc; 33 | repaint(); 34 | } 35 | 36 | protected: 37 | void paintEvent(QPaintEvent *e) override 38 | { 39 | QPainter paint(this); 40 | QRect r = rect(); 41 | r.adjust(10, 10, -10, -10); 42 | paint.fillRect(r, m_fillColor); 43 | } 44 | 45 | private: 46 | QColor m_fillColor = Qt::red; 47 | }; 48 | //! [0] 49 | 50 | #endif // AX1_H 51 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/examples/simple-demo.qdocinc: -------------------------------------------------------------------------------- 1 | //! [0] 2 | \code 3 | 5 | 6 | 7 | [Object not available! Did you forget to build and register the server?] 8 | 9 | \endcode 10 | //! [0] //! [1] 11 | \code 12 | 13 |
14 | 15 |
16 | \endcode 17 | //! [1] 18 | 19 | //! [2] 20 | \code 21 | 22 | [Standard Calendar control not available!] 23 | 24 | 25 | \endcode 26 | //! [2] 27 | 28 |
29 | 30 |
31 | 32 | //! [3] 33 | \code 34 | 43 | 44 | 50 | \endcode 51 | //! [3] 52 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/examples/multiple-demo.qdocinc: -------------------------------------------------------------------------------- 1 | \code 2 | 13 | 14 |

15 | This is one QWidget subclass:
16 | 18 | [Object not available! Did you forget to build and register the server?] 19 |
20 |

21 | Fill Color: 22 | 23 | 24 | 25 |
26 | 27 |

28 | This is another QWidget subclass:
29 | 31 | [Object not available! Did you forget to build and register the server?] 32 |
33 |

34 | Line width: 35 | 36 |
37 | \endcode 38 | -------------------------------------------------------------------------------- /tests/auto/qaxobjectcom/testserver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | # Configure file allow execute_process to detect changes to idl file. 5 | configure_file( 6 | ${CMAKE_CURRENT_SOURCE_DIR}/testserverlib.idl 7 | ${CMAKE_CURRENT_BINARY_DIR}/testserverlib.idl 8 | COPYONLY 9 | ) 10 | 11 | # Run midl at configure time because qt6_target_typelibs checks 12 | # for presence of tlb file at configure time 13 | execute_process( 14 | COMMAND 15 | midl /h testserverlib.h /tlb testserverlib.tlb testserverlib.idl 16 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} 17 | COMMAND_ERROR_IS_FATAL ANY 18 | ) 19 | 20 | qt_add_library(testserver 21 | SHARED 22 | testserver.h 23 | testserver.cpp 24 | testserver.def 25 | testserverlib.idl 26 | testserver.rc 27 | ) 28 | 29 | # Trigger rebuild of resources if tlb file changed 30 | set_property( 31 | SOURCE 32 | testserver.rc 33 | PROPERTY 34 | OBJECT_DEPENDS 35 | ${CMAKE_CURRENT_BINARY_DIR}/testserverlib.tlb 36 | ) 37 | 38 | target_include_directories(testserver 39 | PRIVATE 40 | ${CMAKE_CURRENT_BINARY_DIR} 41 | ) 42 | 43 | target_link_libraries(testserver 44 | PRIVATE 45 | Qt::CorePrivate 46 | Qt::AxBasePrivate 47 | ) 48 | -------------------------------------------------------------------------------- /tests/manual/menus/doc/src/menus.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page qaxserver-demo-menus.html 6 | \preliminary 7 | 8 | \title Menubar Merging 9 | 10 | This example is not fully functional at the moment. 11 | 12 | \raw HTML 13 | 15 | [Object not available! Did you forget to build and register the server?] 16 | 17 | \endraw 18 | */ 19 | 20 | /*! 21 | \example activeqt/menus 22 | \title Menus Example (ActiveQt) 23 | \ingroup activeqt-examples 24 | 25 | \brief The Menus example demonstrates the use of QMenuBar and QStatusBar 26 | in a QMainWindow to implement an in-place active control. 27 | 28 | To build the example you must first build the QAxServer library. 29 | Then run \c qmake and your make tool in \c 30 | examples/activeqt/menus. 31 | 32 | The \l{qaxserver-demo-menus.html}{demonstration} requires your 33 | WebBrowser to support ActiveX controls, and scripting to be 34 | enabled. 35 | 36 | \snippet activeqt/menus/doc/snippets/doc_src_examples_activeqt_menus.qdoc 0 37 | */ 38 | -------------------------------------------------------------------------------- /tools/testcon/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## testcon Binary: 6 | ##################################################################### 7 | 8 | qt_internal_add_app(testcon 9 | SOURCES 10 | ambientproperties.cpp ambientproperties.h ambientproperties.ui 11 | changeproperties.cpp changeproperties.h changeproperties.ui 12 | controlinfo.cpp controlinfo.h controlinfo.ui 13 | docuwindow.cpp docuwindow.h 14 | invokemethod.cpp invokemethod.h invokemethod.ui 15 | main.cpp 16 | mainwindow.cpp mainwindow.h mainwindow.ui 17 | sandboxing.cpp sandboxing.h 18 | LIBRARIES 19 | Qt::AxContainer 20 | Qt::AxContainerPrivate 21 | Qt::AxServer 22 | Qt::CorePrivate 23 | Qt::Gui 24 | Qt::PrintSupport 25 | Qt::Widgets 26 | ENABLE_AUTOGEN_TOOLS 27 | uic 28 | ) 29 | 30 | # Resources: 31 | set(testcon_resource_files 32 | "images/controlmethods.png" 33 | "images/controlproperties.png" 34 | "images/filenew.png" 35 | ) 36 | 37 | qt_internal_add_resource(testcon "testcon" 38 | PREFIX 39 | "/" 40 | FILES 41 | ${testcon_resource_files} 42 | ) 43 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxobject_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXOBJECT_P_H 5 | #define QAXOBJECT_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class QAxObjectPrivate : public QObjectPrivate, public QAxBasePrivate 25 | { 26 | Q_DECLARE_PUBLIC(QAxObject) 27 | public: 28 | void clear(); 29 | 30 | QObject* qObject() const override; 31 | const char *className() const override; 32 | const QMetaObject *fallbackMetaObject() const override; 33 | const QMetaObject *parentMetaObject() const override; 34 | 35 | void emitException(int code, const QString &source, const QString &desc, 36 | const QString &help) override; 37 | void emitPropertyChanged(const QString &name) override; 38 | void emitSignal(const QString &name, int argc, void *argv) override; 39 | }; 40 | 41 | QT_END_NAMESPACE 42 | 43 | #endif // QAXOBJECT_P_H 44 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/activeqt-dumpdoc.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page activeqt-dumpdoc.html 6 | \title The dumpdoc Tool (ActiveQt) 7 | 8 | \ingroup activeqt-tools 9 | 10 | \keyword dumpdoc 11 | 12 | The \c dumpdoc tool generates Qt-style documentation for any 13 | COM object and writes it into the file specified. 14 | 15 | Call \c dumpdoc with the following command line parameters: 16 | 17 | \table 18 | \header 19 | \li Option 20 | \li Result 21 | \row 22 | \li -o file 23 | \li Writes output to \e file 24 | \row 25 | \li object 26 | \li Generate documentation for \e object 27 | \row 28 | \li -v 29 | \li Print version information 30 | \row 31 | \li -h 32 | \li Print help 33 | \endtable 34 | 35 | \e object must be an object installed on the local machine (ie. 36 | remote objects are not supported), and can include subobjects 37 | accessible through properties, ie. 38 | \c Outlook.Application/Session/CurrentUser 39 | 40 | The generated file will be an HTML file using Qt documentation 41 | style. 42 | 43 | To build the tool you must first build the QAxContainer library. 44 | Then run your make tool in \c tools/dumpdoc. 45 | */ 46 | -------------------------------------------------------------------------------- /src/activeqt/doc/snippets/src_activeqt_control_qaxbindable.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | //! [0] 5 | class MyActiveX : public QWidget, public QAxBindable 6 | { 7 | Q_OBJECT 8 | Q_PROPERTY(int value READ value WRITE setValue) 9 | 10 | public: 11 | MyActiveX(QWidget *parent = 0); 12 | ... 13 | 14 | int value() const; 15 | void setValue(int); 16 | }; 17 | //! [0] 18 | 19 | 20 | //! [1] 21 | void MyActiveQt::setText(const QString &text) 22 | { 23 | if (!requestPropertyChange("text")) 24 | return; 25 | 26 | // update property 27 | 28 | propertyChanged("text"); 29 | } 30 | //! [1] 31 | 32 | 33 | //! [2] 34 | long AxImpl::queryInterface(const QUuid &iid, void **iface) 35 | { 36 | *iface = 0; 37 | if (iid == IID_ISomeCOMInterface) 38 | *iface = (ISomeCOMInterface*)this; 39 | else 40 | return E_NOINTERFACE; 41 | 42 | AddRef(); 43 | return S_OK; 44 | } 45 | //! [2] 46 | 47 | 48 | //! [3] 49 | HRESULT AxImpl::QueryInterface(REFIID iid, void **iface) 50 | { 51 | return controllingUnknown()->QueryInterface(iid, iface); 52 | } 53 | 54 | ulong AxImpl::AddRef() 55 | { 56 | return controllingUnknown()->AddRef(); 57 | } 58 | 59 | ulong AxImpl::Release() 60 | { 61 | return controllingUnknown()->Release(); 62 | } 63 | //! [3] 64 | -------------------------------------------------------------------------------- /src/activeqt/control/qaxaggregated.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXAGGREGATED_H 5 | #define QAXAGGREGATED_H 6 | 7 | #include 8 | 9 | struct IUnknown; 10 | 11 | QT_BEGIN_NAMESPACE 12 | 13 | class QWidget; 14 | 15 | class QUuid; 16 | 17 | class QAxAggregated 18 | { 19 | friend class QAxServerBase; 20 | friend class QAxClientSite; 21 | Q_DISABLE_COPY_MOVE(QAxAggregated) 22 | public: 23 | virtual long queryInterface(const QUuid &iid, void **iface) = 0; 24 | 25 | protected: 26 | QAxAggregated() = default; 27 | virtual ~QAxAggregated() = default; 28 | 29 | inline IUnknown *controllingUnknown() const 30 | { return controlling_unknown; } 31 | QWidget *widget() const; 32 | inline QObject *object() const { return the_object; } 33 | 34 | private: 35 | IUnknown *controlling_unknown = nullptr; 36 | QObject *the_object = nullptr; 37 | }; 38 | 39 | #define QAXAGG_IUNKNOWN \ 40 | HRESULT WINAPI QueryInterface(REFIID iid, LPVOID *iface) override \ 41 | { return controllingUnknown()->QueryInterface(iid, iface); } \ 42 | ULONG WINAPI AddRef() override { return controllingUnknown()->AddRef(); } \ 43 | ULONG WINAPI Release() override { return controllingUnknown()->Release(); } \ 44 | 45 | QT_END_NAMESPACE 46 | 47 | #endif // QAXAGGREGATED_H 48 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/examples/hierarchy-demo.qdocinc: -------------------------------------------------------------------------------- 1 | \raw HTML 2 | 24 | 25 |

26 | This widget can have many children! 27 |

28 | 30 | [Object not available! Did you forget to build and register the server?] 31 |
32 |
33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 | \endraw 42 | -------------------------------------------------------------------------------- /tests/manual/multiple/ax2.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef AX2_H 5 | #define AX2_H 6 | 7 | #include 8 | #include 9 | 10 | //! [0] 11 | class QAxWidget2 : public QWidget 12 | { 13 | Q_OBJECT 14 | Q_CLASSINFO("ClassID", "{58139D56-6BE9-4b17-937D-1B1EDEDD5B71}") 15 | Q_CLASSINFO("InterfaceID", "{B66280AB-08CC-4dcc-924F-58E6D7975B7D}") 16 | Q_CLASSINFO("EventsID", "{D72BACBA-03C4-4480-B4BB-DE4FE3AA14A0}") 17 | Q_CLASSINFO("ToSuperClass", "QAxWidget2") 18 | Q_CLASSINFO("StockEvents", "yes") 19 | Q_CLASSINFO("Insertable", "yes") 20 | 21 | Q_PROPERTY(int lineWidth READ lineWidth WRITE setLineWidth) 22 | public: 23 | using QWidget::QWidget; 24 | 25 | int lineWidth() const 26 | { 27 | return m_lineWidth; 28 | } 29 | 30 | void setLineWidth(int lw) 31 | { 32 | m_lineWidth = lw; 33 | repaint(); 34 | } 35 | 36 | protected: 37 | void paintEvent(QPaintEvent *e) override 38 | { 39 | QPainter paint(this); 40 | QPen pen = paint.pen(); 41 | pen.setWidth(m_lineWidth); 42 | paint.setPen(pen); 43 | 44 | QRect r = rect(); 45 | r.adjust(10, 10, -10, -10); 46 | paint.drawEllipse(r); 47 | } 48 | 49 | private: 50 | int m_lineWidth = 1; 51 | }; 52 | //! [0] 53 | 54 | #endif // AX2_H 55 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxwidget_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXWIDGET_P_H 5 | #define QAXWIDGET_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class QAxClientSite; 25 | 26 | class QAxWidgetPrivate : public QWidgetPrivate, public QAxBasePrivate 27 | { 28 | Q_DECLARE_PUBLIC(QAxWidget) 29 | public: 30 | void clear(); 31 | 32 | QObject* qObject() const override; 33 | const char *className() const override; 34 | const QMetaObject *fallbackMetaObject() const override; 35 | const QMetaObject *parentMetaObject() const override; 36 | 37 | void emitException(int code, const QString &source, const QString &desc, 38 | const QString &help) override; 39 | void emitPropertyChanged(const QString &name) override; 40 | void emitSignal(const QString &name, int argc, void *argv) override; 41 | 42 | QAxClientSite *container = nullptr; 43 | }; 44 | 45 | QT_END_NAMESPACE 46 | 47 | #endif // QAXWIDGET_P_H 48 | -------------------------------------------------------------------------------- /src/activeqt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | add_subdirectory(axbase) 5 | add_subdirectory(control) 6 | add_subdirectory(container) 7 | 8 | # We disable the headersclean check, since these header files don't belong to the ActiveQt module. 9 | # Headersclean rules fail because ActiveQt module doesn't link the necessary libraries so their 10 | # compile flags and include directories are missing. We cannot simply link libraries because the 11 | # missing include directories belong to the AxServer and AxContainer modules which have conflicting 12 | # object files and meaning and cannot be linked in the same time. 13 | qt_internal_add_module(ActiveQt 14 | HEADER_MODULE 15 | MODULE_INCLUDE_NAME ActiveQt 16 | NO_HEADERSCLEAN_CHECK 17 | SOURCES 18 | axbase/qaxtypefunctions_p.h 19 | axbase/qaxutils_p.h 20 | container/qaxbase.h container/qaxbase_p.h 21 | container/qaxobject.h container/qaxobject_p.h 22 | container/qaxobjectinterface.h 23 | container/qaxscript.h 24 | container/qaxselect.h 25 | container/qaxwidget.h container/qaxwidget_p.h 26 | control/qaxaggregated.h 27 | control/qaxbindable.h 28 | control/qaxfactory.h 29 | control/qclassfactory_p.h 30 | shared/qaxtypes_p.h 31 | NO_GENERATE_CPP_EXPORTS 32 | ) 33 | qt_internal_add_docs(ActiveQt 34 | doc/activeqt.qdocconf 35 | ) 36 | -------------------------------------------------------------------------------- /src/activeqt/container/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## AxContainer Module: 6 | ##################################################################### 7 | 8 | qt_internal_add_module(AxContainer 9 | STATIC 10 | QMAKE_MODULE_CONFIG dumpcpp 11 | SOURCES 12 | ../control/qaxaggregated.h 13 | ../shared/qaxtypes.cpp ../shared/qaxtypes_p.h 14 | qaxbase.cpp qaxbase.h qaxbase_p.h 15 | qaxdump.cpp 16 | qaxobject.cpp qaxobject.h qaxobject_p.h 17 | qaxobjectinterface.h 18 | qaxscript.cpp qaxscript.h 19 | qaxscriptwrapper.cpp 20 | qaxselect.cpp qaxselect.h qaxselect.ui 21 | qaxwidget.cpp qaxwidget.h qaxwidget_p.h 22 | LIBRARIES 23 | Qt::AxBasePrivate 24 | Qt::CorePrivate 25 | Qt::GuiPrivate 26 | Qt::WidgetsPrivate 27 | PUBLIC_LIBRARIES 28 | Qt::Core 29 | Qt::Gui 30 | Qt::Widgets 31 | ENABLE_AUTOGEN_TOOLS 32 | uic 33 | NO_GENERATE_CPP_EXPORTS 34 | QT_LICENSE_ID QT_COMMERCIAL_OR_BSD3 35 | ) 36 | 37 | set_source_files_properties(qaxbase.cpp # defines QT_CHECK_STATE 38 | qaxscriptwrapper.cpp # references qAxFactory() 39 | PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) 40 | 41 | qt_internal_add_sync_header_dependencies(AxContainer AxServer) 42 | -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) . 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 7 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 8 | 9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/doc/snippets/hierarchy-demo-snippet.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | //! [script] 5 | 27 | 28 |

29 | This widget can have many children! 30 |

31 | 33 | [Object not available! Did you forget to build and register the server?] 34 |
35 |
36 | 37 | 38 | 39 | 40 |
41 | 42 | 43 |
44 | //! [script] 45 | -------------------------------------------------------------------------------- /src/activeqt/control/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | ##################################################################### 5 | ## AxServer Module: 6 | ##################################################################### 7 | 8 | qt_internal_add_module(AxServer 9 | STATIC 10 | QMAKE_MODULE_CONFIG idcidl force_import_plugins 11 | SOURCES 12 | ../shared/qaxtypes.cpp ../shared/qaxtypes_p.h 13 | qaxaggregated.cpp qaxaggregated.h 14 | qaxbindable.cpp qaxbindable.h 15 | qaxfactory.cpp qaxfactory.h 16 | qaxmain.cpp 17 | qaxserver.cpp 18 | qaxserverbase.cpp 19 | qaxserverdll.cpp 20 | qaxservermain.cpp 21 | qclassfactory_p.h 22 | DEFINES 23 | QAX_SERVER 24 | PUBLIC_DEFINES 25 | QAXSERVER 26 | LIBRARIES 27 | Qt::AxBasePrivate 28 | Qt::CorePrivate 29 | Qt::GuiPrivate 30 | Qt::WidgetsPrivate 31 | PUBLIC_LIBRARIES 32 | Qt::Core 33 | Qt::Gui 34 | Qt::Widgets 35 | shell32 36 | NO_GENERATE_CPP_EXPORTS 37 | QT_LICENSE_ID QT_COMMERCIAL_OR_BSD3 38 | ) 39 | 40 | set_source_files_properties(qaxservermain.cpp # define main() 41 | qaxmain.cpp 42 | PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) 43 | 44 | ## Scopes: 45 | ##################################################################### 46 | 47 | qt_internal_extend_target(AxServer CONDITION MINGW 48 | DEFINES 49 | QT_NEEDS_QMAIN 50 | ) 51 | -------------------------------------------------------------------------------- /examples/activeqt/wrapper/doc/src/wrapper.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page qaxserver-demo-wrapper.html 6 | 7 | \title Standard Qt widgets in an HTML page 8 | 9 | \input doc/src/examples/wrapper-demo.qdocinc 10 | */ 11 | 12 | /*! 13 | \example activeqt/wrapper 14 | \title Wrapper Example (ActiveQt) 15 | \examplecategory {Desktop} 16 | \ingroup activeqt-examples 17 | 18 | \brief The Wrapper example demonstrates how to export existing QWidget 19 | classes as ActiveX controls, and the use of QAxFactory together 20 | with the \c QAXFACTORY_EXPORT() macro. ActiveX controls in this 21 | example are the standard button classes QPushButton, QCheckBox 22 | and QRadioButton as provided by Qt. 23 | 24 | \snippet activeqt/wrapper/main.cpp 0 25 | The factory implementation returns the list of supported controls, 26 | creates controls on request and provides information about the unique 27 | IDs of the COM classes and interfaces for each control. 28 | 29 | \snippet activeqt/wrapper/main.cpp 1 30 | The factory is exported using the QAXFACTORY_EXPORT macro. 31 | 32 | To build the example you must first build the QAxServer library. 33 | Then run \c qmake and your make tool in \c 34 | examples/activeqt/wrapper. 35 | 36 | The \l{qaxserver-demo-wrapper.html}{demonstration} requires a 37 | web browser that supports ActiveX controls, and scripting to be 38 | enabled. 39 | 40 | \input doc/src/examples/wrapper-demo.qdocinc 41 | */ 42 | -------------------------------------------------------------------------------- /tests/auto/qaxobject/tst_qaxobject.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | class tst_QAxObject : public QObject 10 | { 11 | Q_OBJECT 12 | 13 | private slots: 14 | void propertyByRefWritable(); 15 | void setPropertyByRef(); 16 | void multiplePropertiesDuplicateName(); 17 | }; 18 | 19 | void tst_QAxObject::propertyByRefWritable() 20 | { 21 | const QAxObject speak("SAPI.SPVoice"); 22 | const QMetaObject *metaObject = speak.metaObject(); 23 | 24 | for (int i = 0; i < metaObject->propertyCount(); ++i) { 25 | if (qstrcmp(metaObject->property(i).name(), "Voice") == 0) { 26 | QVERIFY(metaObject->property(i).isWritable()); 27 | break; 28 | } 29 | } 30 | } 31 | 32 | void tst_QAxObject::setPropertyByRef() 33 | { 34 | QAxObject speak("SAPI.SPVoice"); 35 | 36 | QVERIFY(speak.setProperty("Voice", speak.property("Voice"))); 37 | } 38 | 39 | void tst_QAxObject::multiplePropertiesDuplicateName() 40 | { 41 | // Remote desktop client control has two instances for most properties, 42 | // one for the setter and one for the getter 43 | QAxObject ax("MsTscAx.MsTscAx.4"); 44 | if (ax.isNull()) 45 | QSKIP("MsTscAx control was not found so test cannot be run"); 46 | int newDesktopHeight = 768; 47 | QVERIFY(ax.setProperty("DesktopHeight", newDesktopHeight)); 48 | QCOMPARE(ax.property("DesktopHeight").toInt(), newDesktopHeight); 49 | } 50 | 51 | QTEST_MAIN(tst_QAxObject) 52 | #include "tst_qaxobject.moc" 53 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/objects.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef OBJECTS_H 5 | #define OBJECTS_H 6 | 7 | #include 8 | 9 | QT_BEGIN_NAMESPACE 10 | class QVBoxLayout; 11 | QT_END_NAMESPACE 12 | class QSubWidget; 13 | 14 | //! [0] 15 | class QParentWidget : public QWidget 16 | { 17 | Q_OBJECT 18 | Q_CLASSINFO("ClassID", "{d574a747-8016-46db-a07c-b2b4854ee75c}"); 19 | Q_CLASSINFO("InterfaceID", "{4a30719d-d9c2-4659-9d16-67378209f822}"); 20 | Q_CLASSINFO("EventsID", "{4a30719d-d9c2-4659-9d16-67378209f823}"); 21 | public: 22 | explicit QParentWidget(QWidget *parent = nullptr); 23 | 24 | QSize sizeHint() const override; 25 | 26 | public slots: 27 | void createSubWidget(const QString &name); 28 | 29 | QSubWidget *subWidget(const QString &name); 30 | 31 | private: 32 | QVBoxLayout *m_vbox; 33 | }; 34 | //! [0] 35 | 36 | //! [1] 37 | class QSubWidget : public QWidget 38 | { 39 | Q_OBJECT 40 | Q_PROPERTY(QString label READ label WRITE setLabel) 41 | 42 | Q_CLASSINFO("ClassID", "{850652f4-8f71-4f69-b745-bce241ccdc30}"); 43 | Q_CLASSINFO("InterfaceID", "{2d76cc2f-3488-417a-83d6-debff88b3c3f}"); 44 | Q_CLASSINFO("ToSuperClass", "QSubWidget"); 45 | 46 | public: 47 | QSubWidget(QWidget *parent = nullptr, const QString &name = QString()); 48 | 49 | void setLabel(const QString &text); 50 | QString label() const; 51 | 52 | QSize sizeHint() const override; 53 | 54 | protected: 55 | void paintEvent(QPaintEvent *e) override; 56 | 57 | private: 58 | QString m_label; 59 | }; 60 | //! [1] 61 | 62 | #endif // OBJECTS_H 63 | -------------------------------------------------------------------------------- /src/activeqt/doc/src/examples/wrapper-demo.qdocinc: -------------------------------------------------------------------------------- 1 | \code 2 | 19 |

20 | A QPushButton:
21 | 23 | 24 | [Object not available! Did you forget to build and register the server?] 25 |
26 | 27 |

28 | A QCheckBox:
29 | 31 | 32 | [Object not available! Did you forget to build and register the server?] 33 |
34 | 35 |

36 | A QToolButton:
37 | 39 | [Object not available! Did you forget to build and register the server?] 40 |
41 | 42 |

43 | A QRadioButton:
44 | 46 | 47 | [Object not available! Did you forget to build and register the server?] 48 |
49 | \endcode 50 | -------------------------------------------------------------------------------- /tests/manual/hierarchy/objects.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "objects.h" 5 | #include 6 | #include 7 | 8 | /* Implementation of QParentWidget */ 9 | //! [0] 10 | QParentWidget::QParentWidget(QWidget *parent) 11 | : QWidget(parent), 12 | m_vbox(new QVBoxLayout(this)) 13 | { 14 | } 15 | 16 | //! [0] //! [1] 17 | void QParentWidget::createSubWidget(const QString &name) 18 | { 19 | QSubWidget *sw = new QSubWidget(this, name); 20 | m_vbox->addWidget(sw); 21 | sw->setLabel(name); 22 | sw->show(); 23 | } 24 | 25 | //! [1] //! [2] 26 | QSubWidget *QParentWidget::subWidget(const QString &name) 27 | { 28 | return findChild(name); 29 | } 30 | 31 | //! [2] 32 | QSize QParentWidget::sizeHint() const 33 | { 34 | return QWidget::sizeHint().expandedTo(QSize(100, 100)); 35 | } 36 | 37 | /* Implementation of QSubWidget */ 38 | //! [3] 39 | QSubWidget::QSubWidget(QWidget *parent, const QString &name) 40 | : QWidget(parent) 41 | { 42 | setObjectName(name); 43 | } 44 | 45 | void QSubWidget::setLabel(const QString &text) 46 | { 47 | m_label = text; 48 | setObjectName(text); 49 | update(); 50 | } 51 | 52 | QString QSubWidget::label() const 53 | { 54 | return m_label; 55 | } 56 | 57 | QSize QSubWidget::sizeHint() const 58 | { 59 | QFontMetrics fm(font()); 60 | return QSize(fm.horizontalAdvance(m_label), fm.height()); 61 | } 62 | 63 | void QSubWidget::paintEvent(QPaintEvent *) 64 | { 65 | QPainter painter(this); 66 | painter.setPen(palette().text().color()); 67 | painter.drawText(rect(), Qt::AlignCenter, m_label); 68 | //! [3] //! [4] 69 | } 70 | //! [4] 71 | -------------------------------------------------------------------------------- /tests/auto/conversion/testutil_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2023 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #ifndef TESTUTIL_P_H 5 | #define TESTUTIL_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | template 25 | ULONG refCount(const ComPtr &p) 26 | { 27 | p->AddRef(); 28 | return p->Release(); 29 | } 30 | 31 | struct IUnknownStub : QComObject 32 | { 33 | }; 34 | 35 | struct IDispatchStub : QComObject 36 | { 37 | HRESULT GetTypeInfoCount(UINT * /*pctinfo*/) override { return E_NOTIMPL; } 38 | 39 | HRESULT GetTypeInfo(UINT /*iTInfo*/, LCID /*lcid*/, ITypeInfo ** /*ppTInfo*/) override 40 | { 41 | return E_NOTIMPL; 42 | } 43 | 44 | HRESULT GetIDsOfNames(const IID & /*riid*/, LPOLESTR * /*rgszNames*/, UINT /*cNames*/, 45 | LCID /*lcid*/, DISPID * /*rgDispId*/) override 46 | { 47 | return E_NOTIMPL; 48 | } 49 | 50 | HRESULT Invoke(DISPID /*dispIdMember*/, const IID & /*riid*/, LCID /*lcid*/, WORD /*wFlags*/, 51 | DISPPARAMS * /*pDispParams*/, VARIANT * /*pVarResult*/, 52 | EXCEPINFO * /*pExcepInfo*/, UINT * /*puArgErr*/) override 53 | { 54 | return E_NOTIMPL; 55 | } 56 | }; 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /tests/manual/opengl/glbox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | /**************************************************************************** 5 | ** 6 | ** This is a simple QGLWidget displaying an openGL wireframe box 7 | ** 8 | ****************************************************************************/ 9 | 10 | #ifndef GLBOX_H 11 | #define GLBOX_H 12 | 13 | #include 14 | #include 15 | //! [0] 16 | #include 17 | 18 | class GLBox : public QOpenGLWidget, 19 | public QOpenGLFunctions_1_1, 20 | public QAxBindable 21 | { 22 | Q_OBJECT 23 | Q_CLASSINFO("ClassID", "{5fd9c22e-ed45-43fa-ba13-1530bb6b03e0}") 24 | Q_CLASSINFO("InterfaceID", "{33b051af-bb25-47cf-a390-5cfd2987d26a}") 25 | Q_CLASSINFO("EventsID", "{8c996c29-eafa-46ac-a6f9-901951e765b5}") 26 | //! [0] //! [1] 27 | 28 | public: 29 | explicit GLBox(QWidget *parent, const char *name = nullptr); 30 | virtual ~GLBox(); 31 | QAxAggregated *createAggregate() override; 32 | 33 | public slots: 34 | void setXRotation(int degrees); 35 | //! [1] 36 | void setYRotation(int degrees); 37 | void setZRotation(int degrees); 38 | 39 | protected: 40 | void initializeGL() override; 41 | void paintGL() override; 42 | void resizeGL(int w, int h) override; 43 | virtual GLuint makeObject(); 44 | 45 | private: 46 | GLuint m_object = 0; 47 | GLdouble m_xRot = 0; 48 | GLdouble m_yRot = 0; 49 | GLdouble m_zRot = 0; 50 | GLdouble m_scale = 1.25; 51 | }; 52 | 53 | #endif // GLBOX_H 54 | -------------------------------------------------------------------------------- /src/activeqt/shared/qaxtypes_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXTYPES_H 5 | #define QAXTYPES_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | 23 | QT_BEGIN_NAMESPACE 24 | 25 | #ifdef QAX_SERVER 26 | # define QVariantToVARIANTFunc QVariantToVARIANT_server 27 | # define VARIANTToQVariantFunc VARIANTToQVariant_server 28 | #else 29 | # define QVariantToVARIANTFunc QVariantToVARIANT_container 30 | # define VARIANTToQVariantFunc VARIANTToQVariant_container 31 | #endif 32 | 33 | extern bool QVariantToVARIANTFunc(const QVariant &var, VARIANT &arg, const QByteArray &typeName = QByteArray(), bool out = false); 34 | extern QVariant VARIANTToQVariantFunc(const VARIANT &arg, const QByteArray &typeName, 35 | int type = 0); 36 | 37 | inline bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &typeName = QByteArray(), bool out = false) 38 | { 39 | return QVariantToVARIANTFunc(var, arg, typeName, out); 40 | } 41 | 42 | inline QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, 43 | int type = 0) 44 | { 45 | return VARIANTToQVariantFunc(arg, typeName, type); 46 | } 47 | 48 | #undef QVariantToVARIANTFunc 49 | #undef VARIANTToQVariantFunc 50 | 51 | QT_END_NAMESPACE 52 | 53 | #endif // QAXTYPES_H 54 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | cmake_minimum_required(VERSION 3.16) 5 | 6 | include(".cmake.conf") 7 | project(QtActiveQt 8 | VERSION "${QT_REPO_MODULE_VERSION}" 9 | DESCRIPTION "Qt Active Qt Libraries" 10 | HOMEPAGE_URL "https://qt.io/" 11 | LANGUAGES CXX C 12 | ) 13 | 14 | if (NOT WIN32) 15 | message(NOTICE "Condition \"WIN32\" is not met, enabling documentation build only.") 16 | # special case begin 17 | set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE) 18 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals) 19 | qt_internal_project_setup() 20 | 21 | qt_build_repo_begin() 22 | add_subdirectory(src/activeqt/doc) 23 | qt_build_repo_end() 24 | # special case end 25 | return() 26 | endif() 27 | 28 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals) 29 | 30 | # This should be called as early as possible, just after find_package(BuildInternals) where it is 31 | # defined. 32 | qt_internal_project_setup() 33 | 34 | find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core) 35 | find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Qml Quick Gui Widgets 36 | PrintSupport OpenGL OpenGLWidgets 37 | ) 38 | 39 | if(NOT TARGET Qt::Gui OR NOT TARGET Qt::Widgets OR NOT TARGET Qt::PrintSupport) 40 | message(NOTICE "Skipping the build as the condition \"TARGET Qt::Gui\", \"TARGET Qt::Widget\" " 41 | "or \"TARGET Qt::Printsupport\" is not met.") 42 | return() 43 | endif() 44 | 45 | include("${CMAKE_CURRENT_SOURCE_DIR}/src/activeqt/container/Qt6AxContainerMacros.cmake") 46 | include("${CMAKE_CURRENT_SOURCE_DIR}/src/activeqt/control/Qt6AxServerMacros.cmake") 47 | 48 | qt_build_repo() 49 | -------------------------------------------------------------------------------- /dist/changes-5.7.0: -------------------------------------------------------------------------------- 1 | Qt 5.7 introduces many new features and improvements as well as bugfixes 2 | over the 5.6.x series. Also, there is a change in the licensing terms. 3 | For more details, refer to the online documentation included in this 4 | distribution. The documentation is also available online: 5 | 6 | http://doc.qt.io/qt-5/index.html 7 | 8 | The Qt version 5.7 series is binary compatible with the 5.6.x series. 9 | Applications compiled for 5.6 will continue to run with 5.7. 10 | 11 | Some of the changes listed in this file include issue tracking numbers 12 | corresponding to tasks in the Qt Bug Tracker: 13 | 14 | https://bugreports.qt.io/ 15 | 16 | Each of these identifiers can be entered in the bug tracker to obtain more 17 | information about a particular change. 18 | 19 | **************************************************************************** 20 | * Important License Changes * 21 | **************************************************************************** 22 | 23 | This module is no longer available under LGPLv2.1. The libraries are 24 | now available under the following licenses: 25 | * Commercial License 26 | * GNU General Public License v2.0 (LICENSE.GPL2) and later 27 | * GNU Lesser General Public License v3.0 (LICENSE.LGPL3) 28 | 29 | The tools are now available under the following licenses: 30 | * Commercial License 31 | * GNU General Public License 3.0 (LICENSE.GPL3) with exceptions 32 | described in The Qt Company GPL Exception 1.0 (LICENSE.GPL3-EXCEPT) 33 | 34 | **************************************************************************** 35 | * Library * 36 | **************************************************************************** 37 | 38 | - This release contains only minor code improvements. 39 | -------------------------------------------------------------------------------- /tests/manual/multiple/doc/src/multiple.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \page qaxserver-demo-multiple.html 6 | \title Two Simple Qt Widgets 7 | 8 | \input multiple-demo.qdocinc 9 | */ 10 | 11 | /*! 12 | \example activeqt/multiple 13 | \title Multiple Example (ActiveQt) 14 | \ingroup activeqt-examples 15 | 16 | \brief The Multiple example demonstrates the implementation of a 17 | QAxFactory to provide multiple ActiveX controls in a single in 18 | process ActiveX server using the \c QAXFACTORY_EXPORT() macro. 19 | The ActiveX controls in this example are simple QWidget 20 | subclasses that reimplement QWidget::paintEvent(). 21 | 22 | \snippet activeqt/multiple/ax1.h 0 23 | 24 | The first control draws a filled rectangle. The fill color is exposed 25 | as a property. \c Q_CLASSINFO() is used to specify the COM identifiers. 26 | 27 | \snippet activeqt/multiple/ax2.h 0 28 | 29 | The second control draws a circle. The linewith is exposed as a property. 30 | \c Q_CLASSINFO() is used to specify the COM identifiers, and to set the 31 | attributes \e ToSuperClass and \e StockEvents to expose only the API of 32 | the class itself, and to add COM stock events to the ActiveX control. 33 | 34 | \snippet activeqt/multiple/main.cpp 0 35 | 36 | The classes are exported from the server using the QAxFactory macros. 37 | 38 | To build the example you must first build the QAxServer library. 39 | Then run \c qmake and your make tool in \c 40 | examples/activeqt/multiple. 41 | 42 | The \l{Two Simple Qt Widgets} demonstration requires your 43 | WebBrowser to support ActiveX controls, and scripting to be 44 | enabled. 45 | 46 | \input multiple-demo.qdocinc 47 | */ 48 | -------------------------------------------------------------------------------- /tests/auto/cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | 5 | cmake_minimum_required(VERSION 3.16) 6 | 7 | project(qtactivetqt_cmake_tests) 8 | 9 | enable_testing() 10 | 11 | set(required_packages Core) 12 | set(optional_packages Widgets Gui) 13 | 14 | # Setup the test when called as a completely standalone project. 15 | if(TARGET Qt6::Core) 16 | # Tests are built as part of the qtactiveqt build tree. 17 | # Setup paths so that the Qt packages are found. 18 | qt_internal_set_up_build_dir_package_paths() 19 | endif() 20 | 21 | find_package(Qt6 REQUIRED COMPONENTS ${required_packages}) 22 | find_package(Qt6 OPTIONAL_COMPONENTS ${optional_packages}) 23 | 24 | # Setup common test variables which were previously set by ctest_testcase_common.prf. 25 | set(CMAKE_MODULES_UNDER_TEST "${required_packages}" "${optional_packages}") 26 | 27 | foreach(qt_package ${CMAKE_MODULES_UNDER_TEST}) 28 | set(package_name "${QT_CMAKE_EXPORT_NAMESPACE}${qt_package}") 29 | if(${package_name}_FOUND) 30 | set(CMAKE_${qt_package}_MODULE_MAJOR_VERSION "${${package_name}_VERSION_MAJOR}") 31 | set(CMAKE_${qt_package}_MODULE_MINOR_VERSION "${${package_name}_VERSION_MINOR}") 32 | set(CMAKE_${qt_package}_MODULE_PATCH_VERSION "${${package_name}_VERSION_PATCH}") 33 | endif() 34 | endforeach() 35 | 36 | include("${_Qt6CTestMacros}") 37 | 38 | if(TARGET Qt6::Widgets AND TARGET Qt6::Gui) 39 | _qt_internal_test_expect_pass(test_target_typelibs) 40 | _qt_internal_test_expect_pass(test_target_typelibs_absolute) 41 | _qt_internal_test_expect_fail(test_target_typelibs_empty_libs) 42 | _qt_internal_test_expect_fail(test_target_typelibs_non_existing_libs) 43 | _qt_internal_test_expect_pass(test_target_typelibs_out_dir) 44 | _qt_internal_test_expect_pass(test_modules/container) 45 | _qt_internal_test_expect_pass(test_modules/server) 46 | endif() 47 | -------------------------------------------------------------------------------- /coin/module_config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | accept_configuration: 3 | condition: or 4 | conditions: 5 | # Include all windows targets 6 | - condition: property 7 | property: target.os 8 | equals_value: "Windows" 9 | 10 | instructions: 11 | Build: 12 | - type: EnvironmentVariable 13 | variableName: VERIFY_SOURCE_SBOM 14 | variableValue: "ON" 15 | - type: EnvironmentVariable 16 | variableName: QT_CI_SKIP_MODULE_BUILD 17 | variableValue: "1" 18 | enable_if: 19 | condition: property 20 | property: features 21 | contains_value: Documentation 22 | - type: AppendToEnvironmentVariable 23 | variableName: NON_QTBASE_CONFIGURE_ARGS 24 | variableValue: " -DQT_NO_AX_SERVER_REGISTRATION=ON" 25 | disable_if: 26 | condition: property 27 | property: features 28 | contains_value: UseConfigure 29 | - type: AppendToEnvironmentVariable 30 | variableName: NON_QTBASE_TARGET_CONFIGURE_ARGS 31 | variableValue: " -DQT_NO_AX_SERVER_REGISTRATION=ON" 32 | disable_if: 33 | condition: property 34 | property: features 35 | contains_value: UseConfigure 36 | - type: AppendToEnvironmentVariable 37 | variableName: NON_QTBASE_CMAKE_ARGS 38 | variableValue: " -DQT_NO_AX_SERVER_REGISTRATION=ON" 39 | enable_if: 40 | condition: property 41 | property: features 42 | contains_value: UseConfigure 43 | - type: AppendToEnvironmentVariable 44 | variableName: NON_QTBASE_TARGET_CMAKE_ARGS 45 | variableValue: " -DQT_NO_AX_SERVER_REGISTRATION=ON" 46 | enable_if: 47 | condition: property 48 | property: features 49 | contains_value: UseConfigure 50 | - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml" 51 | 52 | Test: 53 | - type: Group 54 | instructions: 55 | - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml" 56 | disable_if: 57 | condition: property 58 | property: features 59 | contains_value: Documentation 60 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxobjectinterface.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \class QAxObjectInterface 6 | \brief QAxObjectInterface is an interface providing common properties of QAxObject and QAxWidget. 7 | \inmodule QAxContainer 8 | \since 6.0 9 | */ 10 | 11 | /*! 12 | \fn QAxObjectInterface::~QAxObjectInterface() 13 | 14 | Destroys the QAxObjectInterface. 15 | */ 16 | 17 | /*! 18 | \fn virtual ulong QAxObjectInterface::classContext() const 19 | 20 | \return the context the ActiveX control will run in (default CLSCTX_SERVER). 21 | 22 | \sa QAxBaseWidget::classContext, QAxBaseObject::classContext 23 | */ 24 | 25 | /*! 26 | \fn virtual void QAxObjectInterface::setClassContext(ulong classContext) 27 | 28 | Sets the context the ActiveX control will run in to \a classContext 29 | 30 | Affects the "dwClsContext" argument when calling CoCreateInstance. 31 | This can be used to control in-proc vs. out-of-proc startup for controls 32 | supporting both alternatives. Also, it can be used to modify/reduce control 33 | permissions when used with CLSCTX_ENABLE_CLOAKING and an impersonation token. 34 | 35 | Note that this function must be called before setControl() to have any 36 | effect. 37 | 38 | \sa QAxBaseWidget::classContext, QAxBaseObject::classContext 39 | */ 40 | 41 | /*! 42 | \fn virtual QString QAxObjectInterface::control() const 43 | 44 | \return the name of the COM object wrapped by this QAxBase object. 45 | 46 | \sa QAxBaseWidget::control, QAxBaseObject::control 47 | */ 48 | 49 | /*! 50 | \fn virtual bool QAxObjectInterface::setControl(const QString &c) 51 | 52 | \return whether setting the COM object succeeded. 53 | 54 | Sets the name of the COM object wrapped by this QAxBase object to \a c. 55 | 56 | \sa QAxBaseWidget::control, QAxBaseObject::control 57 | */ 58 | 59 | /*! 60 | \fn virtual void QAxObjectInterface::resetControl() 61 | 62 | Disconnects and destroys the COM object. 63 | 64 | \sa QAxBaseWidget::control, QAxBaseObject::control 65 | */ 66 | -------------------------------------------------------------------------------- /src/activeqt/control/qclassfactory_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2016 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QCLASSFACTORY_P_H 5 | #define QCLASSFACTORY_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists for the convenience 12 | // of other Qt classes. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | namespace QtPrivate { 25 | 26 | template <> 27 | struct QComObjectTraits 28 | { 29 | static constexpr bool isGuidOf(REFIID riid) noexcept 30 | { 31 | return QComObjectTraits::isGuidOf(riid); 32 | } 33 | }; 34 | 35 | } // namespace QtPrivate 36 | 37 | // COM Factory class, mapping COM requests to ActiveQt requests. 38 | // One instance of this class for each ActiveX the server can provide. 39 | class QClassFactory : public QComObject 40 | { 41 | Q_DISABLE_COPY_MOVE(QClassFactory) 42 | public: 43 | QClassFactory(CLSID clsid); 44 | 45 | virtual ~QClassFactory(); 46 | 47 | HRESULT WINAPI CreateInstanceHelper(IUnknown *pUnkOuter, REFIID iid, void **ppObject); 48 | 49 | // IClassFactory 50 | HRESULT WINAPI CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppObject) override; 51 | 52 | HRESULT WINAPI LockServer(BOOL fLock) override; 53 | // IClassFactory2 54 | HRESULT WINAPI RequestLicKey(DWORD, BSTR *pKey) override; 55 | 56 | HRESULT WINAPI GetLicInfo(LICINFO *pLicInfo) override; 57 | 58 | HRESULT WINAPI CreateInstanceLic(IUnknown *pUnkOuter, IUnknown *pUnkReserved, 59 | REFIID iid, BSTR bKey, PVOID *ppObject) override; 60 | 61 | static void cleanupCreatedApplication(QCoreApplication &app); 62 | 63 | QString className; 64 | 65 | protected: 66 | CRITICAL_SECTION refCountSection; 67 | bool licensed = false; 68 | QString classKey; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif // QCLASSFACTORY_P_H 74 | -------------------------------------------------------------------------------- /src/activeqt/axbase/qaxtypefunctions_p.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXTYPEFUNCTIONS_P_H 5 | #define QAXTYPEFUNCTIONS_P_H 6 | 7 | // 8 | // W A R N I N G 9 | // ------------- 10 | // 11 | // This file is not part of the Qt API. It exists purely as an 12 | // implementation detail. This header file may change from version to 13 | // version without notice, or even be removed. 14 | // 15 | // We mean it. 16 | // 17 | 18 | #include 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | QT_BEGIN_NAMESPACE 26 | QT_WARNING_PUSH 27 | QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") // gcc complains about IAxServerBase inheriting IUnknown with non virtual destructor. 28 | 29 | extern GUID IID_IAxServerBase; 30 | struct IAxServerBase : public IUnknown 31 | { 32 | virtual IUnknown *clientSite() const = 0; 33 | virtual void emitPropertyChanged(const char*) = 0; 34 | virtual bool emitRequestPropertyChange(const char*) = 0; 35 | virtual QObject *qObject() const = 0; 36 | virtual void reportError(int code, const QString &src, const QString &desc, const QString &context) = 0; 37 | }; 38 | 39 | #define HIMETRIC_PER_INCH 2540 40 | #define MAP_PIX_TO_LOGHIM(x,ppli) ((HIMETRIC_PER_INCH*(x) + ((ppli)>>1)) / (ppli)) 41 | #define MAP_LOGHIM_TO_PIX(x,ppli) (((ppli)*(x) + HIMETRIC_PER_INCH/2) / HIMETRIC_PER_INCH) 42 | #define QAX_NUM_PARAMS 8 43 | 44 | static inline BSTR QStringToBSTR(const QString &str) 45 | { 46 | return SysAllocStringLen(reinterpret_cast(str.unicode()), UINT(str.length())); 47 | } 48 | 49 | static inline uint QColorToOLEColor(const QColor &col) 50 | { 51 | return qRgba(col.blue(), col.green(), col.red(), 0x00); 52 | } 53 | 54 | extern QColor OLEColorToQColor(uint col); 55 | extern bool QVariantToVoidStar(const QVariant &var, void *data, 56 | const QByteArray &typeName, int type = 0); 57 | extern void clearVARIANT(VARIANT *var); 58 | 59 | #define QAX_INPROC_SERVER (0x51540001) 60 | #define QAX_OUTPROC_SERVER (0x51540002) 61 | 62 | QT_WARNING_POP 63 | QT_END_NAMESPACE 64 | 65 | #endif // QAXTYPEFUNCTIONS_P_H 66 | -------------------------------------------------------------------------------- /tests/manual/dumpcpp/main.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2020 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "ieframe.h" // generated header 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | #include 20 | 21 | class MainWindow :public QMainWindow 22 | { 23 | Q_OBJECT 24 | public: 25 | MainWindow(); 26 | 27 | public slots: 28 | void navigate(const QString &); 29 | void showMetaObject(); 30 | 31 | private: 32 | SHDocVw::WebBrowser *m_browser; 33 | }; 34 | 35 | MainWindow::MainWindow() : m_browser(new SHDocVw::WebBrowser) 36 | { 37 | setCentralWidget(m_browser); 38 | 39 | auto fileMenu = menuBar()->addMenu("File"); 40 | auto toolbar = new QToolBar; 41 | addToolBar(Qt::TopToolBarArea, toolbar); 42 | 43 | auto action = fileMenu->addAction("Dump MetaObject...", 44 | this, &MainWindow::showMetaObject); 45 | action->setShortcut(Qt::CTRL + Qt::Key_D); 46 | toolbar->addAction(action); 47 | 48 | action = fileMenu->addAction("Quit", this, &QWidget::close); 49 | action->setShortcut(Qt::CTRL + Qt::Key_Q); 50 | toolbar->addAction(action); 51 | } 52 | 53 | void MainWindow::navigate(const QString &url) 54 | { 55 | m_browser->Navigate(url); 56 | } 57 | 58 | void MainWindow::showMetaObject() 59 | { 60 | auto mo = m_browser->metaObject(); 61 | QString dump; 62 | { 63 | QTextStream str(&dump); 64 | str << *mo; 65 | } 66 | auto dialog = new TextDialog(dump, this); 67 | dialog->setWindowTitle(QLatin1String("MetaObject of ") + QLatin1String(mo->className())); 68 | dialog->setAttribute(Qt::WA_DeleteOnClose); 69 | dialog->resize(screen()->geometry().size() * 2 / 3); 70 | dialog->show(); 71 | } 72 | 73 | int main(int argc, char *argv[]) 74 | { 75 | QApplication a(argc, argv); 76 | 77 | MainWindow w; 78 | w.setWindowTitle(qVersion()); 79 | w.show(); 80 | w.navigate("https://qt.io/"); 81 | 82 | return a.exec(); 83 | } 84 | 85 | #include "main.moc" 86 | -------------------------------------------------------------------------------- /REUSE.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | [[annotations]] 3 | path = ["**tools/**"] 4 | precedence = "closest" 5 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 6 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0" 7 | 8 | [[annotations]] 9 | path = ["tests/**"] 10 | precedence = "closest" 11 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 12 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only" 13 | 14 | [[annotations]] 15 | path = ["**.pro", "**CMakeLists.txt", ".cmake.conf", "**.yaml", ".tag"] 16 | precedence = "closest" 17 | comment = "build system" 18 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 19 | SPDX-License-Identifier = "BSD-3-Clause" 20 | 21 | [[annotations]] 22 | path = ["**/.gitattributes", "**.gitignore", "**.gitreview"] 23 | precedence = "closest" 24 | comment = "infrastructure" 25 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 26 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" 27 | 28 | [[annotations]] 29 | path = ["examples/**"] 30 | comment = "this must be after the build system table because example and snippets take precedence over build system" 31 | precedence = "closest" 32 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 33 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" 34 | 35 | [[annotations]] 36 | path = ["**/README*", "**.qdocinc", "**.qdocconf", "**/doc/images/**"] 37 | comment = "documentation" 38 | precedence = "closest" 39 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 40 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only" 41 | 42 | [[annotations]] 43 | path = ["src/activeqt/activeqt.prx", 44 | "src/activeqt/control/qaxserver.def", 45 | "src/activeqt/control/qaxserver.ico", 46 | "src/activeqt/control/qaxserver.rc", 47 | "src/activeqt/doc/ActiveQtDoc"] 48 | comment = "module and pluggin" 49 | precedence = "closest" 50 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 51 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" 52 | 53 | [[annotations]] 54 | path = ["**.toml", "licenseRule.json"] 55 | precedence = "override" 56 | SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd." 57 | SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause" 58 | -------------------------------------------------------------------------------- /tests/manual/opengl/globjwin.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only 3 | 4 | #include "globjwin.h" 5 | #include "glbox.h" 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | 15 | GLObjectWindow::GLObjectWindow(QWidget *parent) 16 | : QWidget(parent) 17 | { 18 | // Create a menu 19 | QMenu *file = new QMenu(this); 20 | file->addAction(tr("Exit"), qApp, &QApplication::quit); 21 | 22 | // Create a menu bar 23 | QMenuBar *m = new QMenuBar(this); 24 | m->addMenu(file)->setText(tr("&File")); 25 | 26 | // Create a nice frame to put around the OpenGL widget 27 | QFrame *f = new QFrame(this); 28 | f->setFrameStyle(QFrame::Sunken | QFrame::Panel); 29 | f->setLineWidth(2); 30 | 31 | // Create our OpenGL widget 32 | GLBox *c = new GLBox(f, "glbox"); 33 | 34 | // Create the three sliders; one for each rotation axis 35 | QSlider *x = new QSlider(Qt::Vertical, this); 36 | x->setMaximum(360); 37 | x->setPageStep(60); 38 | x->setTickPosition(QSlider::TicksLeft); 39 | connect(x, &QSlider::valueChanged, c, &GLBox::setXRotation); 40 | 41 | QSlider *y = new QSlider(Qt::Vertical, this); 42 | y->setMaximum(360); 43 | y->setPageStep(60); 44 | y->setTickPosition(QSlider::TicksLeft); 45 | connect(y, &QSlider::valueChanged, c, &GLBox::setYRotation); 46 | 47 | QSlider *z = new QSlider(Qt::Vertical, this); 48 | z->setMaximum(360); 49 | z->setPageStep(60); 50 | z->setTickPosition(QSlider::TicksLeft); 51 | connect(z, &QSlider::valueChanged, c, &GLBox::setZRotation); 52 | 53 | // Now that we have all the widgets, put them into a nice layout 54 | 55 | // Top level layout, puts the sliders to the left of the frame/GL widget 56 | QHBoxLayout *hlayout = new QHBoxLayout(this); 57 | 58 | // Put the sliders on top of each other 59 | QVBoxLayout *vlayout = new QVBoxLayout(); 60 | vlayout->addWidget(x); 61 | vlayout->addWidget(y); 62 | vlayout->addWidget(z); 63 | 64 | // Put the GL widget inside the frame 65 | QHBoxLayout *flayout = new QHBoxLayout(f); 66 | flayout->setContentsMargins(0, 0, 0, 0); 67 | flayout->addWidget(c, 1); 68 | 69 | hlayout->setMenuBar(m); 70 | hlayout->addLayout(vlayout); 71 | hlayout->addWidget(f, 1); 72 | } 73 | -------------------------------------------------------------------------------- /tests/manual/axviewer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2022 The Qt Company Ltd. 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | 4 | 5 | ##################################################################### 6 | ## axviewer Binary: 7 | ##################################################################### 8 | 9 | qt_internal_add_manual_test(tst_axviewer_manual 10 | SOURCES 11 | ../shared/metaobjectdump.cpp ../shared/metaobjectdump.h 12 | ../shared/textdialog.cpp ../shared/textdialog.h 13 | main.cpp 14 | INCLUDE_DIRECTORIES 15 | ../shared 16 | LIBRARIES 17 | Qt::AxContainer 18 | Qt::Gui 19 | Qt::Widgets 20 | ) 21 | 22 | ## Scopes: 23 | ##################################################################### 24 | 25 | set(diaglib_path "${CMAKE_CURRENT_SOURCE_DIR}/../../../../qtbase/tests/manual/diaglib") 26 | qt_internal_extend_target(tst_axviewer_manual CONDITION EXISTS "${diaglib_path}" 27 | SOURCES 28 | "${diaglib_path}/eventfilter.cpp" "${diaglib_path}/eventfilter.h" 29 | "${diaglib_path}/nativewindowdump.h" 30 | "${diaglib_path}/qwindowdump.cpp" "${diaglib_path}/qwindowdump.h" 31 | "${diaglib_path}/textdump.cpp" "${diaglib_path}/textdump.h" 32 | DEFINES 33 | QT_DIAG_LIB 34 | INCLUDE_DIRECTORIES 35 | "${diaglib_path}" 36 | LIBRARIES 37 | Qt::CorePrivate 38 | Qt::GuiPrivate 39 | ) 40 | 41 | qt_internal_extend_target(tst_axviewer_manual CONDITION (EXISTS "${diaglib_path}") AND (WIN32) 42 | SOURCES 43 | "${diaglib_path}/nativewindowdump_win.cpp" 44 | LIBRARIES 45 | user32 46 | ) 47 | 48 | qt_internal_extend_target(tst_axviewer_manual CONDITION (EXISTS "${diaglib_path}") AND (NOT (WIN32)) 49 | SOURCES 50 | "${diaglib_path}/nativewindowdump.cpp" 51 | ) 52 | 53 | qt_internal_extend_target(tst_axviewer_manual CONDITION (EXISTS "${diaglib_path}") AND 54 | TARGET Qt::Widgets 55 | SOURCES 56 | "${diaglib_path}/debugproxystyle.cpp" "${diaglib_path}/debugproxystyle.h" 57 | "${diaglib_path}/logwidget.cpp" "${diaglib_path}/logwidget.h" 58 | "${diaglib_path}/qwidgetdump.cpp" "${diaglib_path}/qwidgetdump.h" 59 | LIBRARIES 60 | Qt::WidgetsPrivate 61 | ) 62 | 63 | qt_internal_extend_target(tst_axviewer_manual CONDITION (EXISTS "${diaglib_path}") AND 64 | TARGET Qt::OpenGL AND TARGET Qt::OpenGLWidgets 65 | SOURCES 66 | "${diaglib_path}/glinfo.cpp" "${diaglib_path}/glinfo.h" 67 | LIBRARIES 68 | Qt::OpenGL 69 | Qt::OpenGLWidgets 70 | ) 71 | -------------------------------------------------------------------------------- /dist/changes-5.0.1: -------------------------------------------------------------------------------- 1 | Qt 5.0.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.0.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://qt-project.org/doc/qt-5.0/ 8 | 9 | Some of the changes listed in this file include issue tracking numbers 10 | corresponding to tasks in the Qt Bug Tracker: 11 | 12 | http://bugreports.qt-project.org/ 13 | 14 | Each of these identifiers can be entered in the bug tracker to obtain more 15 | information about a particular change. 16 | 17 | 18 | **************************************************************************** 19 | * General * 20 | **************************************************************************** 21 | 22 | General Improvements 23 | -------------------- 24 | 25 | Third party components 26 | ---------------------- 27 | 28 | **************************************************************************** 29 | * Library * 30 | **************************************************************************** 31 | 32 | AxContainer 33 | ----------- 34 | 35 | QAxServer 36 | --------- 37 | 38 | **************************************************************************** 39 | * Platform Specific Changes * 40 | **************************************************************************** 41 | 42 | 43 | **************************************************************************** 44 | * Compiler Specific Changes * 45 | **************************************************************************** 46 | 47 | 48 | **************************************************************************** 49 | * Tools * 50 | **************************************************************************** 51 | 52 | 53 | **************************************************************************** 54 | * Plugins * 55 | **************************************************************************** 56 | 57 | 58 | **************************************************************************** 59 | * Important Behavior Changes * 60 | **************************************************************************** 61 | 62 | -------------------------------------------------------------------------------- /src/activeqt/container/qaxobject.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2015 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause 3 | 4 | #ifndef QAXOBJECT_H 5 | #define QAXOBJECT_H 6 | 7 | #include 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | 12 | class QAxObjectPrivate; 13 | 14 | class QAxBaseObject : public QObject, public QAxObjectInterface 15 | { 16 | Q_OBJECT 17 | Q_PROPERTY(ulong classContext READ classContext WRITE setClassContext) 18 | Q_PROPERTY(QString control READ control WRITE setControl RESET resetControl) 19 | 20 | Q_SIGNALS: 21 | void exception(int code, const QString &source, const QString &desc, const QString &help); 22 | void propertyChanged(const QString &name); 23 | void signal(const QString &name, int argc, void *argv); 24 | 25 | protected: 26 | using QObject::QObject; 27 | QAxBaseObject(QObjectPrivate &d, QObject* parent); 28 | }; 29 | 30 | class QAxObject : public QAxBaseObject, public QAxBase 31 | { 32 | friend class QAxEventSink; 33 | Q_DECLARE_PRIVATE(QAxObject) 34 | public: 35 | explicit QAxObject(QObject *parent = nullptr); 36 | explicit QAxObject(const QString &c, QObject *parent = nullptr); 37 | explicit QAxObject(IUnknown *iface, QObject *parent = nullptr); 38 | ~QAxObject() override; 39 | 40 | ulong classContext() const override; 41 | void setClassContext(ulong classContext) override; 42 | 43 | QString control() const override; 44 | bool setControl(const QString &c) override; 45 | void resetControl() override; 46 | void clear(); 47 | 48 | bool doVerb(const QString &verb); 49 | 50 | const QMetaObject *metaObject() const override; 51 | int qt_metacall(QMetaObject::Call call, int id, void **v) override; 52 | Q_DECL_HIDDEN static void qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a); 53 | void *qt_metacast(const char *) override; 54 | 55 | protected: 56 | void connectNotify(const QMetaMethod &signal) override; 57 | }; 58 | 59 | template <> inline QAxObject *qobject_cast(const QObject *o) 60 | { 61 | void *result = o ? const_cast(o)->qt_metacast("QAxObject") : nullptr; 62 | return reinterpret_cast(result); 63 | } 64 | 65 | template <> inline QAxObject *qobject_cast(QObject *o) 66 | { 67 | void *result = o ? o->qt_metacast("QAxObject") : nullptr; 68 | return reinterpret_cast(result); 69 | } 70 | 71 | QT_END_NAMESPACE 72 | Q_DECLARE_METATYPE(QAxObject*) 73 | 74 | #endif // QAXOBJECT_H 75 | -------------------------------------------------------------------------------- /tools/testcon/controlinfo.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | // Copyright (C) 2016 The Qt Company Ltd. 4 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 5 | 6 | 7 | ControlInfo 8 | 9 | 10 | 11 | 0 12 | 0 13 | 600 14 | 480 15 | 16 | 17 | 18 | Control Details 19 | 20 | 21 | 22 | 11 23 | 24 | 25 | 6 26 | 27 | 28 | 29 | 30 | 31 | Item 32 | 33 | 34 | 35 | 36 | Value 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 0 45 | 46 | 47 | 6 48 | 49 | 50 | 51 | 52 | Qt::Horizontal 53 | 54 | 55 | QSizePolicy::Expanding 56 | 57 | 58 | 59 | 1 60 | 1 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | C&lose 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | buttonClose 82 | clicked() 83 | ControlInfo 84 | accept() 85 | 86 | 87 | 536 88 | 457 89 | 90 | 91 | 428 92 | 449 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /tests/manual/mediaplayer/doc/src/mediaplayer.qdoc: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2017 The Qt Company Ltd. 2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only 3 | 4 | /*! 5 | \example activeqt/mediaplayer 6 | \title Media Player Example (ActiveQt) 7 | \ingroup activeqt-examples 8 | 9 | \brief The Media Player example uses the Microsoft Media Player 10 | ActiveX control to implement a functional media player application. 11 | 12 | \image activeqt-mediaplayer-example.jpg 13 | 14 | \e {Media Player} demonstrates how a Qt application can communicate with 15 | embedded ActiveX controls using signals, slots, and the \c dynamicCall() 16 | function. 17 | 18 | \quotefromfile activeqt/mediaplayer/main.cpp 19 | \skipto class MainWindow 20 | \printuntil /^\}/ 21 | 22 | The \c MainWindow class declares a \c QMainWindow based user interface, 23 | using the \c Ui::MainWindow class created by Qt Designer. A number 24 | of slots are implemented to handle events from user interface elements, 25 | including the \c mediaPlayer object, which is a QAxWidget hosting 26 | the Microsoft Media Player ActiveX control. 27 | 28 | \quotefromfile activeqt/mediaplayer/main.cpp 29 | \skipto MainWindow::MainWindow() 30 | \printuntil /^\}/ 31 | 32 | The constructor initializes the user interface, restores a previously 33 | saved window geometry, and uses the \c dynamicCall() function to invoke 34 | the APIs implemented by the Microsoft Media Player ActiveX control, 35 | to set initial configuration parameters. 36 | 37 | \quotefromfile activeqt/mediaplayer/main.cpp 38 | \skipto MainWindow::on_mediaPlayer_PlayStateChange 39 | \printuntil /^\}/ 40 | 41 | The \c on_mediaPlayer_PlayStateChange slot handles the signal emitted 42 | by the \c mediaPlayer object when its state changes. 43 | 44 | \quotefromfile activeqt/mediaplayer/main.cpp 45 | \skipto MainWindow::openMedia 46 | \printuntil /^\}/ 47 | 48 | The \c openMedia() function allows a media file to be opened by using 49 | the \c dynamicCall() function to set the URL property in the ActiveX 50 | control, which causes the media file to be loaded and played. 51 | 52 | \quotefromfile activeqt/mediaplayer/main.cpp 53 | \skipto int main 54 | \printuntil /^\}/ 55 | 56 | The \c main() function starts the application using standard Qt APIs 57 | and uses an optional command line argument as the name of a media 58 | file to be loaded by the player. 59 | 60 | To build the example, you must first build the QAxContainer 61 | library. Then run your make tool in 62 | \c examples/activeqt/mediaplayer and run the resulting 63 | \c mediaplayer.exe. 64 | */ 65 | -------------------------------------------------------------------------------- /src/activeqt/doc/activeqt.qdocconf: -------------------------------------------------------------------------------- 1 | include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) 2 | include($QT_INSTALL_DOCS/config/exampleurl-qtactiveqt.qdocconf) 3 | 4 | project = ActiveQt 5 | description = ActiveQt 6 | version = $QT_VERSION 7 | 8 | qhp.projects = ActiveQt 9 | 10 | moduleheader = ActiveQtDoc 11 | 12 | includepaths = -I . \ 13 | -I ../container \ 14 | -I ../control \ 15 | -I ../shared 16 | 17 | qhp.ActiveQt.file = activeqt.qhp 18 | qhp.ActiveQt.namespace = org.qt-project.activeqt.$QT_VERSION_TAG 19 | qhp.ActiveQt.virtualFolder = activeqt 20 | qhp.ActiveQt.indexTitle = Active Qt 21 | qhp.ActiveQt.indexRoot = 22 | 23 | qhp.ActiveQt.subprojects = manual qaxcontainerclasses qaxserverclasses 24 | qhp.ActiveQt.subprojects.qaxcontainerclasses.title = QAxContainer C++ Classes 25 | qhp.ActiveQt.subprojects.qaxcontainerclasses.indexTitle = QAxContainer C++ Classes 26 | qhp.ActiveQt.subprojects.qaxcontainerclasses.selectors = module:QAxContainer 27 | qhp.ActiveQt.subprojects.qaxcontainerclasses.sortPages = true 28 | 29 | qhp.ActiveQt.subprojects.qaxserverclasses.title = QAxServer C++ Classes 30 | qhp.ActiveQt.subprojects.qaxserverclasses.indexTitle = QAxServer C++ Classes 31 | qhp.ActiveQt.subprojects.qaxserverclasses.selectors = module:QAxServer 32 | qhp.ActiveQt.subprojects.qaxserverclasses.sortPages = true 33 | 34 | qhp.ActiveQt.subprojects.manual.title = Active Qt 35 | qhp.ActiveQt.subprojects.manual.indexTitle = Active Qt module topics 36 | qhp.ActiveQt.subprojects.manual.type = manual 37 | 38 | tagfile = ../../../doc/activeqt/activeqt.tags 39 | 40 | depends += qtcore qtdesigner qtdoc qtopengl qtwidgets qtgui qtcmake 41 | 42 | headerdirs += .. 43 | 44 | sourcedirs += .. 45 | 46 | exampledirs += ../../../examples/ \ 47 | snippets 48 | 49 | # Path to the root of qtactiveqt (for automatic linking to source code) 50 | url.sources.rootdir = ../../.. 51 | 52 | imagedirs += images 53 | 54 | navigation.landingpage = "Active Qt" 55 | # Autogenerate navigation linking based on "Active Qt module topics": 56 | navigation.toctitles = "Active Qt module topics" 57 | navigation.toctitles.inclusive = false 58 | 59 | #add a generic thumbnail image for example docs that does not have an image 60 | manifestmeta.thumbnail.names = "ActiveQt/COM App Example*" \ 61 | "ActiveQt/Hierarchy*" \ 62 | "ActiveQt/Menus*" \ 63 | "ActiveQt/Multiple*" \ 64 | "ActiveQt/OpenGL*" \ 65 | "ActiveQt/Qutlook*" \ 66 | "ActiveQt/Simple*" \ 67 | "ActiveQt/Wrapper*" 68 | --------------------------------------------------------------------------------