diff options
Diffstat (limited to 'tests')
307 files changed, 34891 insertions, 1349 deletions
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt index bd2cbcd72b..1297db9b8a 100644 --- a/tests/auto/CMakeLists.txt +++ b/tests/auto/CMakeLists.txt @@ -56,13 +56,18 @@ if(QT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS) return() endif() -if(WASM) +if(QT_BUILD_WASM_BATCHED_TESTS) + if(TARGET Qt::Concurrent) + add_subdirectory(corelib/io/qurl) + endif() add_subdirectory(corelib/io/qdiriterator) add_subdirectory(corelib/io/largefile) add_subdirectory(corelib/io/qdataurl) add_subdirectory(corelib/io/qbuffer) add_subdirectory(corelib/io/qabstractfileengine) add_subdirectory(corelib/io/qsettings) + add_subdirectory(corelib/io/qstandardpaths) + add_subdirectory(corelib/io/qfileselector) add_subdirectory(corelib/io/qfile) add_subdirectory(corelib/serialization) add_subdirectory(corelib/text) diff --git a/tests/auto/bic/data/qt.6.7.0.linux-gcc-amd64.txt b/tests/auto/bic/data/qt.6.7.0.linux-gcc-amd64.txt new file mode 100644 index 0000000000..8225ae0fd5 --- /dev/null +++ b/tests/auto/bic/data/qt.6.7.0.linux-gcc-amd64.txt @@ -0,0 +1,27743 @@ +Class std::__failure_type + size=1 align=1 + base size=0 base align=1 +std::__failure_type (0x0x7b9f4d44aae0) 0 empty + +Class std::__do_is_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_destructible_impl (0x0x7b9f4d4c8a20) 0 empty + +Class std::__do_is_nt_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nt_destructible_impl (0x0x7b9f4d4c8c60) 0 empty + +Class std::__do_is_implicitly_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_implicitly_default_constructible_impl (0x0x7b9f4d4fbb40) 0 empty + +Class std::__make_unsigned_selector_base + size=1 align=1 + base size=0 base align=1 +std::__make_unsigned_selector_base (0x0x7b9f4d55f4e0) 0 empty + +Class std::__do_common_type_impl + size=1 align=1 + base size=0 base align=1 +std::__do_common_type_impl (0x0x7b9f4d5afea0) 0 empty + +Class std::__invoke_memfun_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_ref (0x0x7b9f4d5df480) 0 empty + +Class std::__invoke_memfun_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_deref (0x0x7b9f4d5df4e0) 0 empty + +Class std::__invoke_memobj_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_ref (0x0x7b9f4d5df540) 0 empty + +Class std::__invoke_memobj_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_deref (0x0x7b9f4d5df5a0) 0 empty + +Class std::__invoke_other + size=1 align=1 + base size=0 base align=1 +std::__invoke_other (0x0x7b9f4d5df600) 0 empty + +Class std::__result_of_memfun_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_ref_impl (0x0x7b9f4d5df6c0) 0 empty + +Class std::__result_of_memfun_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_deref_impl (0x0x7b9f4d5df780) 0 empty + +Class std::__result_of_memobj_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_ref_impl (0x0x7b9f4d5df840) 0 empty + +Class std::__result_of_memobj_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_deref_impl (0x0x7b9f4d5df900) 0 empty + +Class std::__result_of_other_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_other_impl (0x0x7b9f4d5dfc60) 0 empty + +Class std::__swappable_details::__do_is_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_swappable_impl (0x0x7b9f4d62d000) 0 empty + +Class std::__swappable_details::__do_is_nothrow_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7b9f4d62d060) 0 empty + +Class std::__swappable_with_details::__do_is_swappable_with_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_with_details::__do_is_swappable_with_impl (0x0x7b9f4d62d300) 0 empty + +Class std::__swappable_with_details::__do_is_nothrow_swappable_with_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_with_details::__do_is_nothrow_swappable_with_impl (0x0x7b9f4d62d360) 0 empty + +Class std::__nonesuchbase + size=1 align=1 + base size=0 base align=1 +std::__nonesuchbase (0x0x7b9f4d62dc60) 0 empty + +Class std::__nonesuch + size=1 align=1 + base size=1 base align=1 +std::__nonesuch (0x0x7b9f4fc346e8) 0 empty +std::__nonesuchbase (0x0x7b9f4d62dcc0) 0 empty + +Class std::piecewise_construct_t + size=1 align=1 + base size=0 base align=1 +std::piecewise_construct_t (0x0x7b9f4fcaf1e0) 0 empty + +Class std::in_place_t + size=1 align=1 + base size=0 base align=1 +std::in_place_t (0x0x7b9f4fd323c0) 0 empty + +Class std::_Enable_default_constructor_tag + size=1 align=1 + base size=0 base align=1 +std::_Enable_default_constructor_tag (0x0x7b9f4fd32de0) 0 empty + +Class std::_Hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Hash_impl (0x0x7b9f4fdc7c60) 0 empty + +Class std::_Fnv_hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Fnv_hash_impl (0x0x7b9f4fdc7de0) 0 empty + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7b9f4fdeec60) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7b9f4fdeecc0) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7b9f4faa4480) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7b9f4faa44e0) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7b9f4fa86d68) 0 empty +std::input_iterator_tag (0x0x7b9f4faa4540) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7b9f4fa86dd0) 0 empty +std::forward_iterator_tag (0x0x7b9f4fa86e38) 0 empty +std::input_iterator_tag (0x0x7b9f4faa45a0) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7b9f4fa86ea0) 0 empty +std::bidirectional_iterator_tag (0x0x7b9f4fa86f08) 0 empty +std::forward_iterator_tag (0x0x7b9f4fa86f70) 0 empty +std::input_iterator_tag (0x0x7b9f4faa4600) 0 empty + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9exception) +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7b9f4faa4cc0) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16) + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9bad_alloc) +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7b9f4fab80d0) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16) +std::exception (0x0x7b9f4faa4f60) 0 nearly-empty + primary-for std::bad_alloc (0x0x7b9f4fab80d0) + +Vtable for std::bad_array_new_length +std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt20bad_array_new_length) +16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +32 (int (*)(...))std::bad_array_new_length::what + +Class std::bad_array_new_length + size=8 align=8 + base size=8 base align=8 +std::bad_array_new_length (0x0x7b9f4fab8138) 0 nearly-empty + vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16) +std::bad_alloc (0x0x7b9f4fab81a0) 0 nearly-empty + primary-for std::bad_array_new_length (0x0x7b9f4fab8138) +std::exception (0x0x7b9f4fadc1e0) 0 nearly-empty + primary-for std::bad_alloc (0x0x7b9f4fab81a0) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7b9f4fadc3c0) 0 empty + +Class std::__detail::__variant::__variant_cookie + size=1 align=1 + base size=0 base align=1 +std::__detail::__variant::__variant_cookie (0x0x7b9f4fb0f2a0) 0 empty + +Class std::__detail::__variant::__variant_idx_cookie + size=1 align=1 + base size=0 base align=1 +std::__detail::__variant::__variant_idx_cookie (0x0x7b9f4fb0f300) 0 empty + +Class std::monostate + size=1 align=1 + base size=0 base align=1 +std::monostate (0x0x7b9f4fbe9300) 0 empty + +Vtable for std::bad_variant_access +std::bad_variant_access::_ZTVSt18bad_variant_access: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt18bad_variant_access) +16 (int (*)(...))std::bad_variant_access::~bad_variant_access +24 (int (*)(...))std::bad_variant_access::~bad_variant_access +32 (int (*)(...))std::bad_variant_access::what + +Class std::bad_variant_access + size=16 align=8 + base size=16 base align=8 +std::bad_variant_access (0x0x7b9f4fab8ea0) 0 + vptr=((& std::bad_variant_access::_ZTVSt18bad_variant_access) + 16) +std::exception (0x0x7b9f4fc10840) 0 nearly-empty + primary-for std::bad_variant_access (0x0x7b9f4fab8ea0) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13bad_exception) +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7b9f4f83f0d0) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16) +std::exception (0x0x7b9f4f88d480) 0 nearly-empty + primary-for std::bad_exception (0x0x7b9f4f83f0d0) + +Vtable for std::type_info +std::type_info::_ZTVSt9type_info: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9type_info) +16 (int (*)(...))std::type_info::~type_info +24 (int (*)(...))std::type_info::~type_info +32 (int (*)(...))std::type_info::__is_pointer_p +40 (int (*)(...))std::type_info::__is_function_p +48 (int (*)(...))std::type_info::__do_catch +56 (int (*)(...))std::type_info::__do_upcast + +Class std::type_info + size=16 align=8 + base size=16 base align=8 +std::type_info (0x0x7b9f4f88d660) 0 + vptr=((& std::type_info::_ZTVSt9type_info) + 16) + +Vtable for std::bad_cast +std::bad_cast::_ZTVSt8bad_cast: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8bad_cast) +16 (int (*)(...))std::bad_cast::~bad_cast +24 (int (*)(...))std::bad_cast::~bad_cast +32 (int (*)(...))std::bad_cast::what + +Class std::bad_cast + size=8 align=8 + base size=8 base align=8 +std::bad_cast (0x0x7b9f4f83f138) 0 nearly-empty + vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16) +std::exception (0x0x7b9f4f88da20) 0 nearly-empty + primary-for std::bad_cast (0x0x7b9f4f83f138) + +Vtable for std::bad_typeid +std::bad_typeid::_ZTVSt10bad_typeid: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt10bad_typeid) +16 (int (*)(...))std::bad_typeid::~bad_typeid +24 (int (*)(...))std::bad_typeid::~bad_typeid +32 (int (*)(...))std::bad_typeid::what + +Class std::bad_typeid + size=8 align=8 + base size=8 base align=8 +std::bad_typeid (0x0x7b9f4f83f1a0) 0 nearly-empty + vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16) +std::exception (0x0x7b9f4f88dc00) 0 nearly-empty + primary-for std::bad_typeid (0x0x7b9f4f83f1a0) + +Class std::__exception_ptr::exception_ptr + size=8 align=8 + base size=8 base align=8 +std::__exception_ptr::exception_ptr (0x0x7b9f4f88dde0) 0 + +Vtable for std::nested_exception +std::nested_exception::_ZTVSt16nested_exception: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16nested_exception) +16 (int (*)(...))std::nested_exception::~nested_exception +24 (int (*)(...))std::nested_exception::~nested_exception + +Class std::nested_exception + size=16 align=8 + base size=16 base align=8 +std::nested_exception (0x0x7b9f4f8c9960) 0 + vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16) + +Class std::nullopt_t + size=1 align=1 + base size=0 base align=1 +std::nullopt_t (0x0x7b9f4f8f0060) 0 empty + +Vtable for std::bad_optional_access +std::bad_optional_access::_ZTVSt19bad_optional_access: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt19bad_optional_access) +16 (int (*)(...))std::bad_optional_access::~bad_optional_access +24 (int (*)(...))std::bad_optional_access::~bad_optional_access +32 (int (*)(...))std::bad_optional_access::what + +Class std::bad_optional_access + size=8 align=8 + base size=8 base align=8 +std::bad_optional_access (0x0x7b9f4f83f208) 0 nearly-empty + vptr=((& std::bad_optional_access::_ZTVSt19bad_optional_access) + 16) +std::exception (0x0x7b9f4f8f02a0) 0 nearly-empty + primary-for std::bad_optional_access (0x0x7b9f4f83f208) + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7b9f4f648ea0) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7b9f4f67a000) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7b9f4f67a300) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7b9f4f67a600) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7b9f4f67a720) 0 empty + +Class std::__erased_type + size=1 align=1 + base size=0 base align=1 +std::__erased_type (0x0x7b9f4f7b2540) 0 empty + +Class std::allocator_arg_t + size=1 align=1 + base size=0 base align=1 +std::allocator_arg_t (0x0x7b9f4f7b25a0) 0 empty + +Class std::__uses_alloc_base + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc_base (0x0x7b9f4f7b2720) 0 empty + +Class std::__uses_alloc0::_Sink + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc0::_Sink (0x0x7b9f4f7b27e0) 0 empty + +Class std::__uses_alloc0 + size=1 align=1 + base size=1 base align=1 +std::__uses_alloc0 (0x0x7b9f4f83fc30) 0 +std::__uses_alloc_base (0x0x7b9f4f7b2780) 0 empty + +Class std::_Swallow_assign + size=1 align=1 + base size=0 base align=1 +std::_Swallow_assign (0x0x7b9f4c344b40) 0 empty + +Class QSysInfo + size=1 align=1 + base size=0 base align=1 +QSysInfo (0x0x7b9f4c399ea0) 0 empty + +Class QMessageLogContext + size=32 align=8 + base size=32 base align=8 +QMessageLogContext (0x0x7b9f4c399f00) 0 + +Class QMessageLogger + size=32 align=8 + base size=32 base align=8 +QMessageLogger (0x0x7b9f4c3e91e0) 0 + +Class QtPrivate::CompareAgainstLiteralZero + size=1 align=1 + base size=0 base align=1 +QtPrivate::CompareAgainstLiteralZero (0x0x7b9f4c3e9a20) 0 empty + +Class QFlag + size=4 align=4 + base size=4 base align=4 +QFlag (0x0x7b9f4c3e9c60) 0 + +Class QIncompatibleFlag + size=4 align=4 + base size=4 base align=4 +QIncompatibleFlag (0x0x7b9f4c0572a0) 0 + +Class std::__atomic_flag_base + size=1 align=1 + base size=1 base align=1 +std::__atomic_flag_base (0x0x7b9f4c0c9900) 0 + +Class std::atomic_flag + size=1 align=1 + base size=1 base align=1 +std::atomic_flag (0x0x7b9f4c0a61a0) 0 +std::__atomic_flag_base (0x0x7b9f4c0c9960) 0 + +Class QAtomicInt + size=4 align=4 + base size=4 base align=4 +QAtomicInt (0x0x7b9f4c0a6958) 0 +QAtomicInteger<int> (0x0x7b9f4c0a69c0) 0 +QBasicAtomicInteger<int> (0x0x7b9f4bc54ea0) 0 + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7b9f4bce2a20) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7b9f4bce2d20) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7b9f4bce2d80) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7b9f4bce2f00) 0 + +Class __pthread_internal_slist + size=8 align=8 + base size=8 base align=8 +__pthread_internal_slist (0x0x7b9f4bce2f60) 0 + +Class __pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +__pthread_mutex_s (0x0x7b9f4be2f000) 0 + +Class __pthread_rwlock_arch_t + size=56 align=8 + base size=56 base align=8 +__pthread_rwlock_arch_t (0x0x7b9f4be2f060) 0 + +Class __pthread_cond_s + size=48 align=8 + base size=48 base align=8 +__pthread_cond_s (0x0x7b9f4be2f0c0) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7b9f4be2f240) 0 + +Class random_data + size=48 align=8 + base size=48 base align=8 +random_data (0x0x7b9f4be2f4e0) 0 + +Class drand48_data + size=24 align=8 + base size=24 base align=8 +drand48_data (0x0x7b9f4be2f540) 0 + +Class std::__numeric_limits_base + size=1 align=1 + base size=0 base align=1 +std::__numeric_limits_base (0x0x7b9f4bb1a060) 0 empty + +Class QtPrivate::QVersionTag + size=16 align=8 + base size=16 base align=8 +QtPrivate::QVersionTag (0x0x7b9f4b914d80) 0 + +Vtable for std::bad_function_call +std::bad_function_call::_ZTVSt17bad_function_call: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt17bad_function_call) +16 (int (*)(...))std::bad_function_call::~bad_function_call +24 (int (*)(...))std::bad_function_call::~bad_function_call +32 (int (*)(...))std::bad_function_call::what + +Class std::bad_function_call + size=8 align=8 + base size=8 base align=8 +std::bad_function_call (0x0x7b9f4b46d478) 0 nearly-empty + vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16) +std::exception (0x0x7b9f4b4870c0) 0 nearly-empty + primary-for std::bad_function_call (0x0x7b9f4b46d478) + +Class std::_Nocopy_types + size=16 align=8 + base size=16 base align=8 +std::_Nocopy_types (0x0x7b9f4b487180) 0 + +Class std::_Any_data + size=16 align=8 + base size=16 base align=8 +std::_Any_data (0x0x7b9f4b4871e0) 0 + +Class std::_Function_base + size=24 align=8 + base size=24 base align=8 +std::_Function_base (0x0x7b9f4b4873c0) 0 + +Class std::__allocator_traits_base + size=1 align=1 + base size=0 base align=1 +std::__allocator_traits_base (0x0x7b9f4b55bd80) 0 empty + +Class std::__detail::_Identity + size=1 align=1 + base size=0 base align=1 +std::__detail::_Identity (0x0x7b9f4b1fd840) 0 empty + +Class std::__detail::_Select1st + size=1 align=1 + base size=0 base align=1 +std::__detail::_Select1st (0x0x7b9f4b1fd900) 0 empty + +Class std::__detail::_Hash_node_base + size=8 align=8 + base size=8 base align=8 +std::__detail::_Hash_node_base (0x0x7b9f4b1fdde0) 0 + +Class std::__detail::_Mod_range_hashing + size=1 align=1 + base size=0 base align=1 +std::__detail::_Mod_range_hashing (0x0x7b9f4b22bd20) 0 empty + +Class std::__detail::_Default_ranged_hash + size=1 align=1 + base size=0 base align=1 +std::__detail::_Default_ranged_hash (0x0x7b9f4b22bde0) 0 empty + +Class std::__detail::_Prime_rehash_policy + size=16 align=8 + base size=16 base align=8 +std::__detail::_Prime_rehash_policy (0x0x7b9f4b22be40) 0 + +Class std::__detail::_Mask_range_hashing + size=1 align=1 + base size=0 base align=1 +std::__detail::_Mask_range_hashing (0x0x7b9f4b254240) 0 empty + +Class std::__detail::_Power2_rehash_policy + size=16 align=8 + base size=16 base align=8 +std::__detail::_Power2_rehash_policy (0x0x7b9f4b254420) 0 + +Class std::_Bit_reference + size=16 align=8 + base size=16 base align=8 +std::_Bit_reference (0x0x7b9f4aab4f00) 0 + +Class std::_Bit_iterator_base + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator_base (0x0x7b9f4ad93c30) 0 +std::iterator<std::random_access_iterator_tag, bool> (0x0x7b9f4aada6c0) 0 empty + +Class std::_Bit_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator (0x0x7b9f4ad93d00) 0 +std::_Bit_iterator_base (0x0x7b9f4ad93d68) 0 +std::iterator<std::random_access_iterator_tag, bool> (0x0x7b9f4aadac60) 0 empty + +Class std::_Bit_const_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_const_iterator (0x0x7b9f4ad93ea0) 0 +std::_Bit_iterator_base (0x0x7b9f4ad93f08) 0 +std::iterator<std::random_access_iterator_tag, bool> (0x0x7b9f4ab0d420) 0 empty + +Class __pstl::execution::v1::sequenced_policy + size=1 align=1 + base size=0 base align=1 +__pstl::execution::v1::sequenced_policy (0x0x7b9f4a8db840) 0 empty + +Class __pstl::execution::v1::parallel_policy + size=1 align=1 + base size=0 base align=1 +__pstl::execution::v1::parallel_policy (0x0x7b9f4a8db9c0) 0 empty + +Class __pstl::execution::v1::parallel_unsequenced_policy + size=1 align=1 + base size=0 base align=1 +__pstl::execution::v1::parallel_unsequenced_policy (0x0x7b9f4a8dbb40) 0 empty + +Class __pstl::execution::v1::unsequenced_policy + size=1 align=1 + base size=0 base align=1 +__pstl::execution::v1::unsequenced_policy (0x0x7b9f4a8dbcc0) 0 empty + +Class q20::identity::is_transparent + size=1 align=1 + base size=0 base align=1 +q20::identity::is_transparent (0x0x7b9f4a90f180) 0 empty + +Class q20::identity + size=1 align=1 + base size=0 base align=1 +q20::identity (0x0x7b9f4a90f120) 0 empty + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7b9f4a9cb360) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7b9f4a9cb3c0) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7b9f4a9cb420) 0 + +Class std::chrono::_V2::system_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::system_clock (0x0x7b9f4a6706c0) 0 empty + +Class std::chrono::_V2::steady_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::steady_clock (0x0x7b9f4a6e2ba0) 0 empty + +Class std::filesystem::__file_clock + size=1 align=1 + base size=0 base align=1 +std::filesystem::__file_clock (0x0x7b9f4a7aa780) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7b9f4a48fd80) 0 + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7b9f4a48fe40) 0 + +Class __jmp_buf_tag + size=200 align=8 + base size=200 base align=8 +__jmp_buf_tag (0x0x7b9f4a48ff00) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7b9f4a48ff60) 0 + +Class __cancel_jmp_buf_tag + size=72 align=8 + base size=72 base align=8 +__cancel_jmp_buf_tag (0x0x7b9f4a52d000) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7b9f4a52d0c0) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7b9f4a52d120) 0 + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7b9f4a5d6e40) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16) + +Class _G_fpos_t + size=16 align=8 + base size=16 base align=8 +_G_fpos_t (0x0x7b9f4a07b000) 0 + +Class _G_fpos64_t + size=16 align=8 + base size=16 base align=8 +_G_fpos64_t (0x0x7b9f4a07b060) 0 + +Class _IO_FILE + size=216 align=8 + base size=216 base align=8 +_IO_FILE (0x0x7b9f4a07b0c0) 0 + +Class _IO_cookie_io_functions_t + size=32 align=8 + base size=32 base align=8 +_IO_cookie_io_functions_t (0x0x7b9f4a07b120) 0 + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7b9f49c14a20) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6locale5facetE) +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7b9f49c14de0) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7b9f49c5f0c0) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7b9f49c5f2a0) 0 + +Class std::__cow_string + size=8 align=8 + base size=8 base align=8 +std::__cow_string (0x0x7b9f49cae1e0) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11logic_error) +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7b9f49cb6138) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16) +std::exception (0x0x7b9f49cae2a0) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f49cb6138) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12domain_error) +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7b9f49cb61a0) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16) +std::logic_error (0x0x7b9f49cb6208) 0 + primary-for std::domain_error (0x0x7b9f49cb61a0) +std::exception (0x0x7b9f49cae300) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f49cb6208) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16invalid_argument) +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7b9f49cb6270) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16) +std::logic_error (0x0x7b9f49cb62d8) 0 + primary-for std::invalid_argument (0x0x7b9f49cb6270) +std::exception (0x0x7b9f49cae360) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f49cb62d8) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12length_error) +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7b9f49cb6340) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16) +std::logic_error (0x0x7b9f49cb63a8) 0 + primary-for std::length_error (0x0x7b9f49cb6340) +std::exception (0x0x7b9f49cae3c0) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f49cb63a8) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12out_of_range) +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7b9f49cb6410) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16) +std::logic_error (0x0x7b9f49cb6478) 0 + primary-for std::out_of_range (0x0x7b9f49cb6410) +std::exception (0x0x7b9f49cae420) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f49cb6478) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13runtime_error) +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7b9f49cb64e0) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16) +std::exception (0x0x7b9f49cae480) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb64e0) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11range_error) +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7b9f49cb6548) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16) +std::runtime_error (0x0x7b9f49cb65b0) 0 + primary-for std::range_error (0x0x7b9f49cb6548) +std::exception (0x0x7b9f49cae4e0) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb65b0) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt14overflow_error) +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7b9f49cb6618) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16) +std::runtime_error (0x0x7b9f49cb6680) 0 + primary-for std::overflow_error (0x0x7b9f49cb6618) +std::exception (0x0x7b9f49cae540) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb6680) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt15underflow_error) +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7b9f49cb66e8) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16) +std::runtime_error (0x0x7b9f49cb6750) 0 + primary-for std::underflow_error (0x0x7b9f49cb66e8) +std::exception (0x0x7b9f49cae5a0) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb6750) + +Vtable for std::_V2::error_category +std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3_V214error_categoryE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))std::_V2::error_category::_M_message +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))std::_V2::error_category::default_error_condition +64 (int (*)(...))std::_V2::error_category::equivalent +72 (int (*)(...))std::_V2::error_category::equivalent + +Class std::_V2::error_category + size=8 align=8 + base size=8 base align=8 +std::_V2::error_category (0x0x7b9f49cae720) 0 nearly-empty + vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16) + +Class std::error_code + size=16 align=8 + base size=16 base align=8 +std::error_code (0x0x7b9f49caea80) 0 + +Class std::error_condition + size=16 align=8 + base size=16 base align=8 +std::error_condition (0x0x7b9f49d2e2a0) 0 + +Vtable for std::system_error +std::system_error::_ZTVSt12system_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12system_error) +16 (int (*)(...))std::system_error::~system_error +24 (int (*)(...))std::system_error::~system_error +32 (int (*)(...))std::runtime_error::what + +Class std::system_error + size=32 align=8 + base size=32 base align=8 +std::system_error (0x0x7b9f49cb6b60) 0 + vptr=((& std::system_error::_ZTVSt12system_error) + 16) +std::runtime_error (0x0x7b9f49cb6bc8) 0 + primary-for std::system_error (0x0x7b9f49cb6b60) +std::exception (0x0x7b9f49d2ee40) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb6bc8) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E) +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=32 align=8 + base size=32 base align=8 +std::ios_base::failure (0x0x7b9f49cb6ea0) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16) +std::system_error (0x0x7b9f49cb6f08) 0 + primary-for std::ios_base::failure (0x0x7b9f49cb6ea0) +std::runtime_error (0x0x7b9f49cb6f70) 0 + primary-for std::system_error (0x0x7b9f49cb6f08) +std::exception (0x0x7b9f49d93540) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f49cb6f70) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7b9f49d935a0) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7b9f49d93600) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7b9f49d93660) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8ios_base) +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7b9f49d934e0) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16) + +Class std::_Rb_tree_node_base + size=32 align=8 + base size=32 base align=8 +std::_Rb_tree_node_base (0x0x7b9f49ab2120) 0 + +Class std::_Rb_tree_header + size=40 align=8 + base size=40 base align=8 +std::_Rb_tree_header (0x0x7b9f49ab2480) 0 + +Class std::__mutex_base + size=40 align=8 + base size=40 base align=8 +std::__mutex_base (0x0x7b9f4992f360) 0 + +Class std::mutex + size=40 align=8 + base size=40 base align=8 +std::mutex (0x0x7b9f497fec30) 0 +std::__mutex_base (0x0x7b9f4992f420) 0 + +Class std::__condvar + size=48 align=8 + base size=48 base align=8 +std::__condvar (0x0x7b9f4992f600) 0 + +Class std::defer_lock_t + size=1 align=1 + base size=0 base align=1 +std::defer_lock_t (0x0x7b9f4992fcc0) 0 empty + +Class std::try_to_lock_t + size=1 align=1 + base size=0 base align=1 +std::try_to_lock_t (0x0x7b9f4992fd20) 0 empty + +Class std::adopt_lock_t + size=1 align=1 + base size=0 base align=1 +std::adopt_lock_t (0x0x7b9f4992fd80) 0 empty + +Class std::__shared_mutex_pthread + size=56 align=8 + base size=56 base align=8 +std::__shared_mutex_pthread (0x0x7b9f4996f1e0) 0 + +Class std::shared_mutex + size=56 align=8 + base size=56 base align=8 +std::shared_mutex (0x0x7b9f4996f4e0) 0 + +Class std::shared_timed_mutex + size=56 align=8 + base size=56 base align=8 +std::shared_timed_mutex (0x0x7b9f497fec98) 0 +std::__shared_mutex_pthread (0x0x7b9f4996f7e0) 0 + +Vtable for std::pmr::memory_resource +std::pmr::memory_resource::_ZTVNSt3pmr15memory_resourceE: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3pmr15memory_resourceE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class std::pmr::memory_resource + size=8 align=8 + base size=8 base align=8 +std::pmr::memory_resource (0x0x7b9f495f0000) 0 nearly-empty + vptr=((& std::pmr::memory_resource::_ZTVNSt3pmr15memory_resourceE) + 16) + +Class std::pmr::pool_options + size=16 align=8 + base size=16 base align=8 +std::pmr::pool_options (0x0x7b9f495f0a80) 0 + +Class std::pmr::__pool_resource + size=56 align=8 + base size=52 base align=8 +std::pmr::__pool_resource (0x0x7b9f495f0ae0) 0 + +Vtable for std::pmr::synchronized_pool_resource +std::pmr::synchronized_pool_resource::_ZTVNSt3pmr26synchronized_pool_resourceE: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3pmr26synchronized_pool_resourceE) +16 (int (*)(...))std::pmr::synchronized_pool_resource::~synchronized_pool_resource +24 (int (*)(...))std::pmr::synchronized_pool_resource::~synchronized_pool_resource +32 (int (*)(...))std::pmr::synchronized_pool_resource::do_allocate +40 (int (*)(...))std::pmr::synchronized_pool_resource::do_deallocate +48 (int (*)(...))std::pmr::synchronized_pool_resource::do_is_equal + +Class std::pmr::synchronized_pool_resource + size=136 align=8 + base size=136 base align=8 +std::pmr::synchronized_pool_resource (0x0x7b9f499c0c98) 0 + vptr=((& std::pmr::synchronized_pool_resource::_ZTVNSt3pmr26synchronized_pool_resourceE) + 16) +std::pmr::memory_resource (0x0x7b9f49657ba0) 0 nearly-empty + primary-for std::pmr::synchronized_pool_resource (0x0x7b9f499c0c98) + +Vtable for std::pmr::unsynchronized_pool_resource +std::pmr::unsynchronized_pool_resource::_ZTVNSt3pmr28unsynchronized_pool_resourceE: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3pmr28unsynchronized_pool_resourceE) +16 (int (*)(...))std::pmr::unsynchronized_pool_resource::~unsynchronized_pool_resource +24 (int (*)(...))std::pmr::unsynchronized_pool_resource::~unsynchronized_pool_resource +32 (int (*)(...))std::pmr::unsynchronized_pool_resource::do_allocate +40 (int (*)(...))std::pmr::unsynchronized_pool_resource::do_deallocate +48 (int (*)(...))std::pmr::unsynchronized_pool_resource::do_is_equal + +Class std::pmr::unsynchronized_pool_resource + size=72 align=8 + base size=72 base align=8 +std::pmr::unsynchronized_pool_resource (0x0x7b9f499c0d00) 0 + vptr=((& std::pmr::unsynchronized_pool_resource::_ZTVNSt3pmr28unsynchronized_pool_resourceE) + 16) +std::pmr::memory_resource (0x0x7b9f496ff3c0) 0 nearly-empty + primary-for std::pmr::unsynchronized_pool_resource (0x0x7b9f499c0d00) + +Vtable for std::pmr::monotonic_buffer_resource +std::pmr::monotonic_buffer_resource::_ZTVNSt3pmr25monotonic_buffer_resourceE: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3pmr25monotonic_buffer_resourceE) +16 (int (*)(...))std::pmr::monotonic_buffer_resource::~monotonic_buffer_resource +24 (int (*)(...))std::pmr::monotonic_buffer_resource::~monotonic_buffer_resource +32 (int (*)(...))std::pmr::monotonic_buffer_resource::do_allocate +40 (int (*)(...))std::pmr::monotonic_buffer_resource::do_deallocate +48 (int (*)(...))std::pmr::monotonic_buffer_resource::do_is_equal + +Class std::pmr::monotonic_buffer_resource + size=64 align=8 + base size=64 base align=8 +std::pmr::monotonic_buffer_resource (0x0x7b9f499c0d68) 0 + vptr=((& std::pmr::monotonic_buffer_resource::_ZTVNSt3pmr25monotonic_buffer_resourceE) + 16) +std::pmr::memory_resource (0x0x7b9f496ffa20) 0 nearly-empty + primary-for std::pmr::monotonic_buffer_resource (0x0x7b9f499c0d68) + +Vtable for __gnu_cxx::__concurrence_lock_error +__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what + +Class __gnu_cxx::__concurrence_lock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_lock_error (0x0x7b9f497d40d0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16) +std::exception (0x0x7b9f493df3c0) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_lock_error (0x0x7b9f497d40d0) + +Vtable for __gnu_cxx::__concurrence_unlock_error +__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what + +Class __gnu_cxx::__concurrence_unlock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_unlock_error (0x0x7b9f497d4138) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16) +std::exception (0x0x7b9f493df4e0) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7b9f497d4138) + +Vtable for __gnu_cxx::__concurrence_broadcast_error +__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what + +Class __gnu_cxx::__concurrence_broadcast_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_broadcast_error (0x0x7b9f497d41a0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16) +std::exception (0x0x7b9f493df600) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7b9f497d41a0) + +Vtable for __gnu_cxx::__concurrence_wait_error +__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what + +Class __gnu_cxx::__concurrence_wait_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_wait_error (0x0x7b9f497d4270) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16) +std::exception (0x0x7b9f493df720) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_wait_error (0x0x7b9f497d4270) + +Class __gnu_cxx::__mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__mutex (0x0x7b9f49409000) 0 + +Class __gnu_cxx::__recursive_mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__recursive_mutex (0x0x7b9f49409300) 0 + +Class __gnu_cxx::__scoped_lock + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__scoped_lock (0x0x7b9f49409600) 0 + +Class __gnu_cxx::__cond + size=48 align=8 + base size=48 base align=8 +__gnu_cxx::__cond (0x0x7b9f49409960) 0 + +Vtable for std::bad_weak_ptr +std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12bad_weak_ptr) +16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +32 (int (*)(...))std::bad_weak_ptr::what + +Class std::bad_weak_ptr + size=8 align=8 + base size=8 base align=8 +std::bad_weak_ptr (0x0x7b9f497d42d8) 0 nearly-empty + vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16) +std::exception (0x0x7b9f49409c60) 0 nearly-empty + primary-for std::bad_weak_ptr (0x0x7b9f497d42d8) + +Class std::_Sp_make_shared_tag + size=1 align=1 + base size=0 base align=1 +std::_Sp_make_shared_tag (0x0x7b9f49473960) 0 empty + +Class std::__sp_array_delete + size=1 align=1 + base size=0 base align=1 +std::__sp_array_delete (0x0x7b9f49473ea0) 0 empty + +Class std::_Sp_locker + size=2 align=1 + base size=2 base align=1 +std::_Sp_locker (0x0x7b9f495b6d20) 0 + +Class Qt::Disambiguated_t + size=1 align=1 + base size=0 base align=1 +Qt::Disambiguated_t (0x0x7b9f48e7b480) 0 empty + +Class QInternal + size=1 align=1 + base size=0 base align=1 +QInternal (0x0x7b9f48bee660) 0 empty + +Class QKeyCombination + size=4 align=4 + base size=4 base align=4 +QKeyCombination (0x0x7b9f48bee6c0) 0 + +Class QtPrivate::QSlotObjectBase::Deleter + size=1 align=1 + base size=0 base align=1 +QtPrivate::QSlotObjectBase::Deleter (0x0x7b9f48cccd80) 0 empty + +Class QtPrivate::QSlotObjectBase + size=16 align=8 + base size=16 base align=8 +QtPrivate::QSlotObjectBase (0x0x7b9f48cccd20) 0 + +Class QtPrivate::SlotObjSharedPtr + size=8 align=8 + base size=8 base align=8 +QtPrivate::SlotObjSharedPtr (0x0x7b9f48a796c0) 0 + +Class QMethodRawArguments + size=8 align=8 + base size=8 base align=8 +QMethodRawArguments (0x0x7b9f48ae7360) 0 + +Class QGenericArgument + size=16 align=8 + base size=16 base align=8 +QGenericArgument (0x0x7b9f48ae73c0) 0 + +Class QGenericReturnArgument + size=16 align=8 + base size=16 base align=8 +QGenericReturnArgument (0x0x7b9f48a86680) 0 +QGenericArgument (0x0x7b9f48ae7660) 0 + +Class QMetaMethodArgument + size=24 align=8 + base size=24 base align=8 +QMetaMethodArgument (0x0x7b9f48ae7ae0) 0 + +Class QMetaMethodReturnArgument + size=24 align=8 + base size=24 base align=8 +QMetaMethodReturnArgument (0x0x7b9f48ae7b40) 0 + +Class QMetaObject::SuperData + size=8 align=8 + base size=8 base align=8 +QMetaObject::SuperData (0x0x7b9f48b13120) 0 + +Class QMetaObject::Data + size=56 align=8 + base size=56 base align=8 +QMetaObject::Data (0x0x7b9f48b13180) 0 + +Class QMetaObject + size=56 align=8 + base size=56 base align=8 +QMetaObject (0x0x7b9f48b130c0) 0 + +Class QMetaObject::Connection + size=8 align=8 + base size=8 base align=8 +QMetaObject::Connection (0x0x7b9f48b6d000) 0 + +Class QLatin1Char + size=1 align=1 + base size=1 base align=1 +QLatin1Char (0x0x7b9f48b6d660) 0 + +Class QChar + size=2 align=2 + base size=2 base align=2 +QChar (0x0x7b9f48b6d0c0) 0 + +Class QtPrivate::RefCount + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCount (0x0x7b9f48899000) 0 + +Class QArrayData + size=16 align=8 + base size=16 base align=8 +QArrayData (0x0x7b9f48899300) 0 + +Class QtPrivate::AlignedQArrayData + size=16 align=16 + base size=16 base align=16 +QtPrivate::AlignedQArrayData (0x0x7b9f48890270) 0 +QArrayData (0x0x7b9f48899a80) 0 + +Class QtPrivate::QContainerImplHelper + size=1 align=1 + base size=0 base align=1 +QtPrivate::QContainerImplHelper (0x0x7b9f48957900) 0 empty + +Class qxp::nonesuch + size=1 align=1 + base size=0 base align=1 +qxp::nonesuch (0x0x7b9f48957a20) 0 empty + +Class QByteArrayView + size=16 align=8 + base size=16 base align=8 +QByteArrayView (0x0x7b9f486c8960) 0 + +Class QByteArray + size=24 align=8 + base size=24 base align=8 +QByteArray (0x0x7b9f483e64e0) 0 + +Class QByteArray::FromBase64Result + size=32 align=8 + base size=28 base align=8 +QByteArray::FromBase64Result (0x0x7b9f482ae3c0) 0 + +Class QStringView + size=16 align=8 + base size=16 base align=8 +QStringView (0x0x7b9f48330f00) 0 + +Class QChar::fromUcs4(char32_t)::R + size=4 align=2 + base size=4 base align=2 +QChar::fromUcs4(char32_t)::R (0x0x7b9f480e70c0) 0 + +Class QLatin1String + size=16 align=8 + base size=16 base align=8 +QLatin1String (0x0x7b9f480e7360) 0 + +Class QtPrivate::hide_char8_t + size=1 align=1 + base size=0 base align=1 +QtPrivate::hide_char8_t (0x0x7b9f47e4c900) 0 empty + +Class QtPrivate::wrap_char + size=1 align=1 + base size=0 base align=1 +QtPrivate::wrap_char (0x0x7b9f47e4c960) 0 empty + +Class QAnyStringView + size=16 align=8 + base size=16 base align=8 +QAnyStringView (0x0x7b9f47ede4e0) 0 + +Class QStringTokenizerBaseBase::tokenizer_state + size=24 align=8 + base size=24 base align=8 +QStringTokenizerBaseBase::tokenizer_state (0x0x7b9f47c52a80) 0 + +Class QStringTokenizerBaseBase + size=8 align=4 + base size=8 base align=4 +QStringTokenizerBaseBase (0x0x7b9f47c52a20) 0 + +Class QString + size=24 align=8 + base size=24 base align=8 +QString (0x0x7b9f47d25540) 0 + +Class QtPrivate::ArgBase + size=1 align=1 + base size=1 base align=1 +QtPrivate::ArgBase (0x0x7b9f476174e0) 0 + +Class QtPrivate::QStringViewArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QStringViewArg (0x0x7b9f4760b138) 0 +QtPrivate::ArgBase (0x0x7b9f47617540) 0 + +Class QtPrivate::QLatin1StringArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QLatin1StringArg (0x0x7b9f4760b208) 0 +QtPrivate::ArgBase (0x0x7b9f47617780) 0 + +Class QAbstractConcatenable + size=1 align=1 + base size=0 base align=1 +QAbstractConcatenable (0x0x7b9f47617ea0) 0 empty + +Class QStringConverterBase::State + size=48 align=8 + base size=48 base align=8 +QStringConverterBase::State (0x0x7b9f47689e40) 0 + +Class QStringConverterBase + size=1 align=1 + base size=0 base align=1 +QStringConverterBase (0x0x7b9f47689de0) 0 empty + +Class QStringConverter::Interface + size=40 align=8 + base size=40 base align=8 +QStringConverter::Interface (0x0x7b9f476c5b40) 0 + +Class QStringConverter + size=56 align=8 + base size=56 base align=8 +QStringConverter (0x0x7b9f4760bea0) 0 +QStringConverterBase (0x0x7b9f476c5ae0) 0 empty + +Class QStringEncoder + size=56 align=8 + base size=56 base align=8 +QStringEncoder (0x0x7b9f4760bf08) 0 +QStringConverter (0x0x7b9f4760bf70) 0 +QStringConverterBase (0x0x7b9f47725540) 0 empty + +Class QStringDecoder + size=56 align=8 + base size=56 base align=8 +QStringDecoder (0x0x7b9f47753000) 0 +QStringConverter (0x0x7b9f47753068) 0 +QStringConverterBase (0x0x7b9f477453c0) 0 empty + +Class QHashSeed + size=8 align=8 + base size=8 base align=8 +QHashSeed (0x0x7b9f473b0f00) 0 + +Class QtPrivate::QHashCombine + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombine (0x0x7b9f4741c0c0) 0 empty + +Class QtPrivate::QHashCombineCommutative + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombineCommutative (0x0x7b9f4741c180) 0 empty + +Class QStringMatcher + size=312 align=8 + base size=312 base align=8 +QStringMatcher (0x0x7b9f472287e0) 0 + +Class QScopedPointerPodDeleter + size=1 align=1 + base size=0 base align=1 +QScopedPointerPodDeleter (0x0x7b9f472d7c00) 0 empty + +Class Qt::partial_ordering + size=1 align=1 + base size=1 base align=1 +Qt::partial_ordering (0x0x7b9f473089c0) 0 + +Class Qt::weak_ordering + size=1 align=1 + base size=1 base align=1 +Qt::weak_ordering (0x0x7b9f47331840) 0 + +Class Qt::strong_ordering + size=1 align=1 + base size=1 base align=1 +Qt::strong_ordering (0x0x7b9f47363540) 0 + +Class QPartialOrdering + size=1 align=1 + base size=1 base align=1 +QPartialOrdering (0x0x7b9f4739a900) 0 + +Class QIODeviceBase + size=1 align=1 + base size=0 base align=1 +QIODeviceBase (0x0x7b9f46fde2a0) 0 empty + +Class QDataStream + size=32 align=8 + base size=32 base align=8 +QDataStream (0x0x7b9f474828f0) 0 +QIODeviceBase (0x0x7b9f46fde300) 0 empty + +Class QtPrivate::StreamStateSaver + size=16 align=8 + base size=12 base align=8 +QtPrivate::StreamStateSaver (0x0x7b9f46fde480) 0 + +Class qfloat16::Wrap + size=2 align=2 + base size=2 base align=2 +qfloat16::Wrap (0x0x7b9f47099de0) 0 + +Class qfloat16 + size=2 align=2 + base size=2 base align=2 +qfloat16 (0x0x7b9f47099d80) 0 + +Class QtMetaContainerPrivate::QMetaContainerInterface + size=120 align=8 + base size=120 base align=8 +QtMetaContainerPrivate::QMetaContainerInterface (0x0x7b9f46c0ede0) 0 + +Class QtMetaContainerPrivate::QMetaSequenceInterface + size=216 align=8 + base size=216 base align=8 +QtMetaContainerPrivate::QMetaSequenceInterface (0x0x7b9f46b9cb60) 0 +QtMetaContainerPrivate::QMetaContainerInterface (0x0x7b9f46c0eea0) 0 + +Class QtMetaContainerPrivate::QMetaAssociationInterface + size=240 align=8 + base size=240 base align=8 +QtMetaContainerPrivate::QMetaAssociationInterface (0x0x7b9f46b9cbc8) 0 +QtMetaContainerPrivate::QMetaContainerInterface (0x0x7b9f46c0ef60) 0 + +Class QMetaContainer + size=8 align=8 + base size=8 base align=8 +QMetaContainer (0x0x7b9f46d20a80) 0 + +Class QMetaSequence + size=8 align=8 + base size=8 base align=8 +QMetaSequence (0x0x7b9f46b9cd00) 0 +QMetaContainer (0x0x7b9f46d20c60) 0 + +Class QMetaAssociation + size=8 align=8 + base size=8 base align=8 +QMetaAssociation (0x0x7b9f46b9cd68) 0 +QMetaContainer (0x0x7b9f46d410c0) 0 + +Class std::__detail::_List_node_base + size=16 align=8 + base size=16 base align=8 +std::__detail::_List_node_base (0x0x7b9f46a26360) 0 + +Class std::__detail::_List_node_header + size=24 align=8 + base size=24 base align=8 +std::__detail::_List_node_header (0x0x7b9f469ac6e8) 0 +std::__detail::_List_node_base (0x0x7b9f46a263c0) 0 + +Class QtPrivate::QMetaTypeInterface + size=112 align=8 + base size=112 base align=8 +QtPrivate::QMetaTypeInterface (0x0x7b9f46b043c0) 0 + +Class QMetaType + size=8 align=8 + base size=8 base align=8 +QMetaType (0x0x7b9f46b045a0) 0 + +Class QtMetaTypePrivate::QPairVariantInterfaceImpl + size=40 align=8 + base size=40 base align=8 +QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7b9f467c6900) 0 + +Class QtPrivate::QTypeNormalizer + size=16 align=8 + base size=16 base align=8 +QtPrivate::QTypeNormalizer (0x0x7b9f466e0cc0) 0 + +Class QBindingStatus + size=32 align=8 + base size=32 base align=8 +QBindingStatus (0x0x7b9f463335a0) 0 + +Class QBindingStorage + size=16 align=8 + base size=16 base align=8 +QBindingStorage (0x0x7b9f46333600) 0 + +Vtable for QObjectData +QObjectData::_ZTV11QObjectData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QObjectData) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual + +Class QObjectData + size=80 align=8 + base size=80 base align=8 +QObjectData (0x0x7b9f46333840) 0 + vptr=((& QObjectData::_ZTV11QObjectData) + 16) + +Class QObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObject::QPrivateSignal (0x0x7b9f45fc4060) 0 empty + +Vtable for QObject +QObject::_ZTV7QObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QObject) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 (int (*)(...))QObject::~QObject +48 (int (*)(...))QObject::~QObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObject + size=16 align=8 + base size=16 base align=8 +QObject (0x0x7b9f45fc4000) 0 + vptr=((& QObject::_ZTV7QObject) + 16) + +Class QSignalBlocker + size=16 align=8 + base size=10 base align=8 +QSignalBlocker (0x0x7b9f46036120) 0 + +Class QAbstractAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractAnimation::QPrivateSignal (0x0x7b9f46036a20) 0 empty + +Vtable for QAbstractAnimation +QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractAnimation) +16 (int (*)(...))QAbstractAnimation::metaObject +24 (int (*)(...))QAbstractAnimation::qt_metacast +32 (int (*)(...))QAbstractAnimation::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAbstractAnimation + size=16 align=8 + base size=16 base align=8 +QAbstractAnimation (0x0x7b9f45f61410) 0 + vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16) +QObject (0x0x7b9f460369c0) 0 + primary-for QAbstractAnimation (0x0x7b9f45f61410) + +Class QAnimationDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationDriver::QPrivateSignal (0x0x7b9f46036d80) 0 empty + +Vtable for QAnimationDriver +QAnimationDriver::_ZTV16QAnimationDriver: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAnimationDriver) +16 (int (*)(...))QAnimationDriver::metaObject +24 (int (*)(...))QAnimationDriver::qt_metacast +32 (int (*)(...))QAnimationDriver::qt_metacall +40 (int (*)(...))QAnimationDriver::~QAnimationDriver +48 (int (*)(...))QAnimationDriver::~QAnimationDriver +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAnimationDriver::advance +120 (int (*)(...))QAnimationDriver::elapsed +128 (int (*)(...))QAnimationDriver::start +136 (int (*)(...))QAnimationDriver::stop + +Class QAnimationDriver + size=16 align=8 + base size=16 base align=8 +QAnimationDriver (0x0x7b9f45f61478) 0 + vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16) +QObject (0x0x7b9f46036d20) 0 + primary-for QAnimationDriver (0x0x7b9f45f61478) + +Class QElapsedTimer + size=16 align=8 + base size=16 base align=8 +QElapsedTimer (0x0x7b9f46036f00) 0 + +Class QDeadlineTimer + size=16 align=8 + base size=16 base align=8 +QDeadlineTimer (0x0x7b9f46083060) 0 + +Class QEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventLoop::QPrivateSignal (0x0x7b9f4614cc60) 0 empty + +Vtable for QEventLoop +QEventLoop::_ZTV10QEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QEventLoop) +16 (int (*)(...))QEventLoop::metaObject +24 (int (*)(...))QEventLoop::qt_metacast +32 (int (*)(...))QEventLoop::qt_metacall +40 (int (*)(...))QEventLoop::~QEventLoop +48 (int (*)(...))QEventLoop::~QEventLoop +56 (int (*)(...))QEventLoop::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QEventLoop + size=16 align=8 + base size=16 base align=8 +QEventLoop (0x0x7b9f45d6d4e0) 0 + vptr=((& QEventLoop::_ZTV10QEventLoop) + 16) +QObject (0x0x7b9f4614cc00) 0 + primary-for QEventLoop (0x0x7b9f45d6d4e0) + +Class QEventLoopLocker + size=8 align=8 + base size=8 base align=8 +QEventLoopLocker (0x0x7b9f45d9d360) 0 + +Class QAbstractEventDispatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractEventDispatcher::QPrivateSignal (0x0x7b9f45d9d7e0) 0 empty + +Class QAbstractEventDispatcher::TimerInfo + size=12 align=4 + base size=12 base align=4 +QAbstractEventDispatcher::TimerInfo (0x0x7b9f45d9d840) 0 + +Vtable for QAbstractEventDispatcher +QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher) +16 (int (*)(...))QAbstractEventDispatcher::metaObject +24 (int (*)(...))QAbstractEventDispatcher::qt_metacast +32 (int (*)(...))QAbstractEventDispatcher::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))QAbstractEventDispatcher::startingUp +200 (int (*)(...))QAbstractEventDispatcher::closingDown + +Class QAbstractEventDispatcher + size=16 align=8 + base size=16 base align=8 +QAbstractEventDispatcher (0x0x7b9f45d6d618) 0 + vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16) +QObject (0x0x7b9f45d9d780) 0 + primary-for QAbstractEventDispatcher (0x0x7b9f45d6d618) + +Class QHashDummyValue + size=1 align=1 + base size=0 base align=1 +QHashDummyValue (0x0x7b9f45e185a0) 0 empty + +Class QHashPrivate::SpanConstants + size=1 align=1 + base size=0 base align=1 +QHashPrivate::SpanConstants (0x0x7b9f45e54300) 0 empty + +Vtable for QTextStream +QTextStream::_ZTV11QTextStream: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextStream) +16 (int (*)(...))QTextStream::~QTextStream +24 (int (*)(...))QTextStream::~QTextStream + +Class QTextStream + size=16 align=8 + base size=16 base align=8 +QTextStream (0x0x7b9f45e16b60) 0 + vptr=((& QTextStream::_ZTV11QTextStream) + 16) +QIODeviceBase (0x0x7b9f45bf0d20) 0 empty + +Class QTextStreamManipulator + size=40 align=8 + base size=38 base align=8 +QTextStreamManipulator (0x0x7b9f45c61660) 0 + +Class QContiguousCacheData + size=40 align=8 + base size=40 base align=8 +QContiguousCacheData (0x0x7b9f45c61d80) 0 + +Class QSharedData + size=4 align=4 + base size=4 base align=4 +QSharedData (0x0x7b9f45cfa300) 0 + +Class QAdoptSharedDataTag + size=1 align=1 + base size=0 base align=1 +QAdoptSharedDataTag (0x0x7b9f45cfa660) 0 empty + +Class QtSharedPointer::NormalDeleter + size=1 align=1 + base size=0 base align=1 +QtSharedPointer::NormalDeleter (0x0x7b9f45960780) 0 empty + +Class QtSharedPointer::ExternalRefCountData + size=16 align=8 + base size=16 base align=8 +QtSharedPointer::ExternalRefCountData (0x0x7b9f45960900) 0 + +Class QtPrivate::EnableInternalData + size=1 align=1 + base size=0 base align=1 +QtPrivate::EnableInternalData (0x0x7b9f459feea0) 0 empty + +Class QVLABaseBase::free_deleter + size=1 align=1 + base size=0 base align=1 +QVLABaseBase::free_deleter (0x0x7b9f45810180) 0 empty + +Class QVLABaseBase + size=24 align=8 + base size=24 base align=8 +QVLABaseBase (0x0x7b9f45810120) 0 + +Class QDebug::Stream + size=88 align=8 + base size=88 base align=8 +QDebug::Stream (0x0x7b9f455d9e40) 0 + +Class QDebug + size=8 align=8 + base size=8 base align=8 +QDebug (0x0x7b9f455adea0) 0 +QIODeviceBase (0x0x7b9f455d9de0) 0 empty + +Class QDebugStateSaver + size=8 align=8 + base size=8 base align=8 +QDebugStateSaver (0x0x7b9f4535c420) 0 + +Class QNoDebug + size=1 align=1 + base size=0 base align=1 +QNoDebug (0x0x7b9f4535c4e0) 0 empty + +Class QVariant::CborValueStandIn + size=24 align=8 + base size=24 base align=8 +QVariant::CborValueStandIn (0x0x7b9f45530a80) 0 + +Class QVariant::PrivateShared + size=8 align=8 + base size=8 base align=8 +QVariant::PrivateShared (0x0x7b9f45530ae0) 0 + +Class QVariant::Private + size=32 align=8 + base size=32 base align=8 +QVariant::Private (0x0x7b9f45530ba0) 0 + +Class QVariant + size=32 align=8 + base size=32 base align=8 +QVariant (0x0x7b9f45530a20) 0 + +Class QtPrivate::QVariantTypeCoercer + size=32 align=8 + base size=32 base align=8 +QtPrivate::QVariantTypeCoercer (0x0x7b9f45326240) 0 + +Class QVariantConstPointer + size=32 align=8 + base size=32 base align=8 +QVariantConstPointer (0x0x7b9f45326480) 0 + +Class QModelRoleData + size=40 align=8 + base size=40 base align=8 +QModelRoleData (0x0x7b9f45326660) 0 + +Class QModelRoleDataSpan + size=16 align=8 + base size=16 base align=8 +QModelRoleDataSpan (0x0x7b9f44f6cde0) 0 + +Class QModelIndex + size=24 align=8 + base size=24 base align=8 +QModelIndex (0x0x7b9f44fe12a0) 0 + +Class QPersistentModelIndex + size=8 align=8 + base size=8 base align=8 +QPersistentModelIndex (0x0x7b9f4503b960) 0 + +Class QAbstractItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModel::QPrivateSignal (0x0x7b9f450be240) 0 empty + +Vtable for QAbstractItemModel +QAbstractItemModel::_ZTV18QAbstractItemModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractItemModel) +16 (int (*)(...))QAbstractItemModel::metaObject +24 (int (*)(...))QAbstractItemModel::qt_metacast +32 (int (*)(...))QAbstractItemModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractItemModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QAbstractItemModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QAbstractItemModel + size=16 align=8 + base size=16 base align=8 +QAbstractItemModel (0x0x7b9f450b3af8) 0 + vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16) +QObject (0x0x7b9f450be1e0) 0 + primary-for QAbstractItemModel (0x0x7b9f450b3af8) + +Class QAbstractTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTableModel::QPrivateSignal (0x0x7b9f44e1b1e0) 0 empty + +Vtable for QAbstractTableModel +QAbstractTableModel::_ZTV19QAbstractTableModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTableModel) +16 (int (*)(...))QAbstractTableModel::metaObject +24 (int (*)(...))QAbstractTableModel::qt_metacast +32 (int (*)(...))QAbstractTableModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractTableModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QAbstractTableModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QAbstractTableModel + size=16 align=8 + base size=16 base align=8 +QAbstractTableModel (0x0x7b9f44d9e1a0) 0 + vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16) +QAbstractItemModel (0x0x7b9f44d9e208) 0 + primary-for QAbstractTableModel (0x0x7b9f44d9e1a0) +QObject (0x0x7b9f44e1b180) 0 + primary-for QAbstractItemModel (0x0x7b9f44d9e208) + +Class QAbstractListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractListModel::QPrivateSignal (0x0x7b9f44e1b300) 0 empty + +Vtable for QAbstractListModel +QAbstractListModel::_ZTV18QAbstractListModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractListModel) +16 (int (*)(...))QAbstractListModel::metaObject +24 (int (*)(...))QAbstractListModel::qt_metacast +32 (int (*)(...))QAbstractListModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QAbstractListModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractListModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QAbstractListModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QAbstractListModel + size=16 align=8 + base size=16 base align=8 +QAbstractListModel (0x0x7b9f44d9e270) 0 + vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16) +QAbstractItemModel (0x0x7b9f44d9e2d8) 0 + primary-for QAbstractListModel (0x0x7b9f44d9e270) +QObject (0x0x7b9f44e1b2a0) 0 + primary-for QAbstractItemModel (0x0x7b9f44d9e2d8) + +Vtable for QAbstractNativeEventFilter +QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNativeEventFilter + size=16 align=8 + base size=16 base align=8 +QAbstractNativeEventFilter (0x0x7b9f44ee99c0) 0 + vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16) + +Class QAbstractProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractProxyModel::QPrivateSignal (0x0x7b9f44ee9a80) 0 empty + +Vtable for QAbstractProxyModel +QAbstractProxyModel::_ZTV19QAbstractProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractProxyModel) +16 (int (*)(...))QAbstractProxyModel::metaObject +24 (int (*)(...))QAbstractProxyModel::qt_metacast +32 (int (*)(...))QAbstractProxyModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QAbstractProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::clearItemData +216 (int (*)(...))QAbstractProxyModel::mimeTypes +224 (int (*)(...))QAbstractProxyModel::mimeData +232 (int (*)(...))QAbstractProxyModel::canDropMimeData +240 (int (*)(...))QAbstractProxyModel::dropMimeData +248 (int (*)(...))QAbstractProxyModel::supportedDropActions +256 (int (*)(...))QAbstractProxyModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractProxyModel::fetchMore +320 (int (*)(...))QAbstractProxyModel::canFetchMore +328 (int (*)(...))QAbstractProxyModel::flags +336 (int (*)(...))QAbstractProxyModel::sort +344 (int (*)(...))QAbstractProxyModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractProxyModel::span +368 (int (*)(...))QAbstractProxyModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractProxyModel::submit +392 (int (*)(...))QAbstractProxyModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QAbstractProxyModel::setSourceModel +416 (int (*)(...))__cxa_pure_virtual +424 (int (*)(...))__cxa_pure_virtual +432 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +440 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QAbstractProxyModel + size=16 align=8 + base size=16 base align=8 +QAbstractProxyModel (0x0x7b9f44eee340) 0 + vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16) +QAbstractItemModel (0x0x7b9f44eee3a8) 0 + primary-for QAbstractProxyModel (0x0x7b9f44eee340) +QObject (0x0x7b9f44ee9a20) 0 + primary-for QAbstractItemModel (0x0x7b9f44eee3a8) + +Class QAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationGroup::QPrivateSignal (0x0x7b9f44ee9c60) 0 empty + +Vtable for QAnimationGroup +QAnimationGroup::_ZTV15QAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAnimationGroup) +16 (int (*)(...))QAnimationGroup::metaObject +24 (int (*)(...))QAnimationGroup::qt_metacast +32 (int (*)(...))QAnimationGroup::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAnimationGroup + size=16 align=8 + base size=16 base align=8 +QAnimationGroup (0x0x7b9f44eee410) 0 + vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16) +QAbstractAnimation (0x0x7b9f44eee478) 0 + primary-for QAnimationGroup (0x0x7b9f44eee410) +QObject (0x0x7b9f44ee9c00) 0 + primary-for QAbstractAnimation (0x0x7b9f44eee478) + +Class QBasicMutex + size=8 align=8 + base size=8 base align=8 +QBasicMutex (0x0x7b9f44f38060) 0 + +Class QMutex + size=8 align=8 + base size=8 base align=8 +QMutex (0x0x7b9f44eee4e0) 0 +QBasicMutex (0x0x7b9f44f38d80) 0 + +Class QRecursiveMutex + size=24 align=8 + base size=24 base align=8 +QRecursiveMutex (0x0x7b9f44b9b240) 0 + +Class QEvent::InputEventTag + size=1 align=1 + base size=0 base align=1 +QEvent::InputEventTag (0x0x7b9f44b9bc60) 0 empty + +Class QEvent::PointerEventTag + size=1 align=1 + base size=0 base align=1 +QEvent::PointerEventTag (0x0x7b9f44b9bcc0) 0 empty + +Class QEvent::SinglePointEventTag + size=1 align=1 + base size=0 base align=1 +QEvent::SinglePointEventTag (0x0x7b9f44b9bd20) 0 empty + +Vtable for QEvent +QEvent::_ZTV6QEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QEvent) +16 (int (*)(...))QEvent::~QEvent +24 (int (*)(...))QEvent::~QEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QEvent + size=16 align=8 + base size=16 base align=8 +QEvent (0x0x7b9f44b9bc00) 0 + vptr=((& QEvent::_ZTV6QEvent) + 16) + +Vtable for QTimerEvent +QTimerEvent::_ZTV11QTimerEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTimerEvent) +16 (int (*)(...))QTimerEvent::~QTimerEvent +24 (int (*)(...))QTimerEvent::~QTimerEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QTimerEvent::clone + +Class QTimerEvent + size=24 align=8 + base size=20 base align=8 +QTimerEvent (0x0x7b9f44eee618) 0 + vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16) +QEvent (0x0x7b9f44c276c0) 0 + primary-for QTimerEvent (0x0x7b9f44eee618) + +Vtable for QChildEvent +QChildEvent::_ZTV11QChildEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QChildEvent) +16 (int (*)(...))QChildEvent::~QChildEvent +24 (int (*)(...))QChildEvent::~QChildEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QChildEvent::clone + +Class QChildEvent + size=24 align=8 + base size=24 base align=8 +QChildEvent (0x0x7b9f44eee680) 0 + vptr=((& QChildEvent::_ZTV11QChildEvent) + 16) +QEvent (0x0x7b9f44c27780) 0 + primary-for QChildEvent (0x0x7b9f44eee680) + +Vtable for QDynamicPropertyChangeEvent +QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent) +16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QDynamicPropertyChangeEvent::clone + +Class QDynamicPropertyChangeEvent + size=40 align=8 + base size=40 base align=8 +QDynamicPropertyChangeEvent (0x0x7b9f44eee6e8) 0 + vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16) +QEvent (0x0x7b9f44c27960) 0 + primary-for QDynamicPropertyChangeEvent (0x0x7b9f44eee6e8) + +Class QCoreApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCoreApplication::QPrivateSignal (0x0x7b9f44c27d80) 0 empty + +Vtable for QCoreApplication +QCoreApplication::_ZTV16QCoreApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QCoreApplication) +16 (int (*)(...))QCoreApplication::metaObject +24 (int (*)(...))QCoreApplication::qt_metacast +32 (int (*)(...))QCoreApplication::qt_metacall +40 (int (*)(...))QCoreApplication::~QCoreApplication +48 (int (*)(...))QCoreApplication::~QCoreApplication +56 (int (*)(...))QCoreApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCoreApplication::notify +120 (int (*)(...))QCoreApplication::compressEvent + +Class QCoreApplication + size=16 align=8 + base size=16 base align=8 +QCoreApplication (0x0x7b9f44eee888) 0 + vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16) +QObject (0x0x7b9f44c27d20) 0 + primary-for QCoreApplication (0x0x7b9f44eee888) + +Class QAssociativeIterator + size=16 align=8 + base size=16 base align=8 +QAssociativeIterator (0x0x7b9f44c9c208) 0 +QIterator<QMetaAssociation> (0x0x7b9f44c9c270) 0 +QBaseIterator<QMetaAssociation> (0x0x7b9f44c7ed80) 0 + +Class QAssociativeConstIterator + size=16 align=8 + base size=16 base align=8 +QAssociativeConstIterator (0x0x7b9f44c9c3a8) 0 +QConstIterator<QMetaAssociation> (0x0x7b9f44c9c410) 0 +QBaseIterator<QMetaAssociation> (0x0x7b9f44cd2300) 0 + +Class QAssociativeIterable + size=24 align=8 + base size=24 base align=8 +QAssociativeIterable (0x0x7b9f44c9c4e0) 0 +QIterable<QMetaAssociation> (0x0x7b9f44cd2840) 0 + +Class QBasicTimer + size=4 align=4 + base size=4 base align=4 +QBasicTimer (0x0x7b9f44a15ae0) 0 + +Class QBitArray + size=24 align=8 + base size=24 base align=8 +QBitArray (0x0x7b9f44aaf600) 0 + +Class QBitRef + size=16 align=8 + base size=16 base align=8 +QBitRef (0x0x7b9f44aeed80) 0 + +Class QIODevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIODevice::QPrivateSignal (0x0x7b9f44b41f60) 0 empty + +Vtable for QIODevice +QIODevice::_ZTV9QIODevice: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QIODevice) +16 (int (*)(...))QIODevice::metaObject +24 (int (*)(...))QIODevice::qt_metacast +32 (int (*)(...))QIODevice::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QIODevice::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))__cxa_pure_virtual + +Class QIODevice + size=16 align=8 + base size=16 base align=8 +QIODevice (0x0x7b9f44b571c0) 0 + vptr=((& QIODevice::_ZTV9QIODevice) + 16) +QObject (0x0x7b9f44b41ea0) 0 + primary-for QIODevice (0x0x7b9f44b571c0) +QIODeviceBase (0x0x7b9f44b41f00) 0 empty + +Class QBuffer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBuffer::QPrivateSignal (0x0x7b9f4477d4e0) 0 empty + +Vtable for QBuffer +QBuffer::_ZTV7QBuffer: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBuffer) +16 (int (*)(...))QBuffer::metaObject +24 (int (*)(...))QBuffer::qt_metacast +32 (int (*)(...))QBuffer::qt_metacall +40 (int (*)(...))QBuffer::~QBuffer +48 (int (*)(...))QBuffer::~QBuffer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QBuffer::connectNotify +104 (int (*)(...))QBuffer::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QBuffer::open +128 (int (*)(...))QBuffer::close +136 (int (*)(...))QBuffer::pos +144 (int (*)(...))QBuffer::size +152 (int (*)(...))QBuffer::seek +160 (int (*)(...))QBuffer::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QBuffer::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QBuffer::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QBuffer::writeData + +Class QBuffer + size=16 align=8 + base size=16 base align=8 +QBuffer (0x0x7b9f44b566e8) 0 + vptr=((& QBuffer::_ZTV7QBuffer) + 16) +QIODevice (0x0x7b9f44b57690) 0 + primary-for QBuffer (0x0x7b9f44b566e8) +QObject (0x0x7b9f4477d420) 0 + primary-for QIODevice (0x0x7b9f44b57690) +QIODeviceBase (0x0x7b9f4477d480) 0 empty + +Class QByteArrayMatcher::Data + size=272 align=8 + base size=272 base align=8 +QByteArrayMatcher::Data (0x0x7b9f4477d6c0) 0 + +Class QByteArrayMatcher + size=1056 align=8 + base size=1056 base align=8 +QByteArrayMatcher (0x0x7b9f4477d660) 0 + +Class QStaticByteArrayMatcherBase::Skiptable + size=256 align=1 + base size=256 base align=1 +QStaticByteArrayMatcherBase::Skiptable (0x0x7b9f4477da20) 0 + +Class QStaticByteArrayMatcherBase + size=256 align=16 + base size=256 base align=16 +QStaticByteArrayMatcherBase (0x0x7b9f4477d9c0) 0 + +Class QLocale + size=8 align=8 + base size=8 base align=8 +QLocale (0x0x7b9f44802120) 0 + +Class QCalendar::YearMonthDay + size=12 align=4 + base size=12 base align=4 +QCalendar::YearMonthDay (0x0x7b9f4458e420) 0 + +Class QCalendar::SystemId + size=8 align=8 + base size=8 base align=8 +QCalendar::SystemId (0x0x7b9f4458e480) 0 + +Class QCalendar + size=8 align=8 + base size=8 base align=8 +QCalendar (0x0x7b9f4458e3c0) 0 + +Class QDate + size=8 align=8 + base size=8 base align=8 +QDate (0x0x7b9f4458eea0) 0 + +Class QTime + size=4 align=4 + base size=4 base align=4 +QTime (0x0x7b9f4463ec00) 0 + +Class QDateTime::ShortData + size=8 align=8 + base size=8 base align=8 +QDateTime::ShortData (0x0x7b9f446bb420) 0 + +Class QDateTime::Data + size=8 align=8 + base size=8 base align=8 +QDateTime::Data (0x0x7b9f446bb480) 0 + +Class QDateTime + size=8 align=8 + base size=8 base align=8 +QDateTime (0x0x7b9f446bb3c0) 0 + +Class QCborError + size=4 align=4 + base size=4 base align=4 +QCborError (0x0x7b9f4439c120) 0 + +Class QRegularExpression + size=8 align=8 + base size=8 base align=8 +QRegularExpression (0x0x7b9f443f30c0) 0 + +Class QRegularExpressionMatch + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatch (0x0x7b9f444acc60) 0 + +Class QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIteratorSentinel + size=1 align=1 + base size=0 base align=1 +QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIteratorSentinel (0x0x7b9f44136a20) 0 empty + +Class QRegularExpressionMatchIterator + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatchIterator (0x0x7b9f44136ae0) 0 + +Class QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator + size=24 align=8 + base size=17 base align=8 +QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator (0x0x7b9f44136c60) 0 + +Class QUrl + size=8 align=8 + base size=8 base align=8 +QUrl (0x0x7b9f441f2480) 0 + +Class QUuid::Id128Bytes + size=16 align=16 + base size=16 base align=16 +QUuid::Id128Bytes (0x0x7b9f43f94000) 0 + +Class QUuid + size=16 align=4 + base size=16 base align=4 +QUuid (0x0x7b9f43f69f60) 0 + +Class QCborParserError + size=16 align=8 + base size=16 base align=8 +QCborParserError (0x0x7b9f4407c9c0) 0 + +Class QCborValue + size=24 align=8 + base size=20 base align=8 +QCborValue (0x0x7b9f4407ca80) 0 + +Class QCborValueConstRef + size=16 align=8 + base size=16 base align=8 +QCborValueConstRef (0x0x7b9f43d954e0) 0 + +Class QCborValueRef + size=16 align=8 + base size=16 base align=8 +QCborValueRef (0x0x7b9f43d91958) 0 +QCborValueConstRef (0x0x7b9f43dd3960) 0 + +Class QCborArray::Iterator + size=16 align=8 + base size=16 base align=8 +QCborArray::Iterator (0x0x7b9f43e3e4e0) 0 + +Class QCborArray::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborArray::ConstIterator (0x0x7b9f43e3e540) 0 + +Class QCborArray + size=8 align=8 + base size=8 base align=8 +QCborArray (0x0x7b9f43e3e480) 0 + +Class QCborMap::Iterator + size=16 align=8 + base size=16 base align=8 +QCborMap::Iterator (0x0x7b9f43b75120) 0 + +Class QCborMap::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborMap::ConstIterator (0x0x7b9f43b75180) 0 + +Class QCborMap + size=8 align=8 + base size=8 base align=8 +QCborMap (0x0x7b9f43b750c0) 0 + +Class QCborStreamReader + size=24 align=8 + base size=20 base align=8 +QCborStreamReader (0x0x7b9f43a01180) 0 + +Class QCborStreamWriter + size=8 align=8 + base size=8 base align=8 +QCborStreamWriter (0x0x7b9f43a4d8a0) 0 + +Class QCollatorSortKey + size=8 align=8 + base size=8 base align=8 +QCollatorSortKey (0x0x7b9f43a8b0c0) 0 + +Class QCollator + size=8 align=8 + base size=8 base align=8 +QCollator (0x0x7b9f43a8b2a0) 0 + +Class QCommandLineOption + size=8 align=8 + base size=8 base align=8 +QCommandLineOption (0x0x7b9f437336c0) 0 + +Class QCommandLineParser + size=8 align=8 + base size=8 base align=8 +QCommandLineParser (0x0x7b9f437a4840) 0 + +Class QConcatenateTablesProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QConcatenateTablesProxyModel::QPrivateSignal (0x0x7b9f437a4960) 0 empty + +Vtable for QConcatenateTablesProxyModel +QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel) +16 (int (*)(...))QConcatenateTablesProxyModel::metaObject +24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast +32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall +40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QConcatenateTablesProxyModel::index +120 (int (*)(...))QConcatenateTablesProxyModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QConcatenateTablesProxyModel::rowCount +144 (int (*)(...))QConcatenateTablesProxyModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QConcatenateTablesProxyModel::data +168 (int (*)(...))QConcatenateTablesProxyModel::setData +176 (int (*)(...))QConcatenateTablesProxyModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QConcatenateTablesProxyModel::itemData +200 (int (*)(...))QConcatenateTablesProxyModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes +224 (int (*)(...))QConcatenateTablesProxyModel::mimeData +232 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData +240 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QConcatenateTablesProxyModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QConcatenateTablesProxyModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QConcatenateTablesProxyModel + size=16 align=8 + base size=16 base align=8 +QConcatenateTablesProxyModel (0x0x7b9f437ac340) 0 + vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16) +QAbstractItemModel (0x0x7b9f437ac3a8) 0 + primary-for QConcatenateTablesProxyModel (0x0x7b9f437ac340) +QObject (0x0x7b9f437a4900) 0 + primary-for QAbstractItemModel (0x0x7b9f437ac3a8) + +Class QCryptographicHash + size=8 align=8 + base size=8 base align=8 +QCryptographicHash (0x0x7b9f437a4ae0) 0 + +Class QFileDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDevice::QPrivateSignal (0x0x7b9f437a4f60) 0 empty + +Vtable for QFileDevice +QFileDevice::_ZTV11QFileDevice: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDevice) +16 (int (*)(...))QFileDevice::metaObject +24 (int (*)(...))QFileDevice::qt_metacast +32 (int (*)(...))QFileDevice::qt_metacall +40 (int (*)(...))QFileDevice::~QFileDevice +48 (int (*)(...))QFileDevice::~QFileDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QFileDevice::writeData +248 (int (*)(...))QFileDevice::fileName +256 (int (*)(...))QFileDevice::resize +264 (int (*)(...))QFileDevice::permissions +272 (int (*)(...))QFileDevice::setPermissions + +Class QFileDevice + size=16 align=8 + base size=16 base align=8 +QFileDevice (0x0x7b9f437ac410) 0 + vptr=((& QFileDevice::_ZTV11QFileDevice) + 16) +QIODevice (0x0x7b9f43813f50) 0 + primary-for QFileDevice (0x0x7b9f437ac410) +QObject (0x0x7b9f437a4ea0) 0 + primary-for QIODevice (0x0x7b9f43813f50) +QIODeviceBase (0x0x7b9f437a4f00) 0 empty + +Class std::filesystem::space_info + size=24 align=8 + base size=24 base align=8 +std::filesystem::space_info (0x0x7b9f43844ea0) 0 + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7b9f43526480) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7b9f4358e8a0) 0 empty + +Class std::time_base + size=1 align=1 + base size=0 base align=1 +std::time_base (0x0x7b9f436d5480) 0 empty + +Class std::money_base::pattern + size=4 align=1 + base size=4 base align=1 +std::money_base::pattern (0x0x7b9f43387780) 0 + +Class std::money_base + size=1 align=1 + base size=0 base align=1 +std::money_base (0x0x7b9f43387720) 0 empty + +Class std::messages_base + size=1 align=1 + base size=0 base align=1 +std::messages_base (0x0x7b9f433b2d20) 0 empty + +Class std::codecvt_base + size=1 align=1 + base size=0 base align=1 +std::codecvt_base (0x0x7b9f434048a0) 0 empty + +VTT for std::basic_ostream<char> +std::basic_ostream<char>::_ZTTSo: 2 entries +0 ((& std::basic_ostream<char>::_ZTVSo) + 24) +8 ((& std::basic_ostream<char>::_ZTVSo) + 64) + +VTT for std::basic_ostream<wchar_t> +std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64) + +VTT for std::basic_istream<char> +std::basic_istream<char>::_ZTTSi: 2 entries +0 ((& std::basic_istream<char>::_ZTVSi) + 24) +8 ((& std::basic_istream<char>::_ZTVSi) + 64) + +VTT for std::basic_istream<wchar_t> +std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream<char> (0x0x7b9f42fdc340 instance) in std::basic_iostream<char> +std::basic_iostream<char>::_ZTCSd0_Si: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream<char> (0x0x7b9f42fdc410 instance) in std::basic_iostream<char> +std::basic_iostream<char>::_ZTCSd16_So: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::basic_iostream<char> +std::basic_iostream<char>::_ZTTSd: 7 entries +0 ((& std::basic_iostream<char>::_ZTVSd) + 24) +8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24) +16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64) +24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24) +32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64) +40 ((& std::basic_iostream<char>::_ZTVSd) + 104) +48 ((& std::basic_iostream<char>::_ZTVSd) + 64) + +Construction vtable for std::basic_istream<wchar_t> (0x0x7b9f42fdc888 instance) in std::basic_iostream<wchar_t> +std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream<wchar_t> (0x0x7b9f42fdc958 instance) in std::basic_iostream<wchar_t> +std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::basic_iostream<wchar_t> +std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries +0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24) +16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64) +24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24) +32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64) +40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104) +48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream<char> (0x0x7b9f430acaf8 instance) in std::__cxx11::basic_istringstream<char> +std::__cxx11::basic_istringstream<char>::_ZTCNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE0_Si: 10 entries +0 120 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551496 +48 (int (*)(...))-120 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +VTT for std::__cxx11::basic_istringstream<char> +std::__cxx11::basic_istringstream<char>::_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE: 4 entries +0 ((& std::__cxx11::basic_istringstream<char>::_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE) + 24) +8 ((& std::__cxx11::basic_istringstream<char>::_ZTCNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE0_Si) + 24) +16 ((& std::__cxx11::basic_istringstream<char>::_ZTCNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE0_Si) + 64) +24 ((& std::__cxx11::basic_istringstream<char>::_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE) + 64) + +Construction vtable for std::basic_ostream<char> (0x0x7b9f430acd00 instance) in std::__cxx11::basic_ostringstream<char> +std::__cxx11::basic_ostringstream<char>::_ZTCNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE0_So: 10 entries +0 112 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551504 +48 (int (*)(...))-112 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::__cxx11::basic_ostringstream<char> +std::__cxx11::basic_ostringstream<char>::_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE: 4 entries +0 ((& std::__cxx11::basic_ostringstream<char>::_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE) + 24) +8 ((& std::__cxx11::basic_ostringstream<char>::_ZTCNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE0_So) + 24) +16 ((& std::__cxx11::basic_ostringstream<char>::_ZTCNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE0_So) + 64) +24 ((& std::__cxx11::basic_ostringstream<char>::_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE) + 64) + +Construction vtable for std::basic_iostream<char> (0x0x7b9f430f55b0 instance) in std::__cxx11::basic_stringstream<char> +std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Sd: 15 entries +0 128 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISd) +24 0 +32 0 +40 112 +48 (int (*)(...))-16 +56 (int (*)(...))(& _ZTISd) +64 0 +72 0 +80 18446744073709551488 +88 (int (*)(...))-128 +96 (int (*)(...))(& _ZTISd) +104 0 +112 0 + +Construction vtable for std::basic_istream<char> (0x0x7b9f430acf08 instance) in std::__cxx11::basic_stringstream<char> +std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Si: 10 entries +0 128 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551488 +48 (int (*)(...))-128 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream<char> (0x0x7b9f430acbc8 instance) in std::__cxx11::basic_stringstream<char> +std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE16_So: 10 entries +0 112 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551504 +48 (int (*)(...))-112 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::__cxx11::basic_stringstream<char> +std::__cxx11::basic_stringstream<char>::_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE: 10 entries +0 ((& std::__cxx11::basic_stringstream<char>::_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE) + 24) +8 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Sd) + 24) +16 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Si) + 24) +24 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Si) + 64) +32 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE16_So) + 24) +40 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE16_So) + 64) +48 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Sd) + 104) +56 ((& std::__cxx11::basic_stringstream<char>::_ZTCNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE0_Sd) + 64) +64 ((& std::__cxx11::basic_stringstream<char>::_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE) + 104) +72 ((& std::__cxx11::basic_stringstream<char>::_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE) + 64) + +Construction vtable for std::basic_istream<wchar_t> (0x0x7b9f42d650d0 instance) in std::__cxx11::basic_istringstream<wchar_t> +std::__cxx11::basic_istringstream<wchar_t>::_ZTCNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E: 10 entries +0 120 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551496 +48 (int (*)(...))-120 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::__cxx11::basic_istringstream<wchar_t> +std::__cxx11::basic_istringstream<wchar_t>::_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE: 4 entries +0 ((& std::__cxx11::basic_istringstream<wchar_t>::_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE) + 24) +8 ((& std::__cxx11::basic_istringstream<wchar_t>::_ZTCNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E) + 24) +16 ((& std::__cxx11::basic_istringstream<wchar_t>::_ZTCNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E) + 64) +24 ((& std::__cxx11::basic_istringstream<wchar_t>::_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE) + 64) + +Construction vtable for std::basic_ostream<wchar_t> (0x0x7b9f42d652d8 instance) in std::__cxx11::basic_ostringstream<wchar_t> +std::__cxx11::basic_ostringstream<wchar_t>::_ZTCNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_ostreamIwS2_E: 10 entries +0 112 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551504 +48 (int (*)(...))-112 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::__cxx11::basic_ostringstream<wchar_t> +std::__cxx11::basic_ostringstream<wchar_t>::_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE: 4 entries +0 ((& std::__cxx11::basic_ostringstream<wchar_t>::_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE) + 24) +8 ((& std::__cxx11::basic_ostringstream<wchar_t>::_ZTCNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_ostreamIwS2_E) + 24) +16 ((& std::__cxx11::basic_ostringstream<wchar_t>::_ZTCNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_ostreamIwS2_E) + 64) +24 ((& std::__cxx11::basic_ostringstream<wchar_t>::_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE) + 64) + +Construction vtable for std::basic_iostream<wchar_t> (0x0x7b9f430f59a0 instance) in std::__cxx11::basic_stringstream<wchar_t> +std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St14basic_iostreamIwS2_E: 15 entries +0 128 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 112 +48 (int (*)(...))-16 +56 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE) +64 0 +72 0 +80 18446744073709551488 +88 (int (*)(...))-128 +96 (int (*)(...))(& _ZTISt14basic_iostreamIwSt11char_traitsIwEE) +104 0 +112 0 + +Construction vtable for std::basic_istream<wchar_t> (0x0x7b9f42d654e0 instance) in std::__cxx11::basic_stringstream<wchar_t> +std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E: 10 entries +0 128 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551488 +48 (int (*)(...))-128 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream<wchar_t> (0x0x7b9f42d655b0 instance) in std::__cxx11::basic_stringstream<wchar_t> +std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE16_St13basic_ostreamIwS2_E: 10 entries +0 112 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551504 +48 (int (*)(...))-112 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::__cxx11::basic_stringstream<wchar_t> +std::__cxx11::basic_stringstream<wchar_t>::_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE: 10 entries +0 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE) + 24) +8 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St14basic_iostreamIwS2_E) + 24) +16 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E) + 24) +24 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St13basic_istreamIwS2_E) + 64) +32 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE16_St13basic_ostreamIwS2_E) + 24) +40 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE16_St13basic_ostreamIwS2_E) + 64) +48 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St14basic_iostreamIwS2_E) + 104) +56 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTCNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE0_St14basic_iostreamIwS2_E) + 64) +64 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE) + 104) +72 ((& std::__cxx11::basic_stringstream<wchar_t>::_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE) + 64) + +Class std::_Resetiosflags + size=4 align=4 + base size=4 base align=4 +std::_Resetiosflags (0x0x7b9f430f8f60) 0 + +Class std::_Setiosflags + size=4 align=4 + base size=4 base align=4 +std::_Setiosflags (0x0x7b9f42da3120) 0 + +Class std::_Setbase + size=4 align=4 + base size=4 base align=4 +std::_Setbase (0x0x7b9f42da32a0) 0 + +Class std::_Setprecision + size=4 align=4 + base size=4 base align=4 +std::_Setprecision (0x0x7b9f42da35a0) 0 + +Class std::_Setw + size=4 align=4 + base size=4 base align=4 +std::_Setw (0x0x7b9f42da3720) 0 + +Class std::filesystem::__cxx11::path::_List::_Impl_deleter + size=1 align=1 + base size=0 base align=1 +std::filesystem::__cxx11::path::_List::_Impl_deleter (0x0x7b9f42e65d80) 0 empty + +Class std::filesystem::__cxx11::path::_List + size=8 align=8 + base size=8 base align=8 +std::filesystem::__cxx11::path::_List (0x0x7b9f42e65d20) 0 + +Class std::filesystem::__cxx11::path + size=40 align=8 + base size=40 base align=8 +std::filesystem::__cxx11::path (0x0x7b9f42e65cc0) 0 + +Vtable for std::filesystem::__cxx11::filesystem_error +std::filesystem::__cxx11::filesystem_error::_ZTVNSt10filesystem7__cxx1116filesystem_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt10filesystem7__cxx1116filesystem_errorE) +16 (int (*)(...))std::filesystem::__cxx11::filesystem_error::~filesystem_error +24 (int (*)(...))std::filesystem::__cxx11::filesystem_error::~filesystem_error +32 (int (*)(...))std::filesystem::__cxx11::filesystem_error::what + +Class std::filesystem::__cxx11::filesystem_error + size=48 align=8 + base size=48 base align=8 +std::filesystem::__cxx11::filesystem_error (0x0x7b9f42c7f9c0) 0 + vptr=((& std::filesystem::__cxx11::filesystem_error::_ZTVNSt10filesystem7__cxx1116filesystem_errorE) + 16) +std::system_error (0x0x7b9f42c7fa28) 0 + primary-for std::filesystem::__cxx11::filesystem_error (0x0x7b9f42c7f9c0) +std::runtime_error (0x0x7b9f42c7fa90) 0 + primary-for std::system_error (0x0x7b9f42c7fa28) +std::exception (0x0x7b9f42c9f960) 0 nearly-empty + primary-for std::runtime_error (0x0x7b9f42c7fa90) + +Class std::filesystem::__cxx11::path::_Cmpt + size=48 align=8 + base size=48 base align=8 +std::filesystem::__cxx11::path::_Cmpt (0x0x7b9f42c7fd68) 0 +std::filesystem::__cxx11::path (0x0x7b9f42c9fea0) 0 + +Class std::filesystem::__cxx11::path::iterator + size=24 align=8 + base size=17 base align=8 +std::filesystem::__cxx11::path::iterator (0x0x7b9f4291c1e0) 0 + +Class std::filesystem::file_status + size=8 align=4 + base size=8 base align=4 +std::filesystem::file_status (0x0x7b9f429f33c0) 0 + +Class std::filesystem::__cxx11::directory_entry + size=48 align=8 + base size=41 base align=8 +std::filesystem::__cxx11::directory_entry (0x0x7b9f429f38a0) 0 + +Class std::filesystem::__cxx11::__directory_iterator_proxy + size=48 align=8 + base size=48 base align=8 +std::filesystem::__cxx11::__directory_iterator_proxy (0x0x7b9f42a39f60) 0 + +Class std::filesystem::__cxx11::directory_iterator + size=16 align=8 + base size=16 base align=8 +std::filesystem::__cxx11::directory_iterator (0x0x7b9f42a71720) 0 + +Class std::filesystem::__cxx11::recursive_directory_iterator + size=16 align=8 + base size=16 base align=8 +std::filesystem::__cxx11::recursive_directory_iterator (0x0x7b9f42ada120) 0 + +Class QFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFile::QPrivateSignal (0x0x7b9f4275bd20) 0 empty + +Vtable for QFile +QFile::_ZTV5QFile: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QFile) +16 (int (*)(...))QFile::metaObject +24 (int (*)(...))QFile::qt_metacast +32 (int (*)(...))QFile::qt_metacall +40 (int (*)(...))QFile::~QFile +48 (int (*)(...))QFile::~QFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QFileDevice::writeData +248 (int (*)(...))QFile::fileName +256 (int (*)(...))QFile::resize +264 (int (*)(...))QFile::permissions +272 (int (*)(...))QFile::setPermissions + +Class QFile + size=16 align=8 + base size=16 base align=8 +QFile (0x0x7b9f429cd208) 0 + vptr=((& QFile::_ZTV5QFile) + 16) +QFileDevice (0x0x7b9f42789000) 0 + primary-for QFile (0x0x7b9f429cd208) +QIODevice (0x0x7b9f4274be00) 0 + primary-for QFileDevice (0x0x7b9f42789000) +QObject (0x0x7b9f4275bc60) 0 + primary-for QIODevice (0x0x7b9f4274be00) +QIODeviceBase (0x0x7b9f4275bcc0) 0 empty + +Class QTimeZone::ShortData + size=8 align=8 + base size=8 base align=8 +QTimeZone::ShortData (0x0x7b9f427b46c0) 0 + +Class QTimeZone::Data + size=8 align=8 + base size=8 base align=8 +QTimeZone::Data (0x0x7b9f427b4720) 0 + +Class QTimeZone::OffsetData + size=48 align=8 + base size=44 base align=8 +QTimeZone::OffsetData (0x0x7b9f427b4780) 0 + +Class QTimeZone + size=8 align=8 + base size=8 base align=8 +QTimeZone (0x0x7b9f427b4660) 0 + +Class QFileInfo + size=8 align=8 + base size=8 base align=8 +QFileInfo (0x0x7b9f4a261180) 0 + +Class QDir + size=8 align=8 + base size=8 base align=8 +QDir (0x0x7b9f483301e0) 0 + +Class QDirIterator + size=8 align=8 + base size=8 base align=8 +QDirIterator (0x0x7b9f46109e40) 0 + +Class QEasingCurve + size=8 align=8 + base size=8 base align=8 +QEasingCurve (0x0x7b9f452e1360) 0 + +Vtable for QException +QException::_ZTV10QException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QException) +16 (int (*)(...))QException::~QException +24 (int (*)(...))QException::~QException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QException::raise +48 (int (*)(...))QException::clone + +Class QException + size=8 align=8 + base size=8 base align=8 +QException (0x0x7b9f4aea6b60) 0 nearly-empty + vptr=((& QException::_ZTV10QException) + 16) +std::exception (0x0x7b9f4491f420) 0 nearly-empty + primary-for QException (0x0x7b9f4aea6b60) + +Vtable for QUnhandledException +QUnhandledException::_ZTV19QUnhandledException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QUnhandledException) +16 (int (*)(...))QUnhandledException::~QUnhandledException +24 (int (*)(...))QUnhandledException::~QUnhandledException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QUnhandledException::raise +48 (int (*)(...))QUnhandledException::clone + +Class QUnhandledException + size=16 align=8 + base size=16 base align=8 +QUnhandledException (0x0x7b9f4aea6bc8) 0 + vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16) +QException (0x0x7b9f4aea6c30) 0 nearly-empty + primary-for QUnhandledException (0x0x7b9f4aea6bc8) +std::exception (0x0x7b9f4491f480) 0 nearly-empty + primary-for QException (0x0x7b9f4aea6c30) + +Class QtPrivate::ExceptionStore + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionStore (0x0x7b9f44945180) 0 + +Vtable for QFactoryInterface +QFactoryInterface::_ZTV17QFactoryInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFactoryInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QFactoryInterface + size=8 align=8 + base size=8 base align=8 +QFactoryInterface (0x0x7b9f4461b0c0) 0 nearly-empty + vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16) + +Class QFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSelector::QPrivateSignal (0x0x7b9f4469b1e0) 0 empty + +Vtable for QFileSelector +QFileSelector::_ZTV13QFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFileSelector) +16 (int (*)(...))QFileSelector::metaObject +24 (int (*)(...))QFileSelector::qt_metacast +32 (int (*)(...))QFileSelector::qt_metacall +40 (int (*)(...))QFileSelector::~QFileSelector +48 (int (*)(...))QFileSelector::~QFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSelector + size=16 align=8 + base size=16 base align=8 +QFileSelector (0x0x7b9f4aea6dd0) 0 + vptr=((& QFileSelector::_ZTV13QFileSelector) + 16) +QObject (0x0x7b9f4469b180) 0 + primary-for QFileSelector (0x0x7b9f4aea6dd0) + +Class QFileSystemWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemWatcher::QPrivateSignal (0x0x7b9f4474c720) 0 empty + +Vtable for QFileSystemWatcher +QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFileSystemWatcher) +16 (int (*)(...))QFileSystemWatcher::metaObject +24 (int (*)(...))QFileSystemWatcher::qt_metacast +32 (int (*)(...))QFileSystemWatcher::qt_metacall +40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSystemWatcher + size=16 align=8 + base size=16 base align=8 +QFileSystemWatcher (0x0x7b9f4aea6ea0) 0 + vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16) +QObject (0x0x7b9f4469bcc0) 0 + primary-for QFileSystemWatcher (0x0x7b9f4aea6ea0) + +Class QtPrivate::ResultItem + size=16 align=8 + base size=16 base align=8 +QtPrivate::ResultItem (0x0x7b9f4474cf00) 0 + +Class QtPrivate::ResultIteratorBase + size=16 align=8 + base size=12 base align=8 +QtPrivate::ResultIteratorBase (0x0x7b9f442c0720) 0 + +Vtable for QtPrivate::ResultStoreBase +QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE) +16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase +24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase + +Class QtPrivate::ResultStoreBase + size=48 align=8 + base size=44 base align=8 +QtPrivate::ResultStoreBase (0x0x7b9f43d73b40) 0 + vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16) + +Vtable for QFutureInterfaceBase +QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QFutureInterfaceBase) +16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase +24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase + +Class QFutureInterfaceBase + size=16 align=8 + base size=16 base align=8 +QFutureInterfaceBase (0x0x7b9f42e23900) 0 + vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16) + +Class std::__recursive_mutex_base + size=40 align=8 + base size=40 base align=8 +std::__recursive_mutex_base (0x0x7b9f46f43d80) 0 + +Class std::recursive_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_mutex (0x0x7b9f4af65d68) 0 +std::__recursive_mutex_base (0x0x7b9f46f43de0) 0 + +Class std::timed_mutex + size=40 align=8 + base size=40 base align=8 +std::timed_mutex (0x0x7b9f47e0a930) 0 +std::__mutex_base (0x0x7b9f42ba42a0) 0 +std::__timed_mutex_impl<std::timed_mutex> (0x0x7b9f42ba4300) 0 empty + +Class std::recursive_timed_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_timed_mutex (0x0x7b9f47bd6c40) 0 +std::__recursive_mutex_base (0x0x7b9f42ba46c0) 0 +std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7b9f42ba4720) 0 empty + +Class std::once_flag + size=4 align=4 + base size=4 base align=4 +std::once_flag (0x0x7b9f42e484e0) 0 + +Class std::once_flag::_Prepare_execution + size=1 align=1 + base size=0 base align=1 +std::once_flag::_Prepare_execution (0x0x7b9f42e48540) 0 empty + +Class std::condition_variable + size=48 align=8 + base size=48 base align=8 +std::condition_variable (0x0x7b9f42e48a20) 0 + +Class std::__at_thread_exit_elt + size=16 align=8 + base size=16 base align=8 +std::__at_thread_exit_elt (0x0x7b9f42e48ea0) 0 + +Class std::_V2::condition_variable_any + size=64 align=8 + base size=64 base align=8 +std::_V2::condition_variable_any (0x0x7b9f42e48f00) 0 + +Class std::__atomic_futex_unsigned_base + size=1 align=1 + base size=0 base align=1 +std::__atomic_futex_unsigned_base (0x0x7b9f43b8be40) 0 empty + +Vtable for std::thread::_State +std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6thread6_StateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class std::thread::_State + size=8 align=8 + base size=8 base align=8 +std::thread::_State (0x0x7b9f47d3a6c0) 0 nearly-empty + vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16) + +Class std::thread::id + size=8 align=8 + base size=8 base align=8 +std::thread::id (0x0x7b9f47d3a720) 0 + +Class std::thread + size=8 align=8 + base size=8 base align=8 +std::thread (0x0x7b9f47d3a660) 0 + +Vtable for std::future_error +std::future_error::_ZTVSt12future_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12future_error) +16 (int (*)(...))std::future_error::~future_error +24 (int (*)(...))std::future_error::~future_error +32 (int (*)(...))std::future_error::what + +Class std::future_error + size=32 align=8 + base size=32 base align=8 +std::future_error (0x0x7b9f4af79e38) 0 + vptr=((& std::future_error::_ZTVSt12future_error) + 16) +std::logic_error (0x0x7b9f4af79ea0) 0 + primary-for std::future_error (0x0x7b9f4af79e38) +std::exception (0x0x7b9f4f8abc00) 0 nearly-empty + primary-for std::logic_error (0x0x7b9f4af79ea0) + +Class std::__future_base::_Result_base::_Deleter + size=1 align=1 + base size=0 base align=1 +std::__future_base::_Result_base::_Deleter (0x0x7b9f4c188360) 0 empty + +Vtable for std::__future_base::_Result_base +std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class std::__future_base::_Result_base + size=16 align=8 + base size=16 base align=8 +std::__future_base::_Result_base (0x0x7b9f4c188300) 0 + vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16) + +Class std::__future_base::_State_baseV2::__exception_ptr_tag + size=1 align=1 + base size=0 base align=1 +std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7b9f49983c60) 0 empty + +Class std::__future_base::_State_baseV2::_Make_ready + size=32 align=8 + base size=32 base align=8 +std::__future_base::_State_baseV2::_Make_ready (0x0x7b9f4afdd478) 0 +std::__at_thread_exit_elt (0x0x7b9f49983d20) 0 + +Vtable for std::__future_base::_State_baseV2 +std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E) +16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_State_baseV2 + size=32 align=8 + base size=28 base align=8 +std::__future_base::_State_baseV2 (0x0x7b9f4c1884e0) 0 + vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16) + +Class std::__future_base + size=1 align=1 + base size=0 base align=1 +std::__future_base (0x0x7b9f4c1882a0) 0 empty + +Vtable for std::__future_base::_Async_state_commonV2 +std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E) +16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_Async_state_commonV2 + size=48 align=8 + base size=44 base align=8 +std::__future_base::_Async_state_commonV2 (0x0x7b9f4ac08d68) 0 + vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16) +std::__future_base::_State_baseV2 (0x0x7b9f45c33780) 0 + primary-for std::__future_base::_Async_state_commonV2 (0x0x7b9f4ac08d68) + +Class QThread::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThread::QPrivateSignal (0x0x7b9f45c33e40) 0 empty + +Vtable for QThread +QThread::_ZTV7QThread: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QThread) +16 (int (*)(...))QThread::metaObject +24 (int (*)(...))QThread::qt_metacast +32 (int (*)(...))QThread::qt_metacall +40 (int (*)(...))QThread::~QThread +48 (int (*)(...))QThread::~QThread +56 (int (*)(...))QThread::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QThread::run + +Class QThread + size=16 align=8 + base size=16 base align=8 +QThread (0x0x7b9f4ac09068) 0 + vptr=((& QThread::_ZTV7QThread) + 16) +QObject (0x0x7b9f45c33de0) 0 + primary-for QThread (0x0x7b9f4ac09068) + +Vtable for QRunnable +QRunnable::_ZTV9QRunnable: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QRunnable) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class QRunnable + size=16 align=8 + base size=9 base align=8 +QRunnable (0x0x7b9f4564f1e0) 0 + vptr=((& QRunnable::_ZTV9QRunnable) + 16) + +Class QRunnable::QGenericRunnable::HelperBase + size=8 align=8 + base size=8 base align=8 +QRunnable::QGenericRunnable::HelperBase (0x0x7b9f4564f360) 0 + +Vtable for QRunnable::QGenericRunnable +QRunnable::QGenericRunnable::_ZTVN9QRunnable16QGenericRunnableE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QRunnable16QGenericRunnableE) +16 (int (*)(...))QRunnable::QGenericRunnable::run +24 (int (*)(...))QRunnable::QGenericRunnable::~QGenericRunnable +32 (int (*)(...))QRunnable::QGenericRunnable::~QGenericRunnable + +Class QRunnable::QGenericRunnable + size=24 align=8 + base size=24 base align=8 +QRunnable::QGenericRunnable (0x0x7b9f4ac09138) 0 + vptr=((& QRunnable::QGenericRunnable::_ZTVN9QRunnable16QGenericRunnableE) + 16) +QRunnable (0x0x7b9f4564f300) 0 + primary-for QRunnable::QGenericRunnable (0x0x7b9f4ac09138) + +Class QThreadPool::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThreadPool::QPrivateSignal (0x0x7b9f4564fb40) 0 empty + +Vtable for QThreadPool +QThreadPool::_ZTV11QThreadPool: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QThreadPool) +16 (int (*)(...))QThreadPool::metaObject +24 (int (*)(...))QThreadPool::qt_metacast +32 (int (*)(...))QThreadPool::qt_metacall +40 (int (*)(...))QThreadPool::~QThreadPool +48 (int (*)(...))QThreadPool::~QThreadPool +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QThreadPool + size=16 align=8 + base size=16 base align=8 +QThreadPool (0x0x7b9f4ac09270) 0 + vptr=((& QThreadPool::_ZTV11QThreadPool) + 16) +QObject (0x0x7b9f4564fae0) 0 + primary-for QThreadPool (0x0x7b9f4ac09270) + +Class QtPrivate::UnwrapHandler + size=1 align=1 + base size=0 base align=1 +QtPrivate::UnwrapHandler (0x0x7b9f44ffb780) 0 empty + +Class QFutureWatcherBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFutureWatcherBase::QPrivateSignal (0x0x7b9f440b85a0) 0 empty + +Vtable for QFutureWatcherBase +QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFutureWatcherBase) +16 (int (*)(...))QFutureWatcherBase::metaObject +24 (int (*)(...))QFutureWatcherBase::qt_metacast +32 (int (*)(...))QFutureWatcherBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QFutureWatcherBase::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QFutureWatcherBase::connectNotify +104 (int (*)(...))QFutureWatcherBase::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QFutureWatcherBase + size=16 align=8 + base size=16 base align=8 +QFutureWatcherBase (0x0x7b9f4ac0da28) 0 + vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16) +QObject (0x0x7b9f440b8540) 0 + primary-for QFutureWatcherBase (0x0x7b9f4ac0da28) + +Class QIdentityProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIdentityProxyModel::QPrivateSignal (0x0x7b9f440b8ae0) 0 empty + +Vtable for QIdentityProxyModel +QIdentityProxyModel::_ZTV19QIdentityProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QIdentityProxyModel) +16 (int (*)(...))QIdentityProxyModel::metaObject +24 (int (*)(...))QIdentityProxyModel::qt_metacast +32 (int (*)(...))QIdentityProxyModel::qt_metacall +40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIdentityProxyModel::index +120 (int (*)(...))QIdentityProxyModel::parent +128 (int (*)(...))QIdentityProxyModel::sibling +136 (int (*)(...))QIdentityProxyModel::rowCount +144 (int (*)(...))QIdentityProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QIdentityProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::clearItemData +216 (int (*)(...))QAbstractProxyModel::mimeTypes +224 (int (*)(...))QAbstractProxyModel::mimeData +232 (int (*)(...))QAbstractProxyModel::canDropMimeData +240 (int (*)(...))QIdentityProxyModel::dropMimeData +248 (int (*)(...))QAbstractProxyModel::supportedDropActions +256 (int (*)(...))QAbstractProxyModel::supportedDragActions +264 (int (*)(...))QIdentityProxyModel::insertRows +272 (int (*)(...))QIdentityProxyModel::insertColumns +280 (int (*)(...))QIdentityProxyModel::removeRows +288 (int (*)(...))QIdentityProxyModel::removeColumns +296 (int (*)(...))QIdentityProxyModel::moveRows +304 (int (*)(...))QIdentityProxyModel::moveColumns +312 (int (*)(...))QAbstractProxyModel::fetchMore +320 (int (*)(...))QAbstractProxyModel::canFetchMore +328 (int (*)(...))QAbstractProxyModel::flags +336 (int (*)(...))QAbstractProxyModel::sort +344 (int (*)(...))QAbstractProxyModel::buddy +352 (int (*)(...))QIdentityProxyModel::match +360 (int (*)(...))QAbstractProxyModel::span +368 (int (*)(...))QAbstractProxyModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractProxyModel::submit +392 (int (*)(...))QAbstractProxyModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QIdentityProxyModel::setSourceModel +416 (int (*)(...))QIdentityProxyModel::mapToSource +424 (int (*)(...))QIdentityProxyModel::mapFromSource +432 (int (*)(...))QIdentityProxyModel::mapSelectionToSource +440 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource + +Class QIdentityProxyModel + size=16 align=8 + base size=16 base align=8 +QIdentityProxyModel (0x0x7b9f4ac0db60) 0 + vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16) +QAbstractProxyModel (0x0x7b9f4ac0dbc8) 0 + primary-for QIdentityProxyModel (0x0x7b9f4ac0db60) +QAbstractItemModel (0x0x7b9f4ac0dc30) 0 + primary-for QAbstractProxyModel (0x0x7b9f4ac0dbc8) +QObject (0x0x7b9f440b8a80) 0 + primary-for QAbstractItemModel (0x0x7b9f4ac0dc30) + +Class QItemSelectionRange + size=16 align=8 + base size=16 base align=8 +QItemSelectionRange (0x0x7b9f440b8c60) 0 + +Class QItemSelectionModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemSelectionModel::QPrivateSignal (0x0x7b9f43ece240) 0 empty + +Vtable for QItemSelectionModel +QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QItemSelectionModel) +16 (int (*)(...))QItemSelectionModel::metaObject +24 (int (*)(...))QItemSelectionModel::qt_metacast +32 (int (*)(...))QItemSelectionModel::qt_metacall +40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemSelectionModel::setCurrentIndex +120 (int (*)(...))QItemSelectionModel::select +128 (int (*)(...))QItemSelectionModel::select +136 (int (*)(...))QItemSelectionModel::clear +144 (int (*)(...))QItemSelectionModel::reset +152 (int (*)(...))QItemSelectionModel::clearCurrentIndex + +Class QItemSelectionModel + size=16 align=8 + base size=16 base align=8 +QItemSelectionModel (0x0x7b9f4ac15c98) 0 + vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16) +QObject (0x0x7b9f43ece1e0) 0 + primary-for QItemSelectionModel (0x0x7b9f4ac15c98) + +Class QItemSelection + size=24 align=8 + base size=24 base align=8 +QItemSelection (0x0x7b9f4ac18068) 0 +QList<QItemSelectionRange> (0x0x7b9f4ac180d0) 0 +QListSpecialMethods<QItemSelectionRange> (0x0x7b9f4ac18138) 0 empty +QListSpecialMethodsBase<QItemSelectionRange> (0x0x7b9f43eced20) 0 empty + +Class QJsonValue + size=24 align=8 + base size=24 base align=8 +QJsonValue (0x0x7b9f42eac2a0) 0 + +Class QJsonValueConstRef + size=16 align=8 + base size=16 base align=8 +QJsonValueConstRef (0x0x7b9f42943540) 0 + +Class QJsonValueRef + size=16 align=8 + base size=16 base align=8 +QJsonValueRef (0x0x7b9f4ac73f08) 0 +QJsonValueConstRef (0x0x7b9f427de120) 0 + +Class QJsonArray::iterator + size=16 align=8 + base size=16 base align=8 +QJsonArray::iterator (0x0x7b9f427deea0) 0 + +Class QJsonArray::const_iterator + size=16 align=8 + base size=16 base align=8 +QJsonArray::const_iterator (0x0x7b9f427def00) 0 + +Class QJsonArray + size=8 align=8 + base size=8 base align=8 +QJsonArray (0x0x7b9f427dee40) 0 + +Class QJsonParseError + size=8 align=4 + base size=8 base align=4 +QJsonParseError (0x0x7b9f47bc5f00) 0 + +Class QJsonDocument + size=8 align=8 + base size=8 base align=8 +QJsonDocument (0x0x7b9f47bc5f60) 0 + +Class QJsonObject::iterator + size=16 align=8 + base size=16 base align=8 +QJsonObject::iterator (0x0x7b9f45de3300) 0 + +Class QJsonObject::const_iterator + size=16 align=8 + base size=16 base align=8 +QJsonObject::const_iterator (0x0x7b9f45de3360) 0 + +Class QJsonObject + size=8 align=8 + base size=8 base align=8 +QJsonObject (0x0x7b9f45de32a0) 0 + +Class QtPrivate::QCaseSensitiveLatin1Hash + size=1 align=1 + base size=0 base align=1 +QtPrivate::QCaseSensitiveLatin1Hash (0x0x7b9f44814780) 0 empty + +Class QtPrivate::QCaseInsensitiveLatin1Hash + size=1 align=1 + base size=0 base align=1 +QtPrivate::QCaseInsensitiveLatin1Hash (0x0x7b9f44814840) 0 empty + +Class QLatin1StringMatcher + size=544 align=16 + base size=544 base align=16 +QLatin1StringMatcher (0x0x7b9f44814ae0) 0 + +Class QLibrary::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLibrary::QPrivateSignal (0x0x7b9f44814cc0) 0 empty + +Vtable for QLibrary +QLibrary::_ZTV8QLibrary: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QLibrary) +16 (int (*)(...))QLibrary::metaObject +24 (int (*)(...))QLibrary::qt_metacast +32 (int (*)(...))QLibrary::qt_metacall +40 (int (*)(...))QLibrary::~QLibrary +48 (int (*)(...))QLibrary::~QLibrary +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QLibrary + size=24 align=8 + base size=24 base align=8 +QLibrary (0x0x7b9f4ad2b270) 0 + vptr=((& QLibrary::_ZTV8QLibrary) + 16) +QObject (0x0x7b9f44814c60) 0 + primary-for QLibrary (0x0x7b9f4ad2b270) + +Class QTypeRevision + size=2 align=1 + base size=2 base align=1 +QTypeRevision (0x0x7b9f4251d420) 0 + +Class QVersionNumber::SegmentStorage + size=8 align=8 + base size=8 base align=8 +QVersionNumber::SegmentStorage (0x0x7b9f4254b2a0) 0 + +Class QVersionNumber + size=8 align=8 + base size=8 base align=8 +QVersionNumber (0x0x7b9f4254b240) 0 + +Class QLibraryInfo + size=1 align=1 + base size=0 base align=1 +QLibraryInfo (0x0x7b9f42581420) 0 empty + +Class QPoint + size=8 align=4 + base size=8 base align=4 +QPoint (0x0x7b9f425814e0) 0 + +Class QPointF + size=16 align=8 + base size=16 base align=8 +QPointF (0x0x7b9f425a20c0) 0 + +Class QLine + size=16 align=4 + base size=16 base align=4 +QLine (0x0x7b9f425bd060) 0 + +Class QLineF + size=32 align=8 + base size=32 base align=8 +QLineF (0x0x7b9f425ccb40) 0 + +Class QLockFile + size=8 align=8 + base size=8 base align=8 +QLockFile (0x0x7b9f425ee8a0) 0 + +Class QLoggingCategory::AtomicBools + size=4 align=1 + base size=4 base align=1 +QLoggingCategory::AtomicBools (0x0x7b9f425eeae0) 0 + +Class QLoggingCategory + size=24 align=8 + base size=24 base align=8 +QLoggingCategory (0x0x7b9f425eea80) 0 + +Class QMargins + size=16 align=4 + base size=16 base align=4 +QMargins (0x0x7b9f42619180) 0 + +Class QMarginsF + size=32 align=8 + base size=32 base align=8 +QMarginsF (0x0x7b9f42639060) 0 + +Class QMessageAuthenticationCode + size=8 align=8 + base size=8 base align=8 +QMessageAuthenticationCode (0x0x7b9f426636c0) 0 + +Class QMetaMethod::Data + size=8 align=8 + base size=8 base align=8 +QMetaMethod::Data (0x0x7b9f42663a20) 0 + +Class QMetaMethod + size=16 align=8 + base size=16 base align=8 +QMetaMethod (0x0x7b9f426639c0) 0 + +Class QMetaEnum::Data + size=8 align=8 + base size=8 base align=8 +QMetaEnum::Data (0x0x7b9f4269a420) 0 + +Class QMetaEnum + size=16 align=8 + base size=16 base align=8 +QMetaEnum (0x0x7b9f4269a3c0) 0 + +Class QMetaProperty::Data + size=8 align=8 + base size=8 base align=8 +QMetaProperty::Data (0x0x7b9f426b5720) 0 + +Class QMetaProperty + size=32 align=8 + base size=32 base align=8 +QMetaProperty (0x0x7b9f426b56c0) 0 + +Class QMetaClassInfo::Data + size=8 align=8 + base size=8 base align=8 +QMetaClassInfo::Data (0x0x7b9f426b5de0) 0 + +Class QMetaClassInfo + size=16 align=8 + base size=16 base align=8 +QMetaClassInfo (0x0x7b9f426b5d80) 0 + +Class QMimeData::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMimeData::QPrivateSignal (0x0x7b9f426e2420) 0 empty + +Vtable for QMimeData +QMimeData::_ZTV9QMimeData: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QMimeData) +16 (int (*)(...))QMimeData::metaObject +24 (int (*)(...))QMimeData::qt_metacast +32 (int (*)(...))QMimeData::qt_metacall +40 (int (*)(...))QMimeData::~QMimeData +48 (int (*)(...))QMimeData::~QMimeData +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMimeData::hasFormat +120 (int (*)(...))QMimeData::formats +128 (int (*)(...))QMimeData::retrieveData + +Class QMimeData + size=16 align=8 + base size=16 base align=8 +QMimeData (0x0x7b9f446284e0) 0 + vptr=((& QMimeData::_ZTV9QMimeData) + 16) +QObject (0x0x7b9f426e23c0) 0 + primary-for QMimeData (0x0x7b9f446284e0) + +Class QMimeType + size=8 align=8 + base size=8 base align=8 +QMimeType (0x0x7b9f426e25a0) 0 + +Class QMimeDatabase + size=8 align=8 + base size=8 base align=8 +QMimeDatabase (0x0x7b9f42710540) 0 + +Class QObjectCleanupHandler::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObjectCleanupHandler::QPrivateSignal (0x0x7b9f42710600) 0 empty + +Vtable for QObjectCleanupHandler +QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QObjectCleanupHandler) +16 (int (*)(...))QObjectCleanupHandler::metaObject +24 (int (*)(...))QObjectCleanupHandler::qt_metacast +32 (int (*)(...))QObjectCleanupHandler::qt_metacall +40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObjectCleanupHandler + size=40 align=8 + base size=40 base align=8 +QObjectCleanupHandler (0x0x7b9f43d260d0) 0 + vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16) +QObject (0x0x7b9f427105a0) 0 + primary-for QObjectCleanupHandler (0x0x7b9f43d260d0) + +Class QOperatingSystemVersionBase + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersionBase (0x0x7b9f427106c0) 0 + +Class QOperatingSystemVersionUnexported + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersionUnexported (0x0x7b9f43d26138) 0 +QOperatingSystemVersionBase (0x0x7b9f4232f000) 0 + +Class QOperatingSystemVersion + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersion (0x0x7b9f43d26dd0) 0 +QOperatingSystemVersionUnexported (0x0x7b9f43d26e38) 0 +QOperatingSystemVersionBase (0x0x7b9f4232f240) 0 + +Class QParallelAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QParallelAnimationGroup::QPrivateSignal (0x0x7b9f4234e3c0) 0 empty + +Vtable for QParallelAnimationGroup +QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QParallelAnimationGroup) +16 (int (*)(...))QParallelAnimationGroup::metaObject +24 (int (*)(...))QParallelAnimationGroup::qt_metacast +32 (int (*)(...))QParallelAnimationGroup::qt_metacall +40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +56 (int (*)(...))QParallelAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QParallelAnimationGroup::duration +120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime +128 (int (*)(...))QParallelAnimationGroup::updateState +136 (int (*)(...))QParallelAnimationGroup::updateDirection + +Class QParallelAnimationGroup + size=16 align=8 + base size=16 base align=8 +QParallelAnimationGroup (0x0x7b9f42fdca28) 0 + vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16) +QAnimationGroup (0x0x7b9f42fdca90) 0 + primary-for QParallelAnimationGroup (0x0x7b9f42fdca28) +QAbstractAnimation (0x0x7b9f42fdcaf8) 0 + primary-for QAnimationGroup (0x0x7b9f42fdca90) +QObject (0x0x7b9f4234e360) 0 + primary-for QAbstractAnimation (0x0x7b9f42fdcaf8) + +Class QPauseAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPauseAnimation::QPrivateSignal (0x0x7b9f4234e5a0) 0 empty + +Vtable for QPauseAnimation +QPauseAnimation::_ZTV15QPauseAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPauseAnimation) +16 (int (*)(...))QPauseAnimation::metaObject +24 (int (*)(...))QPauseAnimation::qt_metacast +32 (int (*)(...))QPauseAnimation::qt_metacall +40 (int (*)(...))QPauseAnimation::~QPauseAnimation +48 (int (*)(...))QPauseAnimation::~QPauseAnimation +56 (int (*)(...))QPauseAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPauseAnimation::duration +120 (int (*)(...))QPauseAnimation::updateCurrentTime +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QPauseAnimation + size=16 align=8 + base size=16 base align=8 +QPauseAnimation (0x0x7b9f42fdcb60) 0 + vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16) +QAbstractAnimation (0x0x7b9f42fdcc30) 0 + primary-for QPauseAnimation (0x0x7b9f42fdcb60) +QObject (0x0x7b9f4234e540) 0 + primary-for QAbstractAnimation (0x0x7b9f42fdcc30) + +Class QPermission + size=40 align=8 + base size=40 base align=8 +QPermission (0x0x7b9f4234e720) 0 + +Class QLocationPermission::ShortData + size=8 align=1 + base size=8 base align=1 +QLocationPermission::ShortData (0x0x7b9f4234e9c0) 0 + +Class QLocationPermission::U + size=8 align=8 + base size=8 base align=8 +QLocationPermission::U (0x0x7b9f4234ea20) 0 + +Class QLocationPermission + size=8 align=8 + base size=8 base align=8 +QLocationPermission (0x0x7b9f4234e960) 0 + +Class QCalendarPermission::ShortData + size=8 align=1 + base size=8 base align=1 +QCalendarPermission::ShortData (0x0x7b9f42397060) 0 + +Class QCalendarPermission::U + size=8 align=8 + base size=8 base align=8 +QCalendarPermission::U (0x0x7b9f423970c0) 0 + +Class QCalendarPermission + size=8 align=8 + base size=8 base align=8 +QCalendarPermission (0x0x7b9f42397000) 0 + +Class QContactsPermission::ShortData + size=8 align=1 + base size=8 base align=1 +QContactsPermission::ShortData (0x0x7b9f423c55a0) 0 + +Class QContactsPermission::U + size=8 align=8 + base size=8 base align=8 +QContactsPermission::U (0x0x7b9f423c5600) 0 + +Class QContactsPermission + size=8 align=8 + base size=8 base align=8 +QContactsPermission (0x0x7b9f423c5540) 0 + +Class QBluetoothPermission::ShortData + size=8 align=1 + base size=8 base align=1 +QBluetoothPermission::ShortData (0x0x7b9f423f7ae0) 0 + +Class QBluetoothPermission::U + size=8 align=8 + base size=8 base align=8 +QBluetoothPermission::U (0x0x7b9f423f7b40) 0 + +Class QBluetoothPermission + size=8 align=8 + base size=8 base align=8 +QBluetoothPermission (0x0x7b9f423f7a80) 0 + +Class QCameraPermission::ShortData + size=8 align=1 + base size=8 base align=1 +QCameraPermission::ShortData (0x0x7b9f42442420) 0 + +Class QCameraPermission::U + size=8 align=8 + base size=8 base align=8 +QCameraPermission::U (0x0x7b9f42442480) 0 + +Class QCameraPermission + size=8 align=8 + base size=8 base align=8 +QCameraPermission (0x0x7b9f424423c0) 0 + +Class QMicrophonePermission::ShortData + size=8 align=1 + base size=8 base align=1 +QMicrophonePermission::ShortData (0x0x7b9f42470d80) 0 + +Class QMicrophonePermission::U + size=8 align=8 + base size=8 base align=8 +QMicrophonePermission::U (0x0x7b9f42470de0) 0 + +Class QMicrophonePermission + size=8 align=8 + base size=8 base align=8 +QMicrophonePermission (0x0x7b9f42470d20) 0 + +Class QPluginMetaData::Header + size=4 align=1 + base size=4 base align=1 +QPluginMetaData::Header (0x0x7b9f424c9cc0) 0 + +Class QPluginMetaData::MagicHeader + size=16 align=1 + base size=16 base align=1 +QPluginMetaData::MagicHeader (0x0x7b9f424c9d20) 0 + +Class QPluginMetaData::ElfNoteHeader + size=32 align=8 + base size=28 base align=8 +QPluginMetaData::ElfNoteHeader (0x0x7b9f424c9d80) 0 + +Class QPluginMetaData + size=16 align=8 + base size=16 base align=8 +QPluginMetaData (0x0x7b9f424c9c60) 0 + +Class QStaticPlugin + size=24 align=8 + base size=24 base align=8 +QStaticPlugin (0x0x7b9f424e13c0) 0 + +Class QPluginLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPluginLoader::QPrivateSignal (0x0x7b9f4250a6c0) 0 empty + +Vtable for QPluginLoader +QPluginLoader::_ZTV13QPluginLoader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPluginLoader) +16 (int (*)(...))QPluginLoader::metaObject +24 (int (*)(...))QPluginLoader::qt_metacast +32 (int (*)(...))QPluginLoader::qt_metacall +40 (int (*)(...))QPluginLoader::~QPluginLoader +48 (int (*)(...))QPluginLoader::~QPluginLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPluginLoader + size=32 align=8 + base size=25 base align=8 +QPluginLoader (0x0x7b9f42509820) 0 + vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16) +QObject (0x0x7b9f4250a660) 0 + primary-for QPluginLoader (0x0x7b9f42509820) + +Class QProcessEnvironment + size=8 align=8 + base size=8 base align=8 +QProcessEnvironment (0x0x7b9f4250a780) 0 + +Class QProcess::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProcess::QPrivateSignal (0x0x7b9f42153660) 0 empty + +Class QProcess::UnixProcessParameters + size=32 align=4 + base size=32 base align=4 +QProcess::UnixProcessParameters (0x0x7b9f421536c0) 0 + +Class QProcess::Use_setChildProcessModifier_Instead + size=1 align=1 + base size=0 base align=1 +QProcess::Use_setChildProcessModifier_Instead (0x0x7b9f42153900) 0 empty + +Vtable for QProcess +QProcess::_ZTV8QProcess: 32 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QProcess) +16 (int (*)(...))QProcess::metaObject +24 (int (*)(...))QProcess::qt_metacast +32 (int (*)(...))QProcess::qt_metacall +40 (int (*)(...))QProcess::~QProcess +48 (int (*)(...))QProcess::~QProcess +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProcess::isSequential +120 (int (*)(...))QProcess::open +128 (int (*)(...))QProcess::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QProcess::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QProcess::waitForReadyRead +208 (int (*)(...))QProcess::waitForBytesWritten +216 (int (*)(...))QProcess::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QProcess::writeData +248 (int (*)(...))QProcess::setupChildProcess + +Class QProcess + size=16 align=8 + base size=16 base align=8 +QProcess (0x0x7b9f4215a4e0) 0 + vptr=((& QProcess::_ZTV8QProcess) + 16) +QIODevice (0x0x7b9f42113a80) 0 + primary-for QProcess (0x0x7b9f4215a4e0) +QObject (0x0x7b9f421535a0) 0 + primary-for QIODevice (0x0x7b9f42113a80) +QIODeviceBase (0x0x7b9f42153600) 0 empty + +Class QtPrivate::RefCounted + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCounted (0x0x7b9f421951e0) 0 + +Class QPropertyBindingPrivatePtr + size=8 align=8 + base size=8 base align=8 +QPropertyBindingPrivatePtr (0x0x7b9f42195300) 0 + +Class QUntypedPropertyData + size=1 align=1 + base size=0 base align=1 +QUntypedPropertyData (0x0x7b9f421b14e0) 0 empty + +Class QPropertyProxyBindingData + size=24 align=8 + base size=24 base align=8 +QPropertyProxyBindingData (0x0x7b9f421b1540) 0 + +Class QtPrivate::MSVCWorkAround + size=1 align=1 + base size=0 base align=1 +QtPrivate::MSVCWorkAround (0x0x7b9f421b15a0) 0 empty + +Class QtPrivate::BindingFunctionVTable + size=32 align=8 + base size=32 base align=8 +QtPrivate::BindingFunctionVTable (0x0x7b9f421b1600) 0 + +Class QtPrivate::QPropertyBindingFunction + size=16 align=8 + base size=16 base align=8 +QtPrivate::QPropertyBindingFunction (0x0x7b9f421b1b40) 0 + +Class QtPrivate::QPropertyBindingData + size=8 align=8 + base size=8 base align=8 +QtPrivate::QPropertyBindingData (0x0x7b9f421b1ba0) 0 + +Class std::experimental::fundamentals_v2::source_location + size=24 align=8 + base size=24 base align=8 +std::experimental::fundamentals_v2::source_location (0x0x7b9f421ca360) 0 + +Class QScopedPropertyUpdateGroup + size=1 align=1 + base size=0 base align=1 +QScopedPropertyUpdateGroup (0x0x7b9f421ca7e0) 0 empty + +Class QPropertyBindingSourceLocation + size=24 align=8 + base size=24 base align=8 +QPropertyBindingSourceLocation (0x0x7b9f421cade0) 0 + +Class QPropertyBindingError + size=8 align=8 + base size=8 base align=8 +QPropertyBindingError (0x0x7b9f421e5180) 0 + +Class QUntypedPropertyBinding + size=8 align=8 + base size=8 base align=8 +QUntypedPropertyBinding (0x0x7b9f421e52a0) 0 + +Class QPropertyObserverBase + size=24 align=8 + base size=24 base align=8 +QPropertyObserverBase (0x0x7b9f421e54e0) 0 + +Class QPropertyObserver + size=24 align=8 + base size=24 base align=8 +QPropertyObserver (0x0x7b9f4215a7b8) 0 +QPropertyObserverBase (0x0x7b9f421e5660) 0 + +Class QPropertyNotifier + size=56 align=8 + base size=56 base align=8 +QPropertyNotifier (0x0x7b9f4215a958) 0 +QPropertyObserver (0x0x7b9f4215a9c0) 0 +QPropertyObserverBase (0x0x7b9f421e5b40) 0 + +Class QtPrivate::QBindableInterface + size=56 align=8 + base size=56 base align=8 +QtPrivate::QBindableInterface (0x0x7b9f4223da20) 0 + +Class QUntypedBindable + size=16 align=8 + base size=16 base align=8 +QUntypedBindable (0x0x7b9f4224fea0) 0 + +Class QVariantAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVariantAnimation::QPrivateSignal (0x0x7b9f41f2eba0) 0 empty + +Vtable for QVariantAnimation +QVariantAnimation::_ZTV17QVariantAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QVariantAnimation) +16 (int (*)(...))QVariantAnimation::metaObject +24 (int (*)(...))QVariantAnimation::qt_metacast +32 (int (*)(...))QVariantAnimation::qt_metacall +40 (int (*)(...))QVariantAnimation::~QVariantAnimation +48 (int (*)(...))QVariantAnimation::~QVariantAnimation +56 (int (*)(...))QVariantAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QVariantAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QVariantAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QVariantAnimation + size=16 align=8 + base size=16 base align=8 +QVariantAnimation (0x0x7b9f41f13340) 0 + vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16) +QAbstractAnimation (0x0x7b9f41f133a8) 0 + primary-for QVariantAnimation (0x0x7b9f41f13340) +QObject (0x0x7b9f41f2eb40) 0 + primary-for QAbstractAnimation (0x0x7b9f41f133a8) + +Class QPropertyAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPropertyAnimation::QPrivateSignal (0x0x7b9f41f2ede0) 0 empty + +Vtable for QPropertyAnimation +QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPropertyAnimation) +16 (int (*)(...))QPropertyAnimation::metaObject +24 (int (*)(...))QPropertyAnimation::qt_metacast +32 (int (*)(...))QPropertyAnimation::qt_metacall +40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +56 (int (*)(...))QPropertyAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QPropertyAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QPropertyAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QPropertyAnimation + size=16 align=8 + base size=16 base align=8 +QPropertyAnimation (0x0x7b9f41f13410) 0 + vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16) +QVariantAnimation (0x0x7b9f41f13478) 0 + primary-for QPropertyAnimation (0x0x7b9f41f13410) +QAbstractAnimation (0x0x7b9f41f134e0) 0 + primary-for QVariantAnimation (0x0x7b9f41f13478) +QObject (0x0x7b9f41f2ed80) 0 + primary-for QAbstractAnimation (0x0x7b9f41f134e0) + +Class std::random_device + size=5000 align=8 + base size=5000 base align=8 +std::random_device (0x0x7b9f41fa4600) 0 + +Class std::bernoulli_distribution::param_type + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution::param_type (0x0x7b9f42029960) 0 + +Class std::bernoulli_distribution + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution (0x0x7b9f42029900) 0 + +Class std::seed_seq + size=24 align=8 + base size=24 base align=8 +std::seed_seq (0x0x7b9f41d510c0) 0 + +Class QRandomGenerator::InitialRandomData + size=16 align=8 + base size=16 base align=8 +QRandomGenerator::InitialRandomData (0x0x7b9f41e39780) 0 + +Class QRandomGenerator::Storage + size=2504 align=8 + base size=2504 base align=8 +QRandomGenerator::Storage (0x0x7b9f41e397e0) 0 + +Class QRandomGenerator + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator (0x0x7b9f41e39720) 0 + +Class QRandomGenerator64 + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator64 (0x0x7b9f41e6d9c0) 0 +QRandomGenerator (0x0x7b9f41e85cc0) 0 + +Class QReadWriteLock + size=8 align=8 + base size=8 base align=8 +QReadWriteLock (0x0x7b9f41e99900) 0 + +Class QReadLocker + size=8 align=8 + base size=8 base align=8 +QReadLocker (0x0x7b9f41ed8180) 0 + +Class QWriteLocker + size=8 align=8 + base size=8 base align=8 +QWriteLocker (0x0x7b9f41ed8600) 0 + +Class QSize + size=8 align=4 + base size=8 base align=4 +QSize (0x0x7b9f41ed8a80) 0 + +Class QSizeF + size=16 align=8 + base size=16 base align=8 +QSizeF (0x0x7b9f41b20a20) 0 + +Class QRect + size=16 align=4 + base size=16 base align=4 +QRect (0x0x7b9f41b6aa20) 0 + +Class QRectF + size=32 align=8 + base size=32 base align=8 +QRectF (0x0x7b9f41bcbd20) 0 + +Class QResource + size=8 align=8 + base size=8 base align=8 +QResource (0x0x7b9f41c34de0) 0 + +Class QSaveFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSaveFile::QPrivateSignal (0x0x7b9f41c59120) 0 empty + +Vtable for QSaveFile +QSaveFile::_ZTV9QSaveFile: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSaveFile) +16 (int (*)(...))QSaveFile::metaObject +24 (int (*)(...))QSaveFile::qt_metacast +32 (int (*)(...))QSaveFile::qt_metacall +40 (int (*)(...))QSaveFile::~QSaveFile +48 (int (*)(...))QSaveFile::~QSaveFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QSaveFile::open +128 (int (*)(...))QSaveFile::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QSaveFile::writeData +248 (int (*)(...))QSaveFile::fileName +256 (int (*)(...))QFileDevice::resize +264 (int (*)(...))QFileDevice::permissions +272 (int (*)(...))QFileDevice::setPermissions + +Class QSaveFile + size=16 align=8 + base size=16 base align=8 +QSaveFile (0x0x7b9f41c1d6e8) 0 + vptr=((& QSaveFile::_ZTV9QSaveFile) + 16) +QFileDevice (0x0x7b9f41c1d750) 0 + primary-for QSaveFile (0x0x7b9f41c1d6e8) +QIODevice (0x0x7b9f41c3acb0) 0 + primary-for QFileDevice (0x0x7b9f41c1d750) +QObject (0x0x7b9f41c59060) 0 + primary-for QIODevice (0x0x7b9f41c3acb0) +QIODeviceBase (0x0x7b9f41c590c0) 0 empty + +Class QSemaphore + size=8 align=8 + base size=8 base align=8 +QSemaphore (0x0x7b9f41c59480) 0 + +Class QSemaphoreReleaser + size=16 align=8 + base size=12 base align=8 +QSemaphoreReleaser (0x0x7b9f41c598a0) 0 + +Class QSequentialAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSequentialAnimationGroup::QPrivateSignal (0x0x7b9f41ca3180) 0 empty + +Vtable for QSequentialAnimationGroup +QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup) +16 (int (*)(...))QSequentialAnimationGroup::metaObject +24 (int (*)(...))QSequentialAnimationGroup::qt_metacast +32 (int (*)(...))QSequentialAnimationGroup::qt_metacall +40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +56 (int (*)(...))QSequentialAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSequentialAnimationGroup::duration +120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime +128 (int (*)(...))QSequentialAnimationGroup::updateState +136 (int (*)(...))QSequentialAnimationGroup::updateDirection + +Class QSequentialAnimationGroup + size=16 align=8 + base size=16 base align=8 +QSequentialAnimationGroup (0x0x7b9f41c1d7b8) 0 + vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16) +QAnimationGroup (0x0x7b9f41c1d820) 0 + primary-for QSequentialAnimationGroup (0x0x7b9f41c1d7b8) +QAbstractAnimation (0x0x7b9f41c1d888) 0 + primary-for QAnimationGroup (0x0x7b9f41c1d820) +QObject (0x0x7b9f41ca3120) 0 + primary-for QAbstractAnimation (0x0x7b9f41c1d888) + +Class QSequentialIterator + size=16 align=8 + base size=16 base align=8 +QSequentialIterator (0x0x7b9f41c1d9c0) 0 +QIterator<QMetaSequence> (0x0x7b9f41c1da28) 0 +QBaseIterator<QMetaSequence> (0x0x7b9f41ca34e0) 0 + +Class QSequentialConstIterator + size=16 align=8 + base size=16 base align=8 +QSequentialConstIterator (0x0x7b9f41c1daf8) 0 +QConstIterator<QMetaSequence> (0x0x7b9f41c1db60) 0 +QBaseIterator<QMetaSequence> (0x0x7b9f41ca3a80) 0 + +Class QSequentialIterable + size=24 align=8 + base size=24 base align=8 +QSequentialIterable (0x0x7b9f41c1dbc8) 0 +QIterable<QMetaSequence> (0x0x7b9f41ca3420) 0 + +Class QSettings::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSettings::QPrivateSignal (0x0x7b9f419868a0) 0 empty + +Vtable for QSettings +QSettings::_ZTV9QSettings: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSettings) +16 (int (*)(...))QSettings::metaObject +24 (int (*)(...))QSettings::qt_metacast +32 (int (*)(...))QSettings::qt_metacall +40 (int (*)(...))QSettings::~QSettings +48 (int (*)(...))QSettings::~QSettings +56 (int (*)(...))QSettings::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSettings + size=16 align=8 + base size=16 base align=8 +QSettings (0x0x7b9f4198b3a8) 0 + vptr=((& QSettings::_ZTV9QSettings) + 16) +QObject (0x0x7b9f41986840) 0 + primary-for QSettings (0x0x7b9f4198b3a8) + +Class QNativeIpcKey::TypeAndFlags + size=8 align=4 + base size=8 base align=4 +QNativeIpcKey::TypeAndFlags (0x0x7b9f41986cc0) 0 + +Class QNativeIpcKey + size=40 align=8 + base size=40 base align=8 +QNativeIpcKey (0x0x7b9f41986c60) 0 + +Class QSharedMemory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSharedMemory::QPrivateSignal (0x0x7b9f41a27cc0) 0 empty + +Vtable for QSharedMemory +QSharedMemory::_ZTV13QSharedMemory: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSharedMemory) +16 (int (*)(...))QSharedMemory::metaObject +24 (int (*)(...))QSharedMemory::qt_metacast +32 (int (*)(...))QSharedMemory::qt_metacall +40 (int (*)(...))QSharedMemory::~QSharedMemory +48 (int (*)(...))QSharedMemory::~QSharedMemory +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSharedMemory + size=16 align=8 + base size=16 base align=8 +QSharedMemory (0x0x7b9f41a39068) 0 + vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16) +QObject (0x0x7b9f41a27c60) 0 + primary-for QSharedMemory (0x0x7b9f41a39068) + +Class QSignalMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalMapper::QPrivateSignal (0x0x7b9f41a4d0c0) 0 empty + +Vtable for QSignalMapper +QSignalMapper::_ZTV13QSignalMapper: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSignalMapper) +16 (int (*)(...))QSignalMapper::metaObject +24 (int (*)(...))QSignalMapper::qt_metacast +32 (int (*)(...))QSignalMapper::qt_metacall +40 (int (*)(...))QSignalMapper::~QSignalMapper +48 (int (*)(...))QSignalMapper::~QSignalMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalMapper + size=16 align=8 + base size=16 base align=8 +QSignalMapper (0x0x7b9f41a390d0) 0 + vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16) +QObject (0x0x7b9f41a4d060) 0 + primary-for QSignalMapper (0x0x7b9f41a390d0) + +Class __uintr_frame + size=24 align=8 + base size=24 base align=8 +__uintr_frame (0x0x7b9f41aab3c0) 0 + +Class QSocketNotifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSocketNotifier::QPrivateSignal (0x0x7b9f40f11ae0) 0 empty + +Vtable for QSocketNotifier +QSocketNotifier::_ZTV15QSocketNotifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSocketNotifier) +16 (int (*)(...))QSocketNotifier::metaObject +24 (int (*)(...))QSocketNotifier::qt_metacast +32 (int (*)(...))QSocketNotifier::qt_metacall +40 (int (*)(...))QSocketNotifier::~QSocketNotifier +48 (int (*)(...))QSocketNotifier::~QSocketNotifier +56 (int (*)(...))QSocketNotifier::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSocketNotifier + size=16 align=8 + base size=16 base align=8 +QSocketNotifier (0x0x7b9f40ecb820) 0 + vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16) +QObject (0x0x7b9f40f11a80) 0 + primary-for QSocketNotifier (0x0x7b9f40ecb820) + +Class QSocketDescriptor + size=4 align=4 + base size=4 base align=4 +QSocketDescriptor (0x0x7b9f40f11c60) 0 + +Class QSortFilterProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSortFilterProxyModel::QPrivateSignal (0x0x7b9f40f72b40) 0 empty + +Vtable for QSortFilterProxyModel +QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 59 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSortFilterProxyModel) +16 (int (*)(...))QSortFilterProxyModel::metaObject +24 (int (*)(...))QSortFilterProxyModel::qt_metacast +32 (int (*)(...))QSortFilterProxyModel::qt_metacall +40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSortFilterProxyModel::index +120 (int (*)(...))QSortFilterProxyModel::parent +128 (int (*)(...))QSortFilterProxyModel::sibling +136 (int (*)(...))QSortFilterProxyModel::rowCount +144 (int (*)(...))QSortFilterProxyModel::columnCount +152 (int (*)(...))QSortFilterProxyModel::hasChildren +160 (int (*)(...))QSortFilterProxyModel::data +168 (int (*)(...))QSortFilterProxyModel::setData +176 (int (*)(...))QSortFilterProxyModel::headerData +184 (int (*)(...))QSortFilterProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::clearItemData +216 (int (*)(...))QSortFilterProxyModel::mimeTypes +224 (int (*)(...))QSortFilterProxyModel::mimeData +232 (int (*)(...))QAbstractProxyModel::canDropMimeData +240 (int (*)(...))QSortFilterProxyModel::dropMimeData +248 (int (*)(...))QSortFilterProxyModel::supportedDropActions +256 (int (*)(...))QAbstractProxyModel::supportedDragActions +264 (int (*)(...))QSortFilterProxyModel::insertRows +272 (int (*)(...))QSortFilterProxyModel::insertColumns +280 (int (*)(...))QSortFilterProxyModel::removeRows +288 (int (*)(...))QSortFilterProxyModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QSortFilterProxyModel::fetchMore +320 (int (*)(...))QSortFilterProxyModel::canFetchMore +328 (int (*)(...))QSortFilterProxyModel::flags +336 (int (*)(...))QSortFilterProxyModel::sort +344 (int (*)(...))QSortFilterProxyModel::buddy +352 (int (*)(...))QSortFilterProxyModel::match +360 (int (*)(...))QSortFilterProxyModel::span +368 (int (*)(...))QAbstractProxyModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractProxyModel::submit +392 (int (*)(...))QAbstractProxyModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QSortFilterProxyModel::setSourceModel +416 (int (*)(...))QSortFilterProxyModel::mapToSource +424 (int (*)(...))QSortFilterProxyModel::mapFromSource +432 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource +440 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource +448 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow +456 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn +464 (int (*)(...))QSortFilterProxyModel::lessThan + +Class QSortFilterProxyModel + size=16 align=8 + base size=16 base align=8 +QSortFilterProxyModel (0x0x7b9f40f76618) 0 + vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16) +QAbstractProxyModel (0x0x7b9f40f76680) 0 + primary-for QSortFilterProxyModel (0x0x7b9f40f76618) +QAbstractItemModel (0x0x7b9f40f766e8) 0 + primary-for QAbstractProxyModel (0x0x7b9f40f76680) +QObject (0x0x7b9f40f72ae0) 0 + primary-for QAbstractItemModel (0x0x7b9f40f766e8) + +Class QStandardPaths + size=1 align=1 + base size=0 base align=1 +QStandardPaths (0x0x7b9f40fd56c0) 0 empty + +Class QStorageInfo + size=8 align=8 + base size=8 base align=8 +QStorageInfo (0x0x7b9f40ffc720) 0 + +Class QStringListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStringListModel::QPrivateSignal (0x0x7b9f40c59c00) 0 empty + +Vtable for QStringListModel +QStringListModel::_ZTV16QStringListModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QStringListModel) +16 (int (*)(...))QStringListModel::metaObject +24 (int (*)(...))QStringListModel::qt_metacast +32 (int (*)(...))QStringListModel::qt_metacall +40 (int (*)(...))QStringListModel::~QStringListModel +48 (int (*)(...))QStringListModel::~QStringListModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QStringListModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractListModel::dropMimeData +248 (int (*)(...))QStringListModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QStringListModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QStringListModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QStringListModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QStringListModel::flags +336 (int (*)(...))QStringListModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QStringListModel + size=40 align=8 + base size=40 base align=8 +QStringListModel (0x0x7b9f40c74000) 0 + vptr=((& QStringListModel::_ZTV16QStringListModel) + 16) +QAbstractListModel (0x0x7b9f40c74068) 0 + primary-for QStringListModel (0x0x7b9f40c74000) +QAbstractItemModel (0x0x7b9f40c740d0) 0 + primary-for QAbstractListModel (0x0x7b9f40c74068) +QObject (0x0x7b9f40c59ba0) 0 + primary-for QAbstractItemModel (0x0x7b9f40c740d0) + +Class QSystemSemaphore + size=8 align=8 + base size=8 base align=8 +QSystemSemaphore (0x0x7b9f40c59cc0) 0 + +Class QTemporaryDir + size=8 align=8 + base size=8 base align=8 +QTemporaryDir (0x0x7b9f40c59f00) 0 + +Class QTemporaryFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTemporaryFile::QPrivateSignal (0x0x7b9f40c99360) 0 empty + +Vtable for QTemporaryFile +QTemporaryFile::_ZTV14QTemporaryFile: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTemporaryFile) +16 (int (*)(...))QTemporaryFile::metaObject +24 (int (*)(...))QTemporaryFile::qt_metacast +32 (int (*)(...))QTemporaryFile::qt_metacall +40 (int (*)(...))QTemporaryFile::~QTemporaryFile +48 (int (*)(...))QTemporaryFile::~QTemporaryFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QTemporaryFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QFileDevice::writeData +248 (int (*)(...))QTemporaryFile::fileName +256 (int (*)(...))QFile::resize +264 (int (*)(...))QFile::permissions +272 (int (*)(...))QFile::setPermissions + +Class QTemporaryFile + size=16 align=8 + base size=16 base align=8 +QTemporaryFile (0x0x7b9f40c74138) 0 + vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16) +QFile (0x0x7b9f40c741a0) 0 + primary-for QTemporaryFile (0x0x7b9f40c74138) +QFileDevice (0x0x7b9f40c74208) 0 + primary-for QFile (0x0x7b9f40c741a0) +QIODevice (0x0x7b9f40c6e9a0) 0 + primary-for QFileDevice (0x0x7b9f40c74208) +QObject (0x0x7b9f40c992a0) 0 + primary-for QIODevice (0x0x7b9f40c6e9a0) +QIODeviceBase (0x0x7b9f40c99300) 0 empty + +Class QTextBoundaryFinder + size=72 align=8 + base size=72 base align=8 +QTextBoundaryFinder (0x0x7b9f40c99900) 0 + +Class QThreadStorageData + size=4 align=4 + base size=4 base align=4 +QThreadStorageData (0x0x7b9f40ccf060) 0 + +Class QTimeLine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeLine::QPrivateSignal (0x0x7b9f40ccf720) 0 empty + +Vtable for QTimeLine +QTimeLine::_ZTV9QTimeLine: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeLine) +16 (int (*)(...))QTimeLine::metaObject +24 (int (*)(...))QTimeLine::qt_metacast +32 (int (*)(...))QTimeLine::qt_metacall +40 (int (*)(...))QTimeLine::~QTimeLine +48 (int (*)(...))QTimeLine::~QTimeLine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimeLine::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTimeLine::valueForTime + +Class QTimeLine + size=16 align=8 + base size=16 base align=8 +QTimeLine (0x0x7b9f40c74410) 0 + vptr=((& QTimeLine::_ZTV9QTimeLine) + 16) +QObject (0x0x7b9f40ccf6c0) 0 + primary-for QTimeLine (0x0x7b9f40c74410) + +Class QTimer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimer::QPrivateSignal (0x0x7b9f40ccf900) 0 empty + +Vtable for QTimer +QTimer::_ZTV6QTimer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QTimer) +16 (int (*)(...))QTimer::metaObject +24 (int (*)(...))QTimer::qt_metacast +32 (int (*)(...))QTimer::qt_metacall +40 (int (*)(...))QTimer::~QTimer +48 (int (*)(...))QTimer::~QTimer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimer::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTimer + size=16 align=8 + base size=16 base align=8 +QTimer (0x0x7b9f40c74478) 0 + vptr=((& QTimer::_ZTV6QTimer) + 16) +QObject (0x0x7b9f40ccf8a0) 0 + primary-for QTimer (0x0x7b9f40c74478) + +Class QTranslator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTranslator::QPrivateSignal (0x0x7b9f40d06960) 0 empty + +Vtable for QTranslator +QTranslator::_ZTV11QTranslator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTranslator) +16 (int (*)(...))QTranslator::metaObject +24 (int (*)(...))QTranslator::qt_metacast +32 (int (*)(...))QTranslator::qt_metacall +40 (int (*)(...))QTranslator::~QTranslator +48 (int (*)(...))QTranslator::~QTranslator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTranslator::translate +120 (int (*)(...))QTranslator::isEmpty + +Class QTranslator + size=16 align=8 + base size=16 base align=8 +QTranslator (0x0x7b9f40c74888) 0 + vptr=((& QTranslator::_ZTV11QTranslator) + 16) +QObject (0x0x7b9f40d06900) 0 + primary-for QTranslator (0x0x7b9f40c74888) + +Class QTransposeProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTransposeProxyModel::QPrivateSignal (0x0x7b9f40d06b40) 0 empty + +Vtable for QTransposeProxyModel +QTransposeProxyModel::_ZTV20QTransposeProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTransposeProxyModel) +16 (int (*)(...))QTransposeProxyModel::metaObject +24 (int (*)(...))QTransposeProxyModel::qt_metacast +32 (int (*)(...))QTransposeProxyModel::qt_metacall +40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTransposeProxyModel::index +120 (int (*)(...))QTransposeProxyModel::parent +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))QTransposeProxyModel::rowCount +144 (int (*)(...))QTransposeProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QTransposeProxyModel::headerData +184 (int (*)(...))QTransposeProxyModel::setHeaderData +192 (int (*)(...))QTransposeProxyModel::itemData +200 (int (*)(...))QTransposeProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::clearItemData +216 (int (*)(...))QAbstractProxyModel::mimeTypes +224 (int (*)(...))QAbstractProxyModel::mimeData +232 (int (*)(...))QAbstractProxyModel::canDropMimeData +240 (int (*)(...))QAbstractProxyModel::dropMimeData +248 (int (*)(...))QAbstractProxyModel::supportedDropActions +256 (int (*)(...))QAbstractProxyModel::supportedDragActions +264 (int (*)(...))QTransposeProxyModel::insertRows +272 (int (*)(...))QTransposeProxyModel::insertColumns +280 (int (*)(...))QTransposeProxyModel::removeRows +288 (int (*)(...))QTransposeProxyModel::removeColumns +296 (int (*)(...))QTransposeProxyModel::moveRows +304 (int (*)(...))QTransposeProxyModel::moveColumns +312 (int (*)(...))QAbstractProxyModel::fetchMore +320 (int (*)(...))QAbstractProxyModel::canFetchMore +328 (int (*)(...))QAbstractProxyModel::flags +336 (int (*)(...))QTransposeProxyModel::sort +344 (int (*)(...))QAbstractProxyModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QTransposeProxyModel::span +368 (int (*)(...))QAbstractProxyModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractProxyModel::submit +392 (int (*)(...))QAbstractProxyModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QTransposeProxyModel::setSourceModel +416 (int (*)(...))QTransposeProxyModel::mapToSource +424 (int (*)(...))QTransposeProxyModel::mapFromSource +432 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +440 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QTransposeProxyModel + size=16 align=8 + base size=16 base align=8 +QTransposeProxyModel (0x0x7b9f40c748f0) 0 + vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16) +QAbstractProxyModel (0x0x7b9f40c74958) 0 + primary-for QTransposeProxyModel (0x0x7b9f40c748f0) +QAbstractItemModel (0x0x7b9f40c749c0) 0 + primary-for QAbstractProxyModel (0x0x7b9f40c74958) +QObject (0x0x7b9f40d06ae0) 0 + primary-for QAbstractItemModel (0x0x7b9f40c749c0) + +Class QUrlQuery + size=8 align=8 + base size=8 base align=8 +QUrlQuery (0x0x7b9f40d06cc0) 0 + +Class QWaitCondition + size=8 align=8 + base size=8 base align=8 +QWaitCondition (0x0x7b9f40d937e0) 0 + +Class QtPrivate::QXmlString + size=24 align=8 + base size=24 base align=8 +QtPrivate::QXmlString (0x0x7b9f40d93900) 0 + +Class QXmlStreamAttribute + size=104 align=8 + base size=97 base align=8 +QXmlStreamAttribute (0x0x7b9f40dc9c00) 0 + +Class QXmlStreamAttributes + size=24 align=8 + base size=24 base align=8 +QXmlStreamAttributes (0x0x7b9f40a191a0) 0 +QList<QXmlStreamAttribute> (0x0x7b9f40a19208) 0 +QListSpecialMethods<QXmlStreamAttribute> (0x0x7b9f40a19270) 0 empty +QListSpecialMethodsBase<QXmlStreamAttribute> (0x0x7b9f40a30120) 0 empty + +Class QXmlStreamNamespaceDeclaration + size=48 align=8 + base size=48 base align=8 +QXmlStreamNamespaceDeclaration (0x0x7b9f40a30960) 0 + +Class QXmlStreamNotationDeclaration + size=72 align=8 + base size=72 base align=8 +QXmlStreamNotationDeclaration (0x0x7b9f40a87720) 0 + +Class QXmlStreamEntityDeclaration + size=120 align=8 + base size=120 base align=8 +QXmlStreamEntityDeclaration (0x0x7b9f40abe4e0) 0 + +Vtable for QXmlStreamEntityResolver +QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver) +16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity +40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity + +Class QXmlStreamEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlStreamEntityResolver (0x0x7b9f40aff540) 0 nearly-empty + vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16) + +Class QXmlStreamReader::PrivateConstructorTag + size=1 align=1 + base size=0 base align=1 +QXmlStreamReader::PrivateConstructorTag (0x0x7b9f40aff600) 0 empty + +Class QXmlStreamReader + size=8 align=8 + base size=8 base align=8 +QXmlStreamReader (0x0x7b9f40aff5a0) 0 + +Class QXmlStreamWriter + size=8 align=8 + base size=8 base align=8 +QXmlStreamWriter (0x0x7b9f40affc60) 0 + +Class QtConcurrent::TaskStartParameters + size=16 align=8 + base size=16 base align=8 +QtConcurrent::TaskStartParameters (0x0x7b9f40b55660) 0 + +Class QtConcurrent::Median + size=72 align=8 + base size=70 base align=8 +QtConcurrent::Median (0x0x7b9f40b8a900) 0 + +Class QtConcurrent::ThreadEngineBarrier + size=16 align=8 + base size=16 base align=8 +QtConcurrent::ThreadEngineBarrier (0x0x7b9f40b8ad20) 0 + +Vtable for QtConcurrent::ThreadEngineBase +QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE) +16 (int (*)(...))QtConcurrent::ThreadEngineBase::run +24 0 +32 0 +40 (int (*)(...))QtConcurrent::ThreadEngineBase::start +48 (int (*)(...))QtConcurrent::ThreadEngineBase::finish +56 (int (*)(...))QtConcurrent::ThreadEngineBase::threadFunction +64 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldStartThread +72 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldThrottleThread +80 (int (*)(...))__cxa_pure_virtual + +Class QtConcurrent::ThreadEngineBase + size=64 align=8 + base size=64 base align=8 +QtConcurrent::ThreadEngineBase (0x0x7b9f40b048f0) 0 + vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16) +QRunnable (0x0x7b9f40b8ade0) 0 + primary-for QtConcurrent::ThreadEngineBase (0x0x7b9f40b048f0) + +Class QtConcurrent::BlockSizeManager + size=176 align=8 + base size=172 base align=8 +QtConcurrent::BlockSizeManager (0x0x7b9f40bb8900) 0 + +Class QtPrivate::PushBackWrapper + size=1 align=1 + base size=0 base align=1 +QtPrivate::PushBackWrapper (0x0x7b9f4081a6c0) 0 empty + +Class QDBusAbstractAdaptor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusAbstractAdaptor::QPrivateSignal (0x0x7b9f4090ad20) 0 empty + +Vtable for QDBusAbstractAdaptor +QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDBusAbstractAdaptor) +16 (int (*)(...))QDBusAbstractAdaptor::metaObject +24 (int (*)(...))QDBusAbstractAdaptor::qt_metacast +32 (int (*)(...))QDBusAbstractAdaptor::qt_metacall +40 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor +48 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDBusAbstractAdaptor + size=16 align=8 + base size=16 base align=8 +QDBusAbstractAdaptor (0x0x7b9f408b33a8) 0 + vptr=((& QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor) + 16) +QObject (0x0x7b9f4090acc0) 0 + primary-for QDBusAbstractAdaptor (0x0x7b9f408b33a8) + +Class QDBusError + size=64 align=8 + base size=64 base align=8 +QDBusError (0x0x7b9f4090aea0) 0 + +Class QDBusMessage + size=8 align=8 + base size=8 base align=8 +QDBusMessage (0x0x7b9f4098fa80) 0 + +Class QDBusObjectPath + size=24 align=8 + base size=24 base align=8 +QDBusObjectPath (0x0x7b9f409e9a20) 0 + +Class QDBusSignature + size=24 align=8 + base size=24 base align=8 +QDBusSignature (0x0x7b9f40635720) 0 + +Class QDBusVariant + size=32 align=8 + base size=32 base align=8 +QDBusVariant (0x0x7b9f4068c4e0) 0 + +Class QDBusConnection + size=8 align=8 + base size=8 base align=8 +QDBusConnection (0x0x7b9f406faae0) 0 + +Class QDBusPendingCall + size=8 align=8 + base size=8 base align=8 +QDBusPendingCall (0x0x7b9f407d8000) 0 + +Class QDBusPendingCallWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusPendingCallWatcher::QPrivateSignal (0x0x7b9f4041d420) 0 empty + +Vtable for QDBusPendingCallWatcher +QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QDBusPendingCallWatcher) +16 (int (*)(...))QDBusPendingCallWatcher::metaObject +24 (int (*)(...))QDBusPendingCallWatcher::qt_metacast +32 (int (*)(...))QDBusPendingCallWatcher::qt_metacall +40 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher +48 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDBusPendingCallWatcher + size=24 align=8 + base size=24 base align=8 +QDBusPendingCallWatcher (0x0x7b9f407d6a10) 0 + vptr=((& QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher) + 16) +QObject (0x0x7b9f4041d360) 0 + primary-for QDBusPendingCallWatcher (0x0x7b9f407d6a10) +QDBusPendingCall (0x0x7b9f4041d3c0) 16 + +Vtable for QDBusAbstractInterfaceBase +QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDBusAbstractInterfaceBase) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QDBusAbstractInterfaceBase::qt_metacall +40 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase +48 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDBusAbstractInterfaceBase + size=16 align=8 + base size=16 base align=8 +QDBusAbstractInterfaceBase (0x0x7b9f40412f08) 0 + vptr=((& QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase) + 16) +QObject (0x0x7b9f4041d4e0) 0 + primary-for QDBusAbstractInterfaceBase (0x0x7b9f40412f08) + +Class QDBusAbstractInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusAbstractInterface::QPrivateSignal (0x0x7b9f4041d660) 0 empty + +Vtable for QDBusAbstractInterface +QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QDBusAbstractInterface) +16 (int (*)(...))QDBusAbstractInterface::metaObject +24 (int (*)(...))QDBusAbstractInterface::qt_metacast +32 (int (*)(...))QDBusAbstractInterface::qt_metacall +40 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface +48 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QDBusAbstractInterface::connectNotify +104 (int (*)(...))QDBusAbstractInterface::disconnectNotify + +Class QDBusAbstractInterface + size=16 align=8 + base size=16 base align=8 +QDBusAbstractInterface (0x0x7b9f40412f70) 0 + vptr=((& QDBusAbstractInterface::_ZTV22QDBusAbstractInterface) + 16) +QDBusAbstractInterfaceBase (0x0x7b9f40432000) 0 + primary-for QDBusAbstractInterface (0x0x7b9f40412f70) +QObject (0x0x7b9f4041d600) 0 + primary-for QDBusAbstractInterfaceBase (0x0x7b9f40432000) + +Class QDBusArgument + size=8 align=8 + base size=8 base align=8 +QDBusArgument (0x0x7b9f4041da20) 0 + +Class QDBusPendingReplyBase + size=8 align=8 + base size=8 base align=8 +QDBusPendingReplyBase (0x0x7b9f405fe8f0) 0 +QDBusPendingCall (0x0x7b9f4021ba80) 0 + +Class QDBusConnectionInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusConnectionInterface::QPrivateSignal (0x0x7b9f4027bb40) 0 empty + +Vtable for QDBusConnectionInterface +QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QDBusConnectionInterface) +16 (int (*)(...))QDBusConnectionInterface::metaObject +24 (int (*)(...))QDBusConnectionInterface::qt_metacast +32 (int (*)(...))QDBusConnectionInterface::qt_metacall +40 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface +48 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QDBusConnectionInterface::connectNotify +104 (int (*)(...))QDBusConnectionInterface::disconnectNotify + +Class QDBusConnectionInterface + size=16 align=8 + base size=16 base align=8 +QDBusConnectionInterface (0x0x7b9f405feb60) 0 + vptr=((& QDBusConnectionInterface::_ZTV24QDBusConnectionInterface) + 16) +QDBusAbstractInterface (0x0x7b9f405febc8) 0 + primary-for QDBusConnectionInterface (0x0x7b9f405feb60) +QDBusAbstractInterfaceBase (0x0x7b9f405fec30) 0 + primary-for QDBusAbstractInterface (0x0x7b9f405febc8) +QObject (0x0x7b9f4027bae0) 0 + primary-for QDBusAbstractInterfaceBase (0x0x7b9f405fec30) + +Class QDBusContext + size=8 align=8 + base size=8 base align=8 +QDBusContext (0x0x7b9f402b2000) 0 + +Vtable for QDBusInterface +QDBusInterface::_ZTV14QDBusInterface: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDBusInterface) +16 (int (*)(...))QDBusInterface::metaObject +24 (int (*)(...))QDBusInterface::qt_metacast +32 (int (*)(...))QDBusInterface::qt_metacall +40 (int (*)(...))QDBusInterface::~QDBusInterface +48 (int (*)(...))QDBusInterface::~QDBusInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QDBusAbstractInterface::connectNotify +104 (int (*)(...))QDBusAbstractInterface::disconnectNotify + +Class QDBusInterface + size=16 align=8 + base size=16 base align=8 +QDBusInterface (0x0x7b9f405fec98) 0 + vptr=((& QDBusInterface::_ZTV14QDBusInterface) + 16) +QDBusAbstractInterface (0x0x7b9f405fed00) 0 + primary-for QDBusInterface (0x0x7b9f405fec98) +QDBusAbstractInterfaceBase (0x0x7b9f405fed68) 0 + primary-for QDBusAbstractInterface (0x0x7b9f405fed00) +QObject (0x0x7b9f402b2060) 0 + primary-for QDBusAbstractInterfaceBase (0x0x7b9f405fed68) + +Class QDBusMetaType + size=1 align=1 + base size=0 base align=1 +QDBusMetaType (0x0x7b9f402b2180) 0 empty + +Class QDBusServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusServer::QPrivateSignal (0x0x7b9f402b2420) 0 empty + +Vtable for QDBusServer +QDBusServer::_ZTV11QDBusServer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QDBusServer) +16 (int (*)(...))QDBusServer::metaObject +24 (int (*)(...))QDBusServer::qt_metacast +32 (int (*)(...))QDBusServer::qt_metacall +40 (int (*)(...))QDBusServer::~QDBusServer +48 (int (*)(...))QDBusServer::~QDBusServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDBusServer + size=24 align=8 + base size=24 base align=8 +QDBusServer (0x0x7b9f405fedd0) 0 + vptr=((& QDBusServer::_ZTV11QDBusServer) + 16) +QObject (0x0x7b9f402b23c0) 0 + primary-for QDBusServer (0x0x7b9f405fedd0) + +Class QDBusServiceWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusServiceWatcher::QPrivateSignal (0x0x7b9f402b2540) 0 empty + +Vtable for QDBusServiceWatcher +QDBusServiceWatcher::_ZTV19QDBusServiceWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QDBusServiceWatcher) +16 (int (*)(...))QDBusServiceWatcher::metaObject +24 (int (*)(...))QDBusServiceWatcher::qt_metacast +32 (int (*)(...))QDBusServiceWatcher::qt_metacall +40 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher +48 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDBusServiceWatcher + size=16 align=8 + base size=16 base align=8 +QDBusServiceWatcher (0x0x7b9f405fee38) 0 + vptr=((& QDBusServiceWatcher::_ZTV19QDBusServiceWatcher) + 16) +QObject (0x0x7b9f402b24e0) 0 + primary-for QDBusServiceWatcher (0x0x7b9f405fee38) + +Class QDBusUnixFileDescriptor + size=8 align=8 + base size=8 base align=8 +QDBusUnixFileDescriptor (0x0x7b9f402b2c00) 0 + +Class QDBusVirtualObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDBusVirtualObject::QPrivateSignal (0x0x7b9f40361cc0) 0 empty + +Vtable for QDBusVirtualObject +QDBusVirtualObject::_ZTV18QDBusVirtualObject: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QDBusVirtualObject) +16 (int (*)(...))QDBusVirtualObject::metaObject +24 (int (*)(...))QDBusVirtualObject::qt_metacast +32 (int (*)(...))QDBusVirtualObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QDBusVirtualObject + size=16 align=8 + base size=16 base align=8 +QDBusVirtualObject (0x0x7b9f4037f0d0) 0 + vptr=((& QDBusVirtualObject::_ZTV18QDBusVirtualObject) + 16) +QObject (0x0x7b9f40361c60) 0 + primary-for QDBusVirtualObject (0x0x7b9f4037f0d0) + +Vtable for QPaintDevice +QPaintDevice::_ZTV12QPaintDevice: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDevice + size=16 align=8 + base size=10 base align=8 +QPaintDevice (0x0x7b9f40361d80) 0 + vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16) + +Class QRgba64 + size=8 align=8 + base size=8 base align=8 +QRgba64 (0x0x7b9f40397840) 0 + +Class QColor::CT + size=10 align=2 + base size=10 base align=2 +QColor::CT (0x0x7b9f40030ea0) 0 + +Class QColor + size=16 align=4 + base size=14 base align=4 +QColor (0x0x7b9f40030e40) 0 + +Class QPixelFormat + size=8 align=8 + base size=8 base align=8 +QPixelFormat (0x0x7b9f400cb4e0) 0 + +Class QPolygon + size=24 align=8 + base size=24 base align=8 +QPolygon (0x0x7b9f40187c30) 0 +QList<QPoint> (0x0x7b9f40187c98) 0 +QListSpecialMethods<QPoint> (0x0x7b9f40187d00) 0 empty +QListSpecialMethodsBase<QPoint> (0x0x7b9f401b1660) 0 empty + +Class QPolygonF + size=24 align=8 + base size=24 base align=8 +QPolygonF (0x0x7b9f3fe705b0) 0 +QList<QPointF> (0x0x7b9f3fe70618) 0 +QListSpecialMethods<QPointF> (0x0x7b9f3fe70680) 0 empty +QListSpecialMethodsBase<QPointF> (0x0x7b9f3fe7d360) 0 empty + +Class QRegion::QRegionData + size=16 align=8 + base size=16 base align=8 +QRegion::QRegionData (0x0x7b9f3ff24d20) 0 + +Class QRegion + size=8 align=8 + base size=8 base align=8 +QRegion (0x0x7b9f3ff24cc0) 0 + +Class QTransform::Affine + size=8 align=8 + base size=8 base align=8 +QTransform::Affine (0x0x7b9f3ffaa3c0) 0 + +Class QTransform + size=80 align=8 + base size=74 base align=8 +QTransform (0x0x7b9f3ffaa360) 0 + +Vtable for QImage +QImage::_ZTV6QImage: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QImage) +16 (int (*)(...))QImage::~QImage +24 (int (*)(...))QImage::~QImage +32 (int (*)(...))QImage::devType +40 (int (*)(...))QImage::paintEngine +48 (int (*)(...))QImage::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QImage + size=24 align=8 + base size=24 base align=8 +QImage (0x0x7b9f40002f08) 0 + vptr=((& QImage::_ZTV6QImage) + 16) +QPaintDevice (0x0x7b9f3fc29540) 0 + primary-for QImage (0x0x7b9f40002f08) + +Vtable for QPixmap +QPixmap::_ZTV7QPixmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QPixmap) +16 (int (*)(...))QPixmap::~QPixmap +24 (int (*)(...))QPixmap::~QPixmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPixmap + size=24 align=8 + base size=24 base align=8 +QPixmap (0x0x7b9f3fcc48f0) 0 + vptr=((& QPixmap::_ZTV7QPixmap) + 16) +QPaintDevice (0x0x7b9f3fcb7d80) 0 + primary-for QPixmap (0x0x7b9f3fcc48f0) + +Class QIcon + size=8 align=8 + base size=8 base align=8 +QIcon (0x0x7b9f3fd54180) 0 + +Vtable for QAbstractFileIconProvider +QAbstractFileIconProvider::_ZTV25QAbstractFileIconProvider: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAbstractFileIconProvider) +16 (int (*)(...))QAbstractFileIconProvider::~QAbstractFileIconProvider +24 (int (*)(...))QAbstractFileIconProvider::~QAbstractFileIconProvider +32 (int (*)(...))QAbstractFileIconProvider::icon +40 (int (*)(...))QAbstractFileIconProvider::icon +48 (int (*)(...))QAbstractFileIconProvider::type +56 (int (*)(...))QAbstractFileIconProvider::setOptions +64 (int (*)(...))QAbstractFileIconProvider::options + +Class QAbstractFileIconProvider + size=16 align=8 + base size=16 base align=8 +QAbstractFileIconProvider (0x0x7b9f3fdad480) 0 + vptr=((& QAbstractFileIconProvider::_ZTV25QAbstractFileIconProvider) + 16) + +Class QVector2D + size=8 align=4 + base size=8 base align=4 +QVector2D (0x0x7b9f3fdadae0) 0 + +Class QVector3D + size=12 align=4 + base size=12 base align=4 +QVector3D (0x0x7b9f3fa49e40) 0 + +Class QVector4D + size=16 align=4 + base size=16 base align=4 +QVector4D (0x0x7b9f3fac13c0) 0 + +Class QScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScreen::QPrivateSignal (0x0x7b9f3f82e540) 0 empty + +Vtable for QScreen +QScreen::_ZTV7QScreen: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QScreen) +16 (int (*)(...))QScreen::metaObject +24 (int (*)(...))QScreen::qt_metacast +32 (int (*)(...))QScreen::qt_metacall +40 (int (*)(...))QScreen::~QScreen +48 (int (*)(...))QScreen::~QScreen +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScreen + size=16 align=8 + base size=16 base align=8 +QScreen (0x0x7b9f3fb2e2d8) 0 + vptr=((& QScreen::_ZTV7QScreen) + 16) +QObject (0x0x7b9f3f82e4e0) 0 + primary-for QScreen (0x0x7b9f3fb2e2d8) + +Class QInputMethod::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputMethod::QPrivateSignal (0x0x7b9f3f82e780) 0 empty + +Vtable for QInputMethod +QInputMethod::_ZTV12QInputMethod: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputMethod) +16 (int (*)(...))QInputMethod::metaObject +24 (int (*)(...))QInputMethod::qt_metacast +32 (int (*)(...))QInputMethod::qt_metacall +40 (int (*)(...))QInputMethod::~QInputMethod +48 (int (*)(...))QInputMethod::~QInputMethod +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QInputMethod + size=16 align=8 + base size=16 base align=8 +QInputMethod (0x0x7b9f3fb2e340) 0 + vptr=((& QInputMethod::_ZTV12QInputMethod) + 16) +QObject (0x0x7b9f3f82e720) 0 + primary-for QInputMethod (0x0x7b9f3fb2e340) + +Class QGuiApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGuiApplication::QPrivateSignal (0x0x7b9f3f82ea20) 0 empty + +Vtable for QGuiApplication +QGuiApplication::_ZTV15QGuiApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGuiApplication) +16 (int (*)(...))QGuiApplication::metaObject +24 (int (*)(...))QGuiApplication::qt_metacast +32 (int (*)(...))QGuiApplication::qt_metacall +40 (int (*)(...))QGuiApplication::~QGuiApplication +48 (int (*)(...))QGuiApplication::~QGuiApplication +56 (int (*)(...))QGuiApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGuiApplication::notify +120 (int (*)(...))QGuiApplication::compressEvent + +Class QGuiApplication + size=16 align=8 + base size=16 base align=8 +QGuiApplication (0x0x7b9f3fb2e3a8) 0 + vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16) +QCoreApplication (0x0x7b9f3fb2e410) 0 + primary-for QGuiApplication (0x0x7b9f3fb2e3a8) +QObject (0x0x7b9f3f82e9c0) 0 + primary-for QCoreApplication (0x0x7b9f3fb2e410) + +Class QNativeInterface::QX11Application::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QX11Application::TypeInfo (0x0x7b9f3f82ed20) 0 empty + +Vtable for QNativeInterface::QX11Application +QNativeInterface::QX11Application::_ZTVN16QNativeInterface15QX11ApplicationE: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface15QX11ApplicationE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QX11Application + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QX11Application (0x0x7b9f3f82ecc0) 0 nearly-empty + vptr=((& QNativeInterface::QX11Application::_ZTVN16QNativeInterface15QX11ApplicationE) + 16) + +Class QNativeInterface::QWaylandApplication::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QWaylandApplication::TypeInfo (0x0x7b9f3f82ede0) 0 empty + +Vtable for QNativeInterface::QWaylandApplication +QNativeInterface::QWaylandApplication::_ZTVN16QNativeInterface19QWaylandApplicationE: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface19QWaylandApplicationE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QWaylandApplication + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QWaylandApplication (0x0x7b9f3f82ed80) 0 nearly-empty + vptr=((& QNativeInterface::QWaylandApplication::_ZTVN16QNativeInterface19QWaylandApplicationE) + 16) + +Class QNativeInterface::QWaylandScreen::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QWaylandScreen::TypeInfo (0x0x7b9f3f82ef00) 0 empty + +Vtable for QNativeInterface::QWaylandScreen +QNativeInterface::QWaylandScreen::_ZTVN16QNativeInterface14QWaylandScreenE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface14QWaylandScreenE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QWaylandScreen + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QWaylandScreen (0x0x7b9f3f82eea0) 0 nearly-empty + vptr=((& QNativeInterface::QWaylandScreen::_ZTVN16QNativeInterface14QWaylandScreenE) + 16) + +Class QInputDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputDevice::QPrivateSignal (0x0x7b9f3f897000) 0 empty + +Vtable for QInputDevice +QInputDevice::_ZTV12QInputDevice: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputDevice) +16 (int (*)(...))QInputDevice::metaObject +24 (int (*)(...))QInputDevice::qt_metacast +32 (int (*)(...))QInputDevice::qt_metacall +40 (int (*)(...))QInputDevice::~QInputDevice +48 (int (*)(...))QInputDevice::~QInputDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QInputDevice + size=16 align=8 + base size=16 base align=8 +QInputDevice (0x0x7b9f3fb2e478) 0 + vptr=((& QInputDevice::_ZTV12QInputDevice) + 16) +QObject (0x0x7b9f3f82ef60) 0 + primary-for QInputDevice (0x0x7b9f3fb2e478) + +Class QPointingDeviceUniqueId + size=8 align=8 + base size=8 base align=8 +QPointingDeviceUniqueId (0x0x7b9f3f897c00) 0 + +Class QPointingDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPointingDevice::QPrivateSignal (0x0x7b9f3f948a20) 0 empty + +Vtable for QPointingDevice +QPointingDevice::_ZTV15QPointingDevice: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPointingDevice) +16 (int (*)(...))QPointingDevice::metaObject +24 (int (*)(...))QPointingDevice::qt_metacast +32 (int (*)(...))QPointingDevice::qt_metacall +40 (int (*)(...))QPointingDevice::~QPointingDevice +48 (int (*)(...))QPointingDevice::~QPointingDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPointingDevice + size=16 align=8 + base size=16 base align=8 +QPointingDevice (0x0x7b9f3f94ec30) 0 + vptr=((& QPointingDevice::_ZTV15QPointingDevice) + 16) +QInputDevice (0x0x7b9f3f94ec98) 0 + primary-for QPointingDevice (0x0x7b9f3f94ec30) +QObject (0x0x7b9f3f9489c0) 0 + primary-for QInputDevice (0x0x7b9f3f94ec98) + +Class QEventPoint + size=8 align=8 + base size=8 base align=8 +QEventPoint (0x0x7b9f3f9a4240) 0 + +Class QKeySequence + size=8 align=8 + base size=8 base align=8 +QKeySequence (0x0x7b9f3f627720) 0 + +Vtable for QInputEvent +QInputEvent::_ZTV11QInputEvent: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QInputEvent) +16 (int (*)(...))QInputEvent::~QInputEvent +24 (int (*)(...))QInputEvent::~QInputEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QInputEvent::clone +48 (int (*)(...))QInputEvent::setTimestamp + +Class QInputEvent + size=40 align=8 + base size=40 base align=8 +QInputEvent (0x0x7b9f3f687d68) 0 + vptr=((& QInputEvent::_ZTV11QInputEvent) + 16) +QEvent (0x0x7b9f3f6839c0) 0 + primary-for QInputEvent (0x0x7b9f3f687d68) + +Vtable for QPointerEvent +QPointerEvent::_ZTV13QPointerEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPointerEvent) +16 (int (*)(...))QPointerEvent::~QPointerEvent +24 (int (*)(...))QPointerEvent::~QPointerEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QPointerEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QPointerEvent::isBeginEvent +64 (int (*)(...))QPointerEvent::isUpdateEvent +72 (int (*)(...))QPointerEvent::isEndEvent + +Class QPointerEvent + size=64 align=8 + base size=64 base align=8 +QPointerEvent (0x0x7b9f3f687dd0) 0 + vptr=((& QPointerEvent::_ZTV13QPointerEvent) + 16) +QInputEvent (0x0x7b9f3f687e38) 0 + primary-for QPointerEvent (0x0x7b9f3f687dd0) +QEvent (0x0x7b9f3f683c60) 0 + primary-for QInputEvent (0x0x7b9f3f687e38) + +Vtable for QSinglePointEvent +QSinglePointEvent::_ZTV17QSinglePointEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSinglePointEvent) +16 (int (*)(...))QSinglePointEvent::~QSinglePointEvent +24 (int (*)(...))QSinglePointEvent::~QSinglePointEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QSinglePointEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QSinglePointEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QSinglePointEvent + size=80 align=8 + base size=80 base align=8 +QSinglePointEvent (0x0x7b9f3f6cf0d0) 0 + vptr=((& QSinglePointEvent::_ZTV17QSinglePointEvent) + 16) +QPointerEvent (0x0x7b9f3f6cf138) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf0d0) +QInputEvent (0x0x7b9f3f6cf1a0) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf138) +QEvent (0x0x7b9f3f71f240) 0 + primary-for QInputEvent (0x0x7b9f3f6cf1a0) + +Vtable for QEnterEvent +QEnterEvent::_ZTV11QEnterEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QEnterEvent) +16 (int (*)(...))QEnterEvent::~QEnterEvent +24 (int (*)(...))QEnterEvent::~QEnterEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QEnterEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QSinglePointEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QEnterEvent + size=80 align=8 + base size=80 base align=8 +QEnterEvent (0x0x7b9f3f6cf208) 0 + vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cf270) 0 + primary-for QEnterEvent (0x0x7b9f3f6cf208) +QPointerEvent (0x0x7b9f3f6cf2d8) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf270) +QInputEvent (0x0x7b9f3f6cf340) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf2d8) +QEvent (0x0x7b9f3f71f540) 0 + primary-for QInputEvent (0x0x7b9f3f6cf340) + +Vtable for QMouseEvent +QMouseEvent::_ZTV11QMouseEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMouseEvent) +16 (int (*)(...))QMouseEvent::~QMouseEvent +24 (int (*)(...))QMouseEvent::~QMouseEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QMouseEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QSinglePointEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QMouseEvent + size=80 align=8 + base size=80 base align=8 +QMouseEvent (0x0x7b9f3f6cf3a8) 0 + vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cf410) 0 + primary-for QMouseEvent (0x0x7b9f3f6cf3a8) +QPointerEvent (0x0x7b9f3f6cf478) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf410) +QInputEvent (0x0x7b9f3f6cf4e0) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf478) +QEvent (0x0x7b9f3f71f900) 0 + primary-for QInputEvent (0x0x7b9f3f6cf4e0) + +Vtable for QHoverEvent +QHoverEvent::_ZTV11QHoverEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHoverEvent) +16 (int (*)(...))QHoverEvent::~QHoverEvent +24 (int (*)(...))QHoverEvent::~QHoverEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QHoverEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QHoverEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QHoverEvent + size=96 align=8 + base size=96 base align=8 +QHoverEvent (0x0x7b9f3f6cf548) 0 + vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cf5b0) 0 + primary-for QHoverEvent (0x0x7b9f3f6cf548) +QPointerEvent (0x0x7b9f3f6cf618) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf5b0) +QInputEvent (0x0x7b9f3f6cf680) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf618) +QEvent (0x0x7b9f3f71fcc0) 0 + primary-for QInputEvent (0x0x7b9f3f6cf680) + +Vtable for QWheelEvent +QWheelEvent::_ZTV11QWheelEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWheelEvent) +16 (int (*)(...))QWheelEvent::~QWheelEvent +24 (int (*)(...))QWheelEvent::~QWheelEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QWheelEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QWheelEvent::isBeginEvent +64 (int (*)(...))QWheelEvent::isUpdateEvent +72 (int (*)(...))QWheelEvent::isEndEvent + +Class QWheelEvent + size=96 align=8 + base size=96 base align=8 +QWheelEvent (0x0x7b9f3f6cf6e8) 0 + vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cf750) 0 + primary-for QWheelEvent (0x0x7b9f3f6cf6e8) +QPointerEvent (0x0x7b9f3f6cf7b8) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf750) +QInputEvent (0x0x7b9f3f6cf820) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf7b8) +QEvent (0x0x7b9f3f71ff00) 0 + primary-for QInputEvent (0x0x7b9f3f6cf820) + +Vtable for QTabletEvent +QTabletEvent::_ZTV12QTabletEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTabletEvent) +16 (int (*)(...))QTabletEvent::~QTabletEvent +24 (int (*)(...))QTabletEvent::~QTabletEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QTabletEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QSinglePointEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QTabletEvent + size=96 align=8 + base size=96 base align=8 +QTabletEvent (0x0x7b9f3f6cf888) 0 + vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cf8f0) 0 + primary-for QTabletEvent (0x0x7b9f3f6cf888) +QPointerEvent (0x0x7b9f3f6cf958) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cf8f0) +QInputEvent (0x0x7b9f3f6cf9c0) 0 + primary-for QPointerEvent (0x0x7b9f3f6cf958) +QEvent (0x0x7b9f3f774240) 0 + primary-for QInputEvent (0x0x7b9f3f6cf9c0) + +Vtable for QNativeGestureEvent +QNativeGestureEvent::_ZTV19QNativeGestureEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QNativeGestureEvent) +16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent +24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QNativeGestureEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QSinglePointEvent::isBeginEvent +64 (int (*)(...))QSinglePointEvent::isUpdateEvent +72 (int (*)(...))QSinglePointEvent::isEndEvent + +Class QNativeGestureEvent + size=112 align=8 + base size=112 base align=8 +QNativeGestureEvent (0x0x7b9f3f6cfa28) 0 + vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16) +QSinglePointEvent (0x0x7b9f3f6cfa90) 0 + primary-for QNativeGestureEvent (0x0x7b9f3f6cfa28) +QPointerEvent (0x0x7b9f3f6cfaf8) 0 + primary-for QSinglePointEvent (0x0x7b9f3f6cfa90) +QInputEvent (0x0x7b9f3f6cfb60) 0 + primary-for QPointerEvent (0x0x7b9f3f6cfaf8) +QEvent (0x0x7b9f3f774900) 0 + primary-for QInputEvent (0x0x7b9f3f6cfb60) + +Vtable for QKeyEvent +QKeyEvent::_ZTV9QKeyEvent: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QKeyEvent) +16 (int (*)(...))QKeyEvent::~QKeyEvent +24 (int (*)(...))QKeyEvent::~QKeyEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QKeyEvent::clone +48 (int (*)(...))QInputEvent::setTimestamp + +Class QKeyEvent + size=88 align=8 + base size=82 base align=8 +QKeyEvent (0x0x7b9f3f6cfbc8) 0 + vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16) +QInputEvent (0x0x7b9f3f6cfc30) 0 + primary-for QKeyEvent (0x0x7b9f3f6cfbc8) +QEvent (0x0x7b9f3f774cc0) 0 + primary-for QInputEvent (0x0x7b9f3f6cfc30) + +Vtable for QFocusEvent +QFocusEvent::_ZTV11QFocusEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusEvent) +16 (int (*)(...))QFocusEvent::~QFocusEvent +24 (int (*)(...))QFocusEvent::~QFocusEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QFocusEvent::clone + +Class QFocusEvent + size=24 align=8 + base size=20 base align=8 +QFocusEvent (0x0x7b9f3f6cfc98) 0 + vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16) +QEvent (0x0x7b9f3f7bd120) 0 + primary-for QFocusEvent (0x0x7b9f3f6cfc98) + +Vtable for QPaintEvent +QPaintEvent::_ZTV11QPaintEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPaintEvent) +16 (int (*)(...))QPaintEvent::~QPaintEvent +24 (int (*)(...))QPaintEvent::~QPaintEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QPaintEvent::clone + +Class QPaintEvent + size=48 align=8 + base size=41 base align=8 +QPaintEvent (0x0x7b9f3f6cfd00) 0 + vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16) +QEvent (0x0x7b9f3f7bd240) 0 + primary-for QPaintEvent (0x0x7b9f3f6cfd00) + +Vtable for QMoveEvent +QMoveEvent::_ZTV10QMoveEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QMoveEvent) +16 (int (*)(...))QMoveEvent::~QMoveEvent +24 (int (*)(...))QMoveEvent::~QMoveEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QMoveEvent::clone + +Class QMoveEvent + size=32 align=8 + base size=32 base align=8 +QMoveEvent (0x0x7b9f3f6cfd68) 0 + vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16) +QEvent (0x0x7b9f3f7bd360) 0 + primary-for QMoveEvent (0x0x7b9f3f6cfd68) + +Vtable for QExposeEvent +QExposeEvent::_ZTV12QExposeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QExposeEvent) +16 (int (*)(...))QExposeEvent::~QExposeEvent +24 (int (*)(...))QExposeEvent::~QExposeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QExposeEvent::clone + +Class QExposeEvent + size=24 align=8 + base size=24 base align=8 +QExposeEvent (0x0x7b9f3f6cfdd0) 0 + vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16) +QEvent (0x0x7b9f3f7bd480) 0 + primary-for QExposeEvent (0x0x7b9f3f6cfdd0) + +Vtable for QPlatformSurfaceEvent +QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent) +16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent +24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QPlatformSurfaceEvent::clone + +Class QPlatformSurfaceEvent + size=24 align=8 + base size=20 base align=8 +QPlatformSurfaceEvent (0x0x7b9f3f6cfe38) 0 + vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16) +QEvent (0x0x7b9f3f7bd540) 0 + primary-for QPlatformSurfaceEvent (0x0x7b9f3f6cfe38) + +Vtable for QResizeEvent +QResizeEvent::_ZTV12QResizeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QResizeEvent) +16 (int (*)(...))QResizeEvent::~QResizeEvent +24 (int (*)(...))QResizeEvent::~QResizeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QResizeEvent::clone + +Class QResizeEvent + size=32 align=8 + base size=32 base align=8 +QResizeEvent (0x0x7b9f3f6cfea0) 0 + vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16) +QEvent (0x0x7b9f3f7bd600) 0 + primary-for QResizeEvent (0x0x7b9f3f6cfea0) + +Vtable for QCloseEvent +QCloseEvent::_ZTV11QCloseEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QCloseEvent) +16 (int (*)(...))QCloseEvent::~QCloseEvent +24 (int (*)(...))QCloseEvent::~QCloseEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QCloseEvent::clone + +Class QCloseEvent + size=16 align=8 + base size=16 base align=8 +QCloseEvent (0x0x7b9f3f6cff08) 0 + vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16) +QEvent (0x0x7b9f3f7bd720) 0 + primary-for QCloseEvent (0x0x7b9f3f6cff08) + +Vtable for QIconDragEvent +QIconDragEvent::_ZTV14QIconDragEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QIconDragEvent) +16 (int (*)(...))QIconDragEvent::~QIconDragEvent +24 (int (*)(...))QIconDragEvent::~QIconDragEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QIconDragEvent::clone + +Class QIconDragEvent + size=16 align=8 + base size=16 base align=8 +QIconDragEvent (0x0x7b9f3f6cff70) 0 + vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16) +QEvent (0x0x7b9f3f7bd780) 0 + primary-for QIconDragEvent (0x0x7b9f3f6cff70) + +Vtable for QShowEvent +QShowEvent::_ZTV10QShowEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QShowEvent) +16 (int (*)(...))QShowEvent::~QShowEvent +24 (int (*)(...))QShowEvent::~QShowEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QShowEvent::clone + +Class QShowEvent + size=16 align=8 + base size=16 base align=8 +QShowEvent (0x0x7b9f3f6cf068) 0 + vptr=((& QShowEvent::_ZTV10QShowEvent) + 16) +QEvent (0x0x7b9f3f7bd7e0) 0 + primary-for QShowEvent (0x0x7b9f3f6cf068) + +Vtable for QHideEvent +QHideEvent::_ZTV10QHideEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHideEvent) +16 (int (*)(...))QHideEvent::~QHideEvent +24 (int (*)(...))QHideEvent::~QHideEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QHideEvent::clone + +Class QHideEvent + size=16 align=8 + base size=16 base align=8 +QHideEvent (0x0x7b9f3f80a000) 0 + vptr=((& QHideEvent::_ZTV10QHideEvent) + 16) +QEvent (0x0x7b9f3f7bd840) 0 + primary-for QHideEvent (0x0x7b9f3f80a000) + +Vtable for QContextMenuEvent +QContextMenuEvent::_ZTV17QContextMenuEvent: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QContextMenuEvent) +16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent +24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QContextMenuEvent::clone +48 (int (*)(...))QInputEvent::setTimestamp + +Class QContextMenuEvent + size=64 align=8 + base size=57 base align=8 +QContextMenuEvent (0x0x7b9f3f80a068) 0 + vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16) +QInputEvent (0x0x7b9f3f80a0d0) 0 + primary-for QContextMenuEvent (0x0x7b9f3f80a068) +QEvent (0x0x7b9f3f7bd8a0) 0 + primary-for QInputEvent (0x0x7b9f3f80a0d0) + +Class QInputMethodEvent::Attribute + size=48 align=8 + base size=48 base align=8 +QInputMethodEvent::Attribute (0x0x7b9f3f7bdc00) 0 + +Vtable for QInputMethodEvent +QInputMethodEvent::_ZTV17QInputMethodEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QInputMethodEvent) +16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent +24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QInputMethodEvent::clone + +Class QInputMethodEvent + size=96 align=8 + base size=96 base align=8 +QInputMethodEvent (0x0x7b9f3f80a138) 0 + vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16) +QEvent (0x0x7b9f3f7bdba0) 0 + primary-for QInputMethodEvent (0x0x7b9f3f80a138) + +Class QInputMethodQueryEvent::QueryPair + size=40 align=8 + base size=40 base align=8 +QInputMethodQueryEvent::QueryPair (0x0x7b9f3f4e0420) 0 + +Vtable for QInputMethodQueryEvent +QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent) +16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent +24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QInputMethodQueryEvent::clone + +Class QInputMethodQueryEvent + size=48 align=8 + base size=48 base align=8 +QInputMethodQueryEvent (0x0x7b9f3f4d6750) 0 + vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16) +QEvent (0x0x7b9f3f4e03c0) 0 + primary-for QInputMethodQueryEvent (0x0x7b9f3f4d6750) + +Vtable for QDropEvent +QDropEvent::_ZTV10QDropEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDropEvent) +16 (int (*)(...))QDropEvent::~QDropEvent +24 (int (*)(...))QDropEvent::~QDropEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QDropEvent::clone + +Class QDropEvent + size=64 align=8 + base size=64 base align=8 +QDropEvent (0x0x7b9f3f5a1000) 0 + vptr=((& QDropEvent::_ZTV10QDropEvent) + 16) +QEvent (0x0x7b9f3f59a240) 0 + primary-for QDropEvent (0x0x7b9f3f5a1000) + +Vtable for QDragMoveEvent +QDragMoveEvent::_ZTV14QDragMoveEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDragMoveEvent) +16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent +24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QDragMoveEvent::clone + +Class QDragMoveEvent + size=80 align=8 + base size=80 base align=8 +QDragMoveEvent (0x0x7b9f3f5a1068) 0 + vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16) +QDropEvent (0x0x7b9f3f5a10d0) 0 + primary-for QDragMoveEvent (0x0x7b9f3f5a1068) +QEvent (0x0x7b9f3f59a720) 0 + primary-for QDropEvent (0x0x7b9f3f5a10d0) + +Vtable for QDragEnterEvent +QDragEnterEvent::_ZTV15QDragEnterEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragEnterEvent) +16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent +24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QDragEnterEvent::clone + +Class QDragEnterEvent + size=80 align=8 + base size=80 base align=8 +QDragEnterEvent (0x0x7b9f3f5a1138) 0 + vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16) +QDragMoveEvent (0x0x7b9f3f5a11a0) 0 + primary-for QDragEnterEvent (0x0x7b9f3f5a1138) +QDropEvent (0x0x7b9f3f5a1208) 0 + primary-for QDragMoveEvent (0x0x7b9f3f5a11a0) +QEvent (0x0x7b9f3f59a960) 0 + primary-for QDropEvent (0x0x7b9f3f5a1208) + +Vtable for QDragLeaveEvent +QDragLeaveEvent::_ZTV15QDragLeaveEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragLeaveEvent) +16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent +24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QDragLeaveEvent::clone + +Class QDragLeaveEvent + size=16 align=8 + base size=16 base align=8 +QDragLeaveEvent (0x0x7b9f3f5a1270) 0 + vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16) +QEvent (0x0x7b9f3f59a9c0) 0 + primary-for QDragLeaveEvent (0x0x7b9f3f5a1270) + +Vtable for QHelpEvent +QHelpEvent::_ZTV10QHelpEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHelpEvent) +16 (int (*)(...))QHelpEvent::~QHelpEvent +24 (int (*)(...))QHelpEvent::~QHelpEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QHelpEvent::clone + +Class QHelpEvent + size=32 align=8 + base size=32 base align=8 +QHelpEvent (0x0x7b9f3f5a12d8) 0 + vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16) +QEvent (0x0x7b9f3f59aa20) 0 + primary-for QHelpEvent (0x0x7b9f3f5a12d8) + +Vtable for QStatusTipEvent +QStatusTipEvent::_ZTV15QStatusTipEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QStatusTipEvent) +16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent +24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QStatusTipEvent::clone + +Class QStatusTipEvent + size=40 align=8 + base size=40 base align=8 +QStatusTipEvent (0x0x7b9f3f5a1340) 0 + vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16) +QEvent (0x0x7b9f3f59acc0) 0 + primary-for QStatusTipEvent (0x0x7b9f3f5a1340) + +Vtable for QWhatsThisClickedEvent +QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent) +16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent +24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QWhatsThisClickedEvent::clone + +Class QWhatsThisClickedEvent + size=40 align=8 + base size=40 base align=8 +QWhatsThisClickedEvent (0x0x7b9f3f5a13a8) 0 + vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16) +QEvent (0x0x7b9f3f59ad80) 0 + primary-for QWhatsThisClickedEvent (0x0x7b9f3f5a13a8) + +Vtable for QActionEvent +QActionEvent::_ZTV12QActionEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionEvent) +16 (int (*)(...))QActionEvent::~QActionEvent +24 (int (*)(...))QActionEvent::~QActionEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QActionEvent::clone + +Class QActionEvent + size=32 align=8 + base size=32 base align=8 +QActionEvent (0x0x7b9f3f5a1410) 0 + vptr=((& QActionEvent::_ZTV12QActionEvent) + 16) +QEvent (0x0x7b9f3f59ae40) 0 + primary-for QActionEvent (0x0x7b9f3f5a1410) + +Vtable for QFileOpenEvent +QFileOpenEvent::_ZTV14QFileOpenEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QFileOpenEvent) +16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent +24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QFileOpenEvent::clone + +Class QFileOpenEvent + size=48 align=8 + base size=48 base align=8 +QFileOpenEvent (0x0x7b9f3f5a1478) 0 + vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16) +QEvent (0x0x7b9f3f59af60) 0 + primary-for QFileOpenEvent (0x0x7b9f3f5a1478) + +Vtable for QToolBarChangeEvent +QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QToolBarChangeEvent) +16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent +24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QToolBarChangeEvent::clone + +Class QToolBarChangeEvent + size=24 align=8 + base size=17 base align=8 +QToolBarChangeEvent (0x0x7b9f3f5a14e0) 0 + vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16) +QEvent (0x0x7b9f3f5ff0c0) 0 + primary-for QToolBarChangeEvent (0x0x7b9f3f5a14e0) + +Vtable for QShortcutEvent +QShortcutEvent::_ZTV14QShortcutEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QShortcutEvent) +16 (int (*)(...))QShortcutEvent::~QShortcutEvent +24 (int (*)(...))QShortcutEvent::~QShortcutEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QShortcutEvent::clone + +Class QShortcutEvent + size=32 align=8 + base size=29 base align=8 +QShortcutEvent (0x0x7b9f3f5a1548) 0 + vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16) +QEvent (0x0x7b9f3f5ff180) 0 + primary-for QShortcutEvent (0x0x7b9f3f5a1548) + +Vtable for QWindowStateChangeEvent +QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent) +16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent +24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QWindowStateChangeEvent::clone + +Class QWindowStateChangeEvent + size=24 align=8 + base size=21 base align=8 +QWindowStateChangeEvent (0x0x7b9f3f5a15b0) 0 + vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16) +QEvent (0x0x7b9f3f5ff300) 0 + primary-for QWindowStateChangeEvent (0x0x7b9f3f5a15b0) + +Vtable for QTouchEvent +QTouchEvent::_ZTV11QTouchEvent: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTouchEvent) +16 (int (*)(...))QTouchEvent::~QTouchEvent +24 (int (*)(...))QTouchEvent::~QTouchEvent +32 (int (*)(...))QPointerEvent::setAccepted +40 (int (*)(...))QTouchEvent::clone +48 (int (*)(...))QPointerEvent::setTimestamp +56 (int (*)(...))QTouchEvent::isBeginEvent +64 (int (*)(...))QTouchEvent::isUpdateEvent +72 (int (*)(...))QTouchEvent::isEndEvent + +Class QTouchEvent + size=80 align=8 + base size=79 base align=8 +QTouchEvent (0x0x7b9f3f5a1618) 0 + vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16) +QPointerEvent (0x0x7b9f3f5a1680) 0 + primary-for QTouchEvent (0x0x7b9f3f5a1618) +QInputEvent (0x0x7b9f3f5a16e8) 0 + primary-for QPointerEvent (0x0x7b9f3f5a1680) +QEvent (0x0x7b9f3f5ff3c0) 0 + primary-for QInputEvent (0x0x7b9f3f5a16e8) + +Vtable for QScrollPrepareEvent +QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollPrepareEvent) +16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent +24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QScrollPrepareEvent::clone + +Class QScrollPrepareEvent + size=96 align=8 + base size=96 base align=8 +QScrollPrepareEvent (0x0x7b9f3f5a1750) 0 + vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16) +QEvent (0x0x7b9f3f5ff540) 0 + primary-for QScrollPrepareEvent (0x0x7b9f3f5a1750) + +Vtable for QScrollEvent +QScrollEvent::_ZTV12QScrollEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QScrollEvent) +16 (int (*)(...))QScrollEvent::~QScrollEvent +24 (int (*)(...))QScrollEvent::~QScrollEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QScrollEvent::clone + +Class QScrollEvent + size=56 align=8 + base size=52 base align=8 +QScrollEvent (0x0x7b9f3f5a17b8) 0 + vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16) +QEvent (0x0x7b9f3f5ff720) 0 + primary-for QScrollEvent (0x0x7b9f3f5a17b8) + +Vtable for QScreenOrientationChangeEvent +QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent) +16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent +24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QScreenOrientationChangeEvent::clone + +Class QScreenOrientationChangeEvent + size=32 align=8 + base size=28 base align=8 +QScreenOrientationChangeEvent (0x0x7b9f3f5a1820) 0 + vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16) +QEvent (0x0x7b9f3f5ff8a0) 0 + primary-for QScreenOrientationChangeEvent (0x0x7b9f3f5a1820) + +Vtable for QApplicationStateChangeEvent +QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent) +16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent +24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QApplicationStateChangeEvent::clone + +Class QApplicationStateChangeEvent + size=24 align=8 + base size=20 base align=8 +QApplicationStateChangeEvent (0x0x7b9f3f5a1888) 0 + vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16) +QEvent (0x0x7b9f3f5ff9c0) 0 + primary-for QApplicationStateChangeEvent (0x0x7b9f3f5a1888) + +Vtable for QChildWindowEvent +QChildWindowEvent::_ZTV17QChildWindowEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QChildWindowEvent) +16 (int (*)(...))QChildWindowEvent::~QChildWindowEvent +24 (int (*)(...))QChildWindowEvent::~QChildWindowEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QChildWindowEvent::clone + +Class QChildWindowEvent + size=24 align=8 + base size=24 base align=8 +QChildWindowEvent (0x0x7b9f3f5a18f0) 0 + vptr=((& QChildWindowEvent::_ZTV17QChildWindowEvent) + 16) +QEvent (0x0x7b9f3f5ffa80) 0 + primary-for QChildWindowEvent (0x0x7b9f3f5a18f0) + +Class QFont::Tag + size=4 align=4 + base size=4 base align=4 +QFont::Tag (0x0x7b9f3f5ffba0) 0 + +Class QFont + size=16 align=8 + base size=12 base align=8 +QFont (0x0x7b9f3f5ffb40) 0 + +Class QFontDatabase + size=1 align=1 + base size=0 base align=1 +QFontDatabase (0x0x7b9f3f0172a0) 0 empty + +Class QRawFont + size=8 align=8 + base size=8 base align=8 +QRawFont (0x0x7b9f3f017480) 0 + +Class QGlyphRun + size=8 align=8 + base size=8 base align=8 +QGlyphRun (0x0x7b9f3f093d80) 0 + +Vtable for QAbstractUndoItem +QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractUndoItem) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAbstractUndoItem + size=8 align=8 + base size=8 base align=8 +QAbstractUndoItem (0x0x7b9f3f13ed20) 0 nearly-empty + vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16) + +Class QTextDocument::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextDocument::QPrivateSignal (0x0x7b9f3f164000) 0 empty + +Vtable for QTextDocument +QTextDocument::_ZTV13QTextDocument: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QTextDocument) +16 (int (*)(...))QTextDocument::metaObject +24 (int (*)(...))QTextDocument::qt_metacast +32 (int (*)(...))QTextDocument::qt_metacall +40 (int (*)(...))QTextDocument::~QTextDocument +48 (int (*)(...))QTextDocument::~QTextDocument +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextDocument::clear +120 (int (*)(...))QTextDocument::createObject +128 (int (*)(...))QTextDocument::loadResource + +Class QTextDocument + size=16 align=8 + base size=16 base align=8 +QTextDocument (0x0x7b9f3f150888) 0 + vptr=((& QTextDocument::_ZTV13QTextDocument) + 16) +QObject (0x0x7b9f3f13ef60) 0 + primary-for QTextDocument (0x0x7b9f3f150888) + +Class QBrushDataPointerDeleter + size=1 align=1 + base size=0 base align=1 +QBrushDataPointerDeleter (0x0x7b9f3f164960) 0 empty + +Class QBrush + size=8 align=8 + base size=8 base align=8 +QBrush (0x0x7b9f3f1649c0) 0 + +Class QBrushData + size=104 align=8 + base size=104 base align=8 +QBrushData (0x0x7b9f3efaee40) 0 + +Class QGradient::QGradientData + size=48 align=8 + base size=48 base align=8 +QGradient::QGradientData (0x0x7b9f3efd40c0) 0 + +Class QGradient + size=88 align=8 + base size=88 base align=8 +QGradient (0x0x7b9f3efd4060) 0 + +Class QLinearGradient + size=88 align=8 + base size=88 base align=8 +QLinearGradient (0x0x7b9f3efcd750) 0 +QGradient (0x0x7b9f3efd4e40) 0 + +Class QRadialGradient + size=88 align=8 + base size=88 base align=8 +QRadialGradient (0x0x7b9f3efcd7b8) 0 +QGradient (0x0x7b9f3efd4f60) 0 + +Class QConicalGradient + size=88 align=8 + base size=88 base align=8 +QConicalGradient (0x0x7b9f3efcd820) 0 +QGradient (0x0x7b9f3ec75060) 0 + +Class QPen + size=8 align=8 + base size=8 base align=8 +QPen (0x0x7b9f3ec75180) 0 + +Class QTextOption::Tab + size=16 align=8 + base size=14 base align=8 +QTextOption::Tab (0x0x7b9f3ece22a0) 0 + +Class QTextOption + size=24 align=8 + base size=24 base align=8 +QTextOption (0x0x7b9f3ece2240) 0 + +Class QTextLength + size=16 align=8 + base size=16 base align=8 +QTextLength (0x0x7b9f3ed873c0) 0 + +Class QTextFormat + size=16 align=8 + base size=12 base align=8 +QTextFormat (0x0x7b9f3edd85a0) 0 + +Class QTextCharFormat + size=16 align=8 + base size=12 base align=8 +QTextCharFormat (0x0x7b9f3eadf270) 0 +QTextFormat (0x0x7b9f3ead2a80) 0 + +Class QTextBlockFormat + size=16 align=8 + base size=12 base align=8 +QTextBlockFormat (0x0x7b9f3ec0b270) 0 +QTextFormat (0x0x7b9f3ec00540) 0 + +Class QTextListFormat + size=16 align=8 + base size=12 base align=8 +QTextListFormat (0x0x7b9f3e8639c0) 0 +QTextFormat (0x0x7b9f3e8771e0) 0 + +Class QTextImageFormat + size=16 align=8 + base size=12 base align=8 +QTextImageFormat (0x0x7b9f3e8d05b0) 0 +QTextCharFormat (0x0x7b9f3e8d0618) 0 +QTextFormat (0x0x7b9f3e8bbba0) 0 + +Class QTextFrameFormat + size=16 align=8 + base size=12 base align=8 +QTextFrameFormat (0x0x7b9f3e913d68) 0 +QTextFormat (0x0x7b9f3e92d1e0) 0 + +Class QTextTableFormat + size=16 align=8 + base size=12 base align=8 +QTextTableFormat (0x0x7b9f3e98ce38) 0 +QTextFrameFormat (0x0x7b9f3e98cea0) 0 +QTextFormat (0x0x7b9f3e99f540) 0 + +Class QTextTableCellFormat + size=16 align=8 + base size=12 base align=8 +QTextTableCellFormat (0x0x7b9f3e9fba90) 0 +QTextCharFormat (0x0x7b9f3e9fbaf8) 0 +QTextFormat (0x0x7b9f3ea0b360) 0 + +Class QTextCursor + size=8 align=8 + base size=8 base align=8 +QTextCursor (0x0x7b9f3e662d20) 0 + +Class QTextInlineObject + size=16 align=8 + base size=16 base align=8 +QTextInlineObject (0x0x7b9f3e6e8ba0) 0 + +Class QTextLayout::FormatRange + size=24 align=8 + base size=24 base align=8 +QTextLayout::FormatRange (0x0x7b9f3e714000) 0 + +Class QTextLayout + size=8 align=8 + base size=8 base align=8 +QTextLayout (0x0x7b9f3e6e8f60) 0 + +Class QTextLine + size=16 align=8 + base size=16 base align=8 +QTextLine (0x0x7b9f3e7c9c00) 0 + +Class QPalette + size=16 align=8 + base size=12 base align=8 +QPalette (0x0x7b9f3e4410c0) 0 + +Class QAbstractTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTextDocumentLayout::QPrivateSignal (0x0x7b9f3e4c8ea0) 0 empty + +Class QAbstractTextDocumentLayout::Selection + size=24 align=8 + base size=24 base align=8 +QAbstractTextDocumentLayout::Selection (0x0x7b9f3e4c8f00) 0 + +Class QAbstractTextDocumentLayout::PaintContext + size=80 align=8 + base size=80 base align=8 +QAbstractTextDocumentLayout::PaintContext (0x0x7b9f3e4c8f60) 0 + +Vtable for QAbstractTextDocumentLayout +QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout) +16 (int (*)(...))QAbstractTextDocumentLayout::metaObject +24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast +32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QAbstractTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QAbstractTextDocumentLayout (0x0x7b9f3e4d1bc8) 0 + vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16) +QObject (0x0x7b9f3e4c8e40) 0 + primary-for QAbstractTextDocumentLayout (0x0x7b9f3e4d1bc8) + +Vtable for QTextObjectInterface +QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextObjectInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QTextObjectInterface + size=8 align=8 + base size=8 base align=8 +QTextObjectInterface (0x0x7b9f3e212060) 0 nearly-empty + vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16) + +Class QAccessible::State + size=8 align=8 + base size=5 base align=8 +QAccessible::State (0x0x7b9f3e212480) 0 + +Vtable for QAccessible::ActivationObserver +QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAccessible::ActivationObserver + size=8 align=8 + base size=8 base align=8 +QAccessible::ActivationObserver (0x0x7b9f3e2124e0) 0 nearly-empty + vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16) + +Class QAccessible + size=1 align=1 + base size=0 base align=1 +QAccessible (0x0x7b9f3e212420) 0 empty + +Vtable for QAccessibleInterface +QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAccessibleInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleInterface (0x0x7b9f3e212ea0) 0 nearly-empty + vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16) + +Vtable for QAccessibleTextInterface +QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAccessibleTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset +104 (int (*)(...))QAccessibleTextInterface::textAfterOffset +112 (int (*)(...))QAccessibleTextInterface::textAtOffset +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTextInterface (0x0x7b9f3e2a0300) 0 nearly-empty + vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16) + +Vtable for QAccessibleEditableTextInterface +QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleEditableTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleEditableTextInterface (0x0x7b9f3e2a0360) 0 nearly-empty + vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16) + +Vtable for QAccessibleValueInterface +QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleValueInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleValueInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleValueInterface (0x0x7b9f3e2a03c0) 0 nearly-empty + vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16) + +Vtable for QAccessibleTableCellInterface +QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableCellInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableCellInterface (0x0x7b9f3e2a0420) 0 nearly-empty + vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16) + +Vtable for QAccessibleTableInterface +QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleTableInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableInterface (0x0x7b9f3e2a0480) 0 nearly-empty + vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16) + +Vtable for QAccessibleActionInterface +QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleActionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QAccessibleActionInterface::localizedActionName +48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleActionInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleActionInterface (0x0x7b9f3e2a04e0) 0 nearly-empty + vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16) + +Vtable for QAccessibleImageInterface +QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleImageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleImageInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleImageInterface (0x0x7b9f3e2a05a0) 0 nearly-empty + vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16) + +Vtable for QAccessibleHyperlinkInterface +QAccessibleHyperlinkInterface::_ZTV29QAccessibleHyperlinkInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleHyperlinkInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleHyperlinkInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleHyperlinkInterface (0x0x7b9f3e2a0600) 0 nearly-empty + vptr=((& QAccessibleHyperlinkInterface::_ZTV29QAccessibleHyperlinkInterface) + 16) + +Vtable for QAccessibleSelectionInterface +QAccessibleSelectionInterface::_ZTV29QAccessibleSelectionInterface: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleSelectionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QAccessibleSelectionInterface::selectedItem +56 (int (*)(...))QAccessibleSelectionInterface::isSelected +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleSelectionInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleSelectionInterface (0x0x7b9f3e2a0660) 0 nearly-empty + vptr=((& QAccessibleSelectionInterface::_ZTV29QAccessibleSelectionInterface) + 16) + +Vtable for QAccessibleEvent +QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAccessibleEvent) +16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleEvent + size=32 align=8 + base size=28 base align=8 +QAccessibleEvent (0x0x7b9f3e2a06c0) 0 + vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16) + +Vtable for QAccessibleStateChangeEvent +QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent) +16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleStateChangeEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleStateChangeEvent (0x0x7b9f3e6067b8) 0 + vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16) +QAccessibleEvent (0x0x7b9f3e2a0c00) 0 + primary-for QAccessibleStateChangeEvent (0x0x7b9f3e6067b8) + +Vtable for QAccessibleTextCursorEvent +QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent) +16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextCursorEvent + size=32 align=8 + base size=32 base align=8 +QAccessibleTextCursorEvent (0x0x7b9f3e606820) 0 + vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16) +QAccessibleEvent (0x0x7b9f3e2f7000) 0 + primary-for QAccessibleTextCursorEvent (0x0x7b9f3e606820) + +Vtable for QAccessibleTextSelectionEvent +QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent) +16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextSelectionEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleTextSelectionEvent (0x0x7b9f3e606888) 0 + vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16) +QAccessibleTextCursorEvent (0x0x7b9f3e6068f0) 0 + primary-for QAccessibleTextSelectionEvent (0x0x7b9f3e606888) +QAccessibleEvent (0x0x7b9f3e2f7420) 0 + primary-for QAccessibleTextCursorEvent (0x0x7b9f3e6068f0) + +Vtable for QAccessibleTextInsertEvent +QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent) +16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextInsertEvent + size=64 align=8 + base size=64 base align=8 +QAccessibleTextInsertEvent (0x0x7b9f3e606958) 0 + vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16) +QAccessibleTextCursorEvent (0x0x7b9f3e6069c0) 0 + primary-for QAccessibleTextInsertEvent (0x0x7b9f3e606958) +QAccessibleEvent (0x0x7b9f3e2f78a0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7b9f3e6069c0) + +Vtable for QAccessibleTextRemoveEvent +QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent) +16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextRemoveEvent + size=64 align=8 + base size=64 base align=8 +QAccessibleTextRemoveEvent (0x0x7b9f3e606a28) 0 + vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16) +QAccessibleTextCursorEvent (0x0x7b9f3e606a90) 0 + primary-for QAccessibleTextRemoveEvent (0x0x7b9f3e606a28) +QAccessibleEvent (0x0x7b9f3e2f7cc0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7b9f3e606a90) + +Vtable for QAccessibleTextUpdateEvent +QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent) +16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextUpdateEvent + size=88 align=8 + base size=88 base align=8 +QAccessibleTextUpdateEvent (0x0x7b9f3e606af8) 0 + vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16) +QAccessibleTextCursorEvent (0x0x7b9f3e606b60) 0 + primary-for QAccessibleTextUpdateEvent (0x0x7b9f3e606af8) +QAccessibleEvent (0x0x7b9f3e32a120) 0 + primary-for QAccessibleTextCursorEvent (0x0x7b9f3e606b60) + +Vtable for QAccessibleValueChangeEvent +QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent) +16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleValueChangeEvent + size=64 align=8 + base size=64 base align=8 +QAccessibleValueChangeEvent (0x0x7b9f3e606bc8) 0 + vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16) +QAccessibleEvent (0x0x7b9f3e32a5a0) 0 + primary-for QAccessibleValueChangeEvent (0x0x7b9f3e606bc8) + +Vtable for QAccessibleTableModelChangeEvent +QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent) +16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTableModelChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTableModelChangeEvent (0x0x7b9f3e606c30) 0 + vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16) +QAccessibleEvent (0x0x7b9f3e32a9c0) 0 + primary-for QAccessibleTableModelChangeEvent (0x0x7b9f3e606c30) + +Vtable for QAccessibleBridge +QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleBridge) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridge + size=8 align=8 + base size=8 base align=8 +QAccessibleBridge (0x0x7b9f3e35d480) 0 nearly-empty + vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16) + +Class QAccessibleBridgePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessibleBridgePlugin::QPrivateSignal (0x0x7b9f3e35d720) 0 empty + +Vtable for QAccessibleBridgePlugin +QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin) +16 (int (*)(...))QAccessibleBridgePlugin::metaObject +24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast +32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridgePlugin + size=16 align=8 + base size=16 base align=8 +QAccessibleBridgePlugin (0x0x7b9f3e606d68) 0 + vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16) +QObject (0x0x7b9f3e35d6c0) 0 + primary-for QAccessibleBridgePlugin (0x0x7b9f3e606d68) + +Vtable for QAccessibleObject +QAccessibleObject::_ZTV17QAccessibleObject: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleObject) +16 0 +24 0 +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleObject + size=16 align=8 + base size=16 base align=8 +QAccessibleObject (0x0x7b9f3e606dd0) 0 + vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16) +QAccessibleInterface (0x0x7b9f3e35d7e0) 0 nearly-empty + primary-for QAccessibleObject (0x0x7b9f3e606dd0) + +Vtable for QAccessibleApplication +QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QAccessibleApplication) +16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleApplication::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleApplication::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleApplication::parent +88 (int (*)(...))QAccessibleApplication::child +96 (int (*)(...))QAccessibleApplication::childCount +104 (int (*)(...))QAccessibleApplication::indexOfChild +112 (int (*)(...))QAccessibleApplication::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))QAccessibleApplication::role +144 (int (*)(...))QAccessibleApplication::state +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleApplication + size=16 align=8 + base size=16 base align=8 +QAccessibleApplication (0x0x7b9f3e606e38) 0 + vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16) +QAccessibleObject (0x0x7b9f3e606ea0) 0 + primary-for QAccessibleApplication (0x0x7b9f3e606e38) +QAccessibleInterface (0x0x7b9f3e35d840) 0 nearly-empty + primary-for QAccessibleObject (0x0x7b9f3e606ea0) + +Class QAccessiblePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessiblePlugin::QPrivateSignal (0x0x7b9f3e35d900) 0 empty + +Vtable for QAccessiblePlugin +QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessiblePlugin) +16 (int (*)(...))QAccessiblePlugin::metaObject +24 (int (*)(...))QAccessiblePlugin::qt_metacast +32 (int (*)(...))QAccessiblePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessiblePlugin + size=16 align=8 + base size=16 base align=8 +QAccessiblePlugin (0x0x7b9f3e606f08) 0 + vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16) +QObject (0x0x7b9f3e35d8a0) 0 + primary-for QAccessiblePlugin (0x0x7b9f3e606f08) + +Class QAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAction::QPrivateSignal (0x0x7b9f3e35da20) 0 empty + +Vtable for QAction +QAction::_ZTV7QAction: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QAction) +16 (int (*)(...))QAction::metaObject +24 (int (*)(...))QAction::qt_metacast +32 (int (*)(...))QAction::qt_metacall +40 (int (*)(...))QAction::~QAction +48 (int (*)(...))QAction::~QAction +56 (int (*)(...))QAction::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QAction + size=16 align=8 + base size=16 base align=8 +QAction (0x0x7b9f3e606f70) 0 + vptr=((& QAction::_ZTV7QAction) + 16) +QObject (0x0x7b9f3e35d9c0) 0 + primary-for QAction (0x0x7b9f3e606f70) + +Class QActionGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QActionGroup::QPrivateSignal (0x0x7b9f3e3c9360) 0 empty + +Vtable for QActionGroup +QActionGroup::_ZTV12QActionGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionGroup) +16 (int (*)(...))QActionGroup::metaObject +24 (int (*)(...))QActionGroup::qt_metacast +32 (int (*)(...))QActionGroup::qt_metacall +40 (int (*)(...))QActionGroup::~QActionGroup +48 (int (*)(...))QActionGroup::~QActionGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QActionGroup + size=16 align=8 + base size=16 base align=8 +QActionGroup (0x0x7b9f3e3cd000) 0 + vptr=((& QActionGroup::_ZTV12QActionGroup) + 16) +QObject (0x0x7b9f3e3c9300) 0 + primary-for QActionGroup (0x0x7b9f3e3cd000) + +Class QSurfaceFormat + size=8 align=8 + base size=8 base align=8 +QSurfaceFormat (0x0x7b9f3e3c9600) 0 + +Vtable for QSurface +QSurface::_ZTV8QSurface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSurface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QSurface + size=24 align=8 + base size=24 base align=8 +QSurface (0x0x7b9f3e04f000) 0 + vptr=((& QSurface::_ZTV8QSurface) + 16) + +Vtable for QBitmap +QBitmap::_ZTV7QBitmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBitmap) +16 (int (*)(...))QBitmap::~QBitmap +24 (int (*)(...))QBitmap::~QBitmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QBitmap + size=24 align=8 + base size=24 base align=8 +QBitmap (0x0x7b9f3e3cdd00) 0 + vptr=((& QBitmap::_ZTV7QBitmap) + 16) +QPixmap (0x0x7b9f3e3cdd68) 0 + primary-for QBitmap (0x0x7b9f3e3cdd00) +QPaintDevice (0x0x7b9f3e078360) 0 + primary-for QPixmap (0x0x7b9f3e3cdd68) + +Class QCursor + size=8 align=8 + base size=8 base align=8 +QCursor (0x0x7b9f3e0cb240) 0 + +Class QWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWindow::QPrivateSignal (0x0x7b9f3e11e5a0) 0 empty + +Vtable for QWindow +QWindow::_ZTV7QWindow: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWindow) +16 (int (*)(...))QWindow::metaObject +24 (int (*)(...))QWindow::qt_metacast +32 (int (*)(...))QWindow::qt_metacall +40 (int (*)(...))QWindow::~QWindow +48 (int (*)(...))QWindow::~QWindow +56 (int (*)(...))QWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QWindow::focusInEvent +192 (int (*)(...))QWindow::focusOutEvent +200 (int (*)(...))QWindow::showEvent +208 (int (*)(...))QWindow::hideEvent +216 (int (*)(...))QWindow::closeEvent +224 (int (*)(...))QWindow::keyPressEvent +232 (int (*)(...))QWindow::keyReleaseEvent +240 (int (*)(...))QWindow::mousePressEvent +248 (int (*)(...))QWindow::mouseReleaseEvent +256 (int (*)(...))QWindow::mouseDoubleClickEvent +264 (int (*)(...))QWindow::mouseMoveEvent +272 (int (*)(...))QWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))-16 +320 (int (*)(...))(& _ZTI7QWindow) +328 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev +336 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QWindow + size=40 align=8 + base size=40 base align=8 +QWindow (0x0x7b9f3e0c4af0) 0 + vptr=((& QWindow::_ZTV7QWindow) + 16) +QObject (0x0x7b9f3e11e4e0) 0 + primary-for QWindow (0x0x7b9f3e0c4af0) +QSurface (0x0x7b9f3e11e540) 16 + vptr=((& QWindow::_ZTV7QWindow) + 328) + +Class QBackingStore + size=8 align=8 + base size=8 base align=8 +QBackingStore (0x0x7b9f3e11ee40) 0 + +Class QClipboard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QClipboard::QPrivateSignal (0x0x7b9f3e11ef60) 0 empty + +Vtable for QClipboard +QClipboard::_ZTV10QClipboard: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QClipboard) +16 (int (*)(...))QClipboard::metaObject +24 (int (*)(...))QClipboard::qt_metacast +32 (int (*)(...))QClipboard::qt_metacall +40 (int (*)(...))QClipboard::~QClipboard +48 (int (*)(...))QClipboard::~QClipboard +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QClipboard + size=16 align=8 + base size=16 base align=8 +QClipboard (0x0x7b9f3e12d0d0) 0 + vptr=((& QClipboard::_ZTV10QClipboard) + 16) +QObject (0x0x7b9f3e11ef00) 0 + primary-for QClipboard (0x0x7b9f3e12d0d0) + +Class QColorTransform + size=8 align=8 + base size=8 base align=8 +QColorTransform (0x0x7b9f3e1a00c0) 0 + +Class QColorSpace + size=8 align=8 + base size=8 base align=8 +QColorSpace (0x0x7b9f3e1f4780) 0 + +Class QDesktopServices + size=1 align=1 + base size=0 base align=1 +QDesktopServices (0x0x7b9f3de6cae0) 0 empty + +Class QDrag::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDrag::QPrivateSignal (0x0x7b9f3de6cba0) 0 empty + +Vtable for QDrag +QDrag::_ZTV5QDrag: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDrag) +16 (int (*)(...))QDrag::metaObject +24 (int (*)(...))QDrag::qt_metacast +32 (int (*)(...))QDrag::qt_metacall +40 (int (*)(...))QDrag::~QDrag +48 (int (*)(...))QDrag::~QDrag +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDrag + size=16 align=8 + base size=16 base align=8 +QDrag (0x0x7b9f3de72f08) 0 + vptr=((& QDrag::_ZTV5QDrag) + 16) +QObject (0x0x7b9f3de6cb40) 0 + primary-for QDrag (0x0x7b9f3de72f08) + +Class QFileSystemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemModel::QPrivateSignal (0x0x7b9f3de6cd80) 0 empty + +Vtable for QFileSystemModel +QFileSystemModel::_ZTV16QFileSystemModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QFileSystemModel) +16 (int (*)(...))QFileSystemModel::metaObject +24 (int (*)(...))QFileSystemModel::qt_metacast +32 (int (*)(...))QFileSystemModel::qt_metacall +40 (int (*)(...))QFileSystemModel::~QFileSystemModel +48 (int (*)(...))QFileSystemModel::~QFileSystemModel +56 (int (*)(...))QFileSystemModel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QFileSystemModel::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileSystemModel::index +120 (int (*)(...))QFileSystemModel::parent +128 (int (*)(...))QFileSystemModel::sibling +136 (int (*)(...))QFileSystemModel::rowCount +144 (int (*)(...))QFileSystemModel::columnCount +152 (int (*)(...))QFileSystemModel::hasChildren +160 (int (*)(...))QFileSystemModel::data +168 (int (*)(...))QFileSystemModel::setData +176 (int (*)(...))QFileSystemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QFileSystemModel::mimeTypes +224 (int (*)(...))QFileSystemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QFileSystemModel::dropMimeData +248 (int (*)(...))QFileSystemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QFileSystemModel::fetchMore +320 (int (*)(...))QFileSystemModel::canFetchMore +328 (int (*)(...))QFileSystemModel::flags +336 (int (*)(...))QFileSystemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QFileSystemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QFileSystemModel + size=16 align=8 + base size=16 base align=8 +QFileSystemModel (0x0x7b9f3de72f70) 0 + vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16) +QAbstractItemModel (0x0x7b9f3de9b000) 0 + primary-for QFileSystemModel (0x0x7b9f3de72f70) +QObject (0x0x7b9f3de6cd20) 0 + primary-for QAbstractItemModel (0x0x7b9f3de9b000) + +Class QFontInfo + size=8 align=8 + base size=8 base align=8 +QFontInfo (0x0x7b9f3decd540) 0 + +Class QFontMetrics + size=8 align=8 + base size=8 base align=8 +QFontMetrics (0x0x7b9f3df57420) 0 + +Class QFontMetricsF + size=8 align=8 + base size=8 base align=8 +QFontMetricsF (0x0x7b9f3dfb1420) 0 + +Class QGenericPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGenericPlugin::QPrivateSignal (0x0x7b9f3da3f900) 0 empty + +Vtable for QGenericPlugin +QGenericPlugin::_ZTV14QGenericPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGenericPlugin) +16 (int (*)(...))QGenericPlugin::metaObject +24 (int (*)(...))QGenericPlugin::qt_metacast +32 (int (*)(...))QGenericPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGenericPlugin + size=16 align=8 + base size=16 base align=8 +QGenericPlugin (0x0x7b9f3da48138) 0 + vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16) +QObject (0x0x7b9f3da3f8a0) 0 + primary-for QGenericPlugin (0x0x7b9f3da48138) + +Class QGenericPluginFactory + size=1 align=1 + base size=0 base align=1 +QGenericPluginFactory (0x0x7b9f3da3f9c0) 0 empty + +Class QIconEngine::ScaledPixmapArgument + size=48 align=8 + base size=48 base align=8 +QIconEngine::ScaledPixmapArgument (0x0x7b9f3da3fa80) 0 + +Vtable for QIconEngine +QIconEngine::_ZTV11QIconEngine: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QIconEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QIconEngine::actualSize +48 (int (*)(...))QIconEngine::pixmap +56 (int (*)(...))QIconEngine::addPixmap +64 (int (*)(...))QIconEngine::addFile +72 (int (*)(...))QIconEngine::key +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QIconEngine::read +96 (int (*)(...))QIconEngine::write +104 (int (*)(...))QIconEngine::availableSizes +112 (int (*)(...))QIconEngine::iconName +120 (int (*)(...))QIconEngine::isNull +128 (int (*)(...))QIconEngine::scaledPixmap +136 (int (*)(...))QIconEngine::virtual_hook + +Class QIconEngine + size=8 align=8 + base size=8 base align=8 +QIconEngine (0x0x7b9f3da3fa20) 0 nearly-empty + vptr=((& QIconEngine::_ZTV11QIconEngine) + 16) + +Class QIconEnginePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIconEnginePlugin::QPrivateSignal (0x0x7b9f3da3fb40) 0 empty + +Vtable for QIconEnginePlugin +QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QIconEnginePlugin) +16 (int (*)(...))QIconEnginePlugin::metaObject +24 (int (*)(...))QIconEnginePlugin::qt_metacast +32 (int (*)(...))QIconEnginePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QIconEnginePlugin + size=16 align=8 + base size=16 base align=8 +QIconEnginePlugin (0x0x7b9f3da481a0) 0 + vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16) +QObject (0x0x7b9f3da3fae0) 0 + primary-for QIconEnginePlugin (0x0x7b9f3da481a0) + +Vtable for QImageIOHandler +QImageIOHandler::_ZTV15QImageIOHandler: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QImageIOHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QImageIOHandler::write +56 (int (*)(...))QImageIOHandler::option +64 (int (*)(...))QImageIOHandler::setOption +72 (int (*)(...))QImageIOHandler::supportsOption +80 (int (*)(...))QImageIOHandler::jumpToNextImage +88 (int (*)(...))QImageIOHandler::jumpToImage +96 (int (*)(...))QImageIOHandler::loopCount +104 (int (*)(...))QImageIOHandler::imageCount +112 (int (*)(...))QImageIOHandler::nextImageDelay +120 (int (*)(...))QImageIOHandler::currentImageNumber +128 (int (*)(...))QImageIOHandler::currentImageRect + +Class QImageIOHandler + size=16 align=8 + base size=16 base align=8 +QImageIOHandler (0x0x7b9f3da3fc00) 0 + vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16) + +Class QImageIOPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QImageIOPlugin::QPrivateSignal (0x0x7b9f3da3fe40) 0 empty + +Vtable for QImageIOPlugin +QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QImageIOPlugin) +16 (int (*)(...))QImageIOPlugin::metaObject +24 (int (*)(...))QImageIOPlugin::qt_metacast +32 (int (*)(...))QImageIOPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QImageIOPlugin + size=16 align=8 + base size=16 base align=8 +QImageIOPlugin (0x0x7b9f3da48208) 0 + vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16) +QObject (0x0x7b9f3da3fde0) 0 + primary-for QImageIOPlugin (0x0x7b9f3da48208) + +Class QImageReader + size=8 align=8 + base size=8 base align=8 +QImageReader (0x0x7b9f3daa63c0) 0 + +Class QImageWriter + size=8 align=8 + base size=8 base align=8 +QImageWriter (0x0x7b9f3daa6480) 0 + +Class QQuaternion + size=16 align=4 + base size=16 base align=4 +QQuaternion (0x0x7b9f3daa6540) 0 + +Class QMatrix4x4 + size=68 align=4 + base size=68 base align=4 +QMatrix4x4 (0x0x7b9f3dba19c0) 0 + +Class QMovie::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMovie::QPrivateSignal (0x0x7b9f3d9315a0) 0 empty + +Vtable for QMovie +QMovie::_ZTV6QMovie: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QMovie) +16 (int (*)(...))QMovie::metaObject +24 (int (*)(...))QMovie::qt_metacast +32 (int (*)(...))QMovie::qt_metacall +40 (int (*)(...))QMovie::~QMovie +48 (int (*)(...))QMovie::~QMovie +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QMovie + size=16 align=8 + base size=16 base align=8 +QMovie (0x0x7b9f3d878340) 0 + vptr=((& QMovie::_ZTV6QMovie) + 16) +QObject (0x0x7b9f3d931540) 0 + primary-for QMovie (0x0x7b9f3d878340) + +Class QOffscreenSurface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOffscreenSurface::QPrivateSignal (0x0x7b9f3d931960) 0 empty + +Vtable for QOffscreenSurface +QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOffscreenSurface) +16 (int (*)(...))QOffscreenSurface::metaObject +24 (int (*)(...))QOffscreenSurface::qt_metacast +32 (int (*)(...))QOffscreenSurface::qt_metacall +40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOffscreenSurface::surfaceType +120 (int (*)(...))QOffscreenSurface::format +128 (int (*)(...))QOffscreenSurface::size +136 (int (*)(...))QOffscreenSurface::surfaceHandle +144 (int (*)(...))-16 +152 (int (*)(...))(& _ZTI17QOffscreenSurface) +160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev +168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev +176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv +184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv +192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv +200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv + +Class QOffscreenSurface + size=40 align=8 + base size=40 base align=8 +QOffscreenSurface (0x0x7b9f3d976460) 0 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16) +QObject (0x0x7b9f3d9318a0) 0 + primary-for QOffscreenSurface (0x0x7b9f3d976460) +QSurface (0x0x7b9f3d931900) 16 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160) + +Class QOpenGLContextGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContextGroup::QPrivateSignal (0x0x7b9f3d931c00) 0 empty + +Vtable for QOpenGLContextGroup +QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QOpenGLContextGroup) +16 (int (*)(...))QOpenGLContextGroup::metaObject +24 (int (*)(...))QOpenGLContextGroup::qt_metacast +32 (int (*)(...))QOpenGLContextGroup::qt_metacall +40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContextGroup + size=16 align=8 + base size=16 base align=8 +QOpenGLContextGroup (0x0x7b9f3d8783a8) 0 + vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16) +QObject (0x0x7b9f3d931ba0) 0 + primary-for QOpenGLContextGroup (0x0x7b9f3d8783a8) + +Class QOpenGLContext::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContext::QPrivateSignal (0x0x7b9f3d931de0) 0 empty + +Vtable for QOpenGLContext +QOpenGLContext::_ZTV14QOpenGLContext: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QOpenGLContext) +16 (int (*)(...))QOpenGLContext::metaObject +24 (int (*)(...))QOpenGLContext::qt_metacast +32 (int (*)(...))QOpenGLContext::qt_metacall +40 (int (*)(...))QOpenGLContext::~QOpenGLContext +48 (int (*)(...))QOpenGLContext::~QOpenGLContext +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContext + size=16 align=8 + base size=16 base align=8 +QOpenGLContext (0x0x7b9f3d878410) 0 + vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16) +QObject (0x0x7b9f3d931d80) 0 + primary-for QOpenGLContext (0x0x7b9f3d878410) + +Class QNativeInterface::QGLXContext::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QGLXContext::TypeInfo (0x0x7b9f3d5ea060) 0 empty + +Vtable for QNativeInterface::QGLXContext +QNativeInterface::QGLXContext::_ZTVN16QNativeInterface11QGLXContextE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface11QGLXContextE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QGLXContext + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QGLXContext (0x0x7b9f3d5ea000) 0 nearly-empty + vptr=((& QNativeInterface::QGLXContext::_ZTVN16QNativeInterface11QGLXContextE) + 16) + +Class QNativeInterface::QEGLContext::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QEGLContext::TypeInfo (0x0x7b9f3d5ea120) 0 empty + +Vtable for QNativeInterface::QEGLContext +QNativeInterface::QEGLContext::_ZTVN16QNativeInterface11QEGLContextE: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface11QEGLContextE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QEGLContext + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QEGLContext (0x0x7b9f3d5ea0c0) 0 nearly-empty + vptr=((& QNativeInterface::QEGLContext::_ZTVN16QNativeInterface11QEGLContextE) + 16) + +Class QOpenGLFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLFunctions (0x0x7b9f3d5ea180) 0 + +Class QOpenGLFunctionsPrivate::Functions + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate::Functions (0x0x7b9f3d5ea8a0) 0 + +Class QOpenGLFunctionsPrivate + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate (0x0x7b9f3d5ea840) 0 + +Class QOpenGLExtraFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLExtraFunctions (0x0x7b9f3d8787b8) 0 +QOpenGLFunctions (0x0x7b9f3d39d060) 0 + +Class QOpenGLExtraFunctionsPrivate::Functions + size=1728 align=8 + base size=1728 base align=8 +QOpenGLExtraFunctionsPrivate::Functions (0x0x7b9f3d39d3c0) 0 + +Class QOpenGLExtraFunctionsPrivate + size=2880 align=8 + base size=2880 base align=8 +QOpenGLExtraFunctionsPrivate (0x0x7b9f3d878820) 0 +QOpenGLFunctionsPrivate (0x0x7b9f3d39d360) 0 + +Class QPageSize + size=8 align=8 + base size=8 base align=8 +QPageSize (0x0x7b9f3d1b40c0) 0 + +Class QPageLayout + size=8 align=8 + base size=8 base align=8 +QPageLayout (0x0x7b9f3ce03a20) 0 + +Class QPageRanges::Range + size=8 align=4 + base size=8 base align=4 +QPageRanges::Range (0x0x7b9f3cf37a20) 0 + +Class QPageRanges + size=8 align=8 + base size=8 base align=8 +QPageRanges (0x0x7b9f3cf379c0) 0 + +Vtable for QPagedPaintDevice +QPagedPaintDevice::_ZTV17QPagedPaintDevice: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QPagedPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QPagedPaintDevice::setPageLayout +96 (int (*)(...))QPagedPaintDevice::setPageSize +104 (int (*)(...))QPagedPaintDevice::setPageOrientation +112 (int (*)(...))QPagedPaintDevice::setPageMargins +120 (int (*)(...))QPagedPaintDevice::setPageRanges + +Class QPagedPaintDevice + size=24 align=8 + base size=24 base align=8 +QPagedPaintDevice (0x0x7b9f3cc068f0) 0 + vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16) +QPaintDevice (0x0x7b9f3cc24000) 0 + primary-for QPagedPaintDevice (0x0x7b9f3cc068f0) + +Class QPaintDeviceWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPaintDeviceWindow::QPrivateSignal (0x0x7b9f3cc24180) 0 empty + +Vtable for QPaintDeviceWindow +QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 59 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +16 (int (*)(...))QPaintDeviceWindow::metaObject +24 (int (*)(...))QPaintDeviceWindow::qt_metacast +32 (int (*)(...))QPaintDeviceWindow::qt_metacall +40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QPaintDeviceWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QWindow::focusInEvent +192 (int (*)(...))QWindow::focusOutEvent +200 (int (*)(...))QWindow::showEvent +208 (int (*)(...))QWindow::hideEvent +216 (int (*)(...))QWindow::closeEvent +224 (int (*)(...))QWindow::keyPressEvent +232 (int (*)(...))QWindow::keyReleaseEvent +240 (int (*)(...))QWindow::mousePressEvent +248 (int (*)(...))QWindow::mouseReleaseEvent +256 (int (*)(...))QWindow::mouseDoubleClickEvent +264 (int (*)(...))QWindow::mouseMoveEvent +272 (int (*)(...))QWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))QPaintDeviceWindow::metric +320 (int (*)(...))QPaintDeviceWindow::paintEngine +328 (int (*)(...))-16 +336 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev +352 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +392 (int (*)(...))-40 +400 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev +416 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev +424 (int (*)(...))QPaintDevice::devType +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +440 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE +448 (int (*)(...))QPaintDevice::initPainter +456 (int (*)(...))QPaintDevice::redirected +464 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDeviceWindow + size=56 align=8 + base size=50 base align=8 +QPaintDeviceWindow (0x0x7b9f3cc161c0) 0 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16) +QWindow (0x0x7b9f3cc16230) 0 + primary-for QPaintDeviceWindow (0x0x7b9f3cc161c0) +QObject (0x0x7b9f3cc24060) 0 + primary-for QWindow (0x0x7b9f3cc16230) +QSurface (0x0x7b9f3cc240c0) 16 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 344) +QPaintDevice (0x0x7b9f3cc24120) 40 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 408) + +Class QPainter::PixmapFragment + size=80 align=8 + base size=80 base align=8 +QPainter::PixmapFragment (0x0x7b9f3cc24360) 0 + +Class QPainter + size=8 align=8 + base size=8 base align=8 +QPainter (0x0x7b9f3cc24300) 0 + +Class QTextItem + size=1 align=1 + base size=0 base align=1 +QTextItem (0x0x7b9f3c89d840) 0 empty + +Vtable for QPaintEngine +QPaintEngine::_ZTV12QPaintEngine: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QPaintEngine::drawRects +64 (int (*)(...))QPaintEngine::drawRects +72 (int (*)(...))QPaintEngine::drawLines +80 (int (*)(...))QPaintEngine::drawLines +88 (int (*)(...))QPaintEngine::drawEllipse +96 (int (*)(...))QPaintEngine::drawEllipse +104 (int (*)(...))QPaintEngine::drawPath +112 (int (*)(...))QPaintEngine::drawPoints +120 (int (*)(...))QPaintEngine::drawPoints +128 (int (*)(...))QPaintEngine::drawPolygon +136 (int (*)(...))QPaintEngine::drawPolygon +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QPaintEngine::drawTextItem +160 (int (*)(...))QPaintEngine::drawTiledPixmap +168 (int (*)(...))QPaintEngine::drawImage +176 (int (*)(...))QPaintEngine::coordinateOffset +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))QPaintEngine::createPixmap +200 (int (*)(...))QPaintEngine::createPixmapFromImage + +Class QPaintEngine + size=32 align=8 + base size=32 base align=8 +QPaintEngine (0x0x7b9f3c8f1600) 0 + vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16) + +Class QPaintEngineState + size=4 align=4 + base size=4 base align=4 +QPaintEngineState (0x0x7b9f3c8f1c00) 0 + +Class QPainterPath::Element + size=24 align=8 + base size=24 base align=8 +QPainterPath::Element (0x0x7b9f3c984b40) 0 + +Class QPainterPath + size=8 align=8 + base size=8 base align=8 +QPainterPath (0x0x7b9f3c984ae0) 0 + +Class QPainterPathStroker + size=8 align=8 + base size=8 base align=8 +QPainterPathStroker (0x0x7b9f3c6f98a0) 0 + +Class QPdfWriter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPdfWriter::QPrivateSignal (0x0x7b9f3c73b060) 0 empty + +Vtable for QPdfWriter +QPdfWriter::_ZTV10QPdfWriter: 33 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QPdfWriter) +16 (int (*)(...))QPdfWriter::metaObject +24 (int (*)(...))QPdfWriter::qt_metacast +32 (int (*)(...))QPdfWriter::qt_metacall +40 (int (*)(...))QPdfWriter::~QPdfWriter +48 (int (*)(...))QPdfWriter::~QPdfWriter +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPdfWriter::newPage +120 (int (*)(...))QPdfWriter::paintEngine +128 (int (*)(...))QPdfWriter::metric +136 (int (*)(...))-16 +144 (int (*)(...))(& _ZTI10QPdfWriter) +152 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev +160 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev +168 (int (*)(...))QPaintDevice::devType +176 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv +184 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE +192 (int (*)(...))QPaintDevice::initPainter +200 (int (*)(...))QPaintDevice::redirected +208 (int (*)(...))QPaintDevice::sharedPainter +216 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv +224 (int (*)(...))QPagedPaintDevice::setPageLayout +232 (int (*)(...))QPagedPaintDevice::setPageSize +240 (int (*)(...))QPagedPaintDevice::setPageOrientation +248 (int (*)(...))QPagedPaintDevice::setPageMargins +256 (int (*)(...))QPagedPaintDevice::setPageRanges + +Class QPdfWriter + size=40 align=8 + base size=40 base align=8 +QPdfWriter (0x0x7b9f3c7322a0) 0 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16) +QObject (0x0x7b9f3c6f9360) 0 + primary-for QPdfWriter (0x0x7b9f3c7322a0) +QPagedPaintDevice (0x0x7b9f3c6f8f08) 16 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 152) +QPaintDevice (0x0x7b9f3c73b000) 16 + primary-for QPagedPaintDevice (0x0x7b9f3c6f8f08) + +Vtable for QPicture +QPicture::_ZTV8QPicture: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QPicture) +16 (int (*)(...))QPicture::~QPicture +24 (int (*)(...))QPicture::~QPicture +32 (int (*)(...))QPicture::devType +40 (int (*)(...))QPicture::paintEngine +48 (int (*)(...))QPicture::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QPicture::setData + +Class QPicture + size=24 align=8 + base size=24 base align=8 +QPicture (0x0x7b9f3c6f8f70) 0 + vptr=((& QPicture::_ZTV8QPicture) + 16) +QPaintDevice (0x0x7b9f3c73b240) 0 + primary-for QPicture (0x0x7b9f3c6f8f70) + +Class QPixmapCache::Key + size=8 align=8 + base size=8 base align=8 +QPixmapCache::Key (0x0x7b9f3c3af300) 0 + +Class QPixmapCache + size=1 align=1 + base size=0 base align=1 +QPixmapCache (0x0x7b9f3c3af2a0) 0 empty + +Class QRasterWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRasterWindow::QPrivateSignal (0x0x7b9f3c3f4900) 0 empty + +Vtable for QRasterWindow +QRasterWindow::_ZTV13QRasterWindow: 60 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QRasterWindow) +16 (int (*)(...))QRasterWindow::metaObject +24 (int (*)(...))QRasterWindow::qt_metacast +32 (int (*)(...))QRasterWindow::qt_metacall +40 (int (*)(...))QRasterWindow::~QRasterWindow +48 (int (*)(...))QRasterWindow::~QRasterWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QRasterWindow::resizeEvent +168 (int (*)(...))QPaintDeviceWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QWindow::focusInEvent +192 (int (*)(...))QWindow::focusOutEvent +200 (int (*)(...))QWindow::showEvent +208 (int (*)(...))QWindow::hideEvent +216 (int (*)(...))QWindow::closeEvent +224 (int (*)(...))QWindow::keyPressEvent +232 (int (*)(...))QWindow::keyReleaseEvent +240 (int (*)(...))QWindow::mousePressEvent +248 (int (*)(...))QWindow::mouseReleaseEvent +256 (int (*)(...))QWindow::mouseDoubleClickEvent +264 (int (*)(...))QWindow::mouseMoveEvent +272 (int (*)(...))QWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))QRasterWindow::metric +320 (int (*)(...))QPaintDeviceWindow::paintEngine +328 (int (*)(...))QRasterWindow::redirected +336 (int (*)(...))-16 +344 (int (*)(...))(& _ZTI13QRasterWindow) +352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev +360 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +384 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +392 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +400 (int (*)(...))-40 +408 (int (*)(...))(& _ZTI13QRasterWindow) +416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev +424 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev +432 (int (*)(...))QPaintDevice::devType +440 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +448 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE +456 (int (*)(...))QPaintDevice::initPainter +464 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint +472 (int (*)(...))QPaintDevice::sharedPainter + +Class QRasterWindow + size=56 align=8 + base size=50 base align=8 +QRasterWindow (0x0x7b9f3c3f2d00) 0 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16) +QPaintDeviceWindow (0x0x7b9f3c3c4a10) 0 + primary-for QRasterWindow (0x0x7b9f3c3f2d00) +QWindow (0x0x7b9f3c3c4a80) 0 + primary-for QPaintDeviceWindow (0x0x7b9f3c3c4a10) +QObject (0x0x7b9f3c3f47e0) 0 + primary-for QWindow (0x0x7b9f3c3c4a80) +QSurface (0x0x7b9f3c3f4840) 16 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 352) +QPaintDevice (0x0x7b9f3c3f48a0) 40 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 416) + +Class QSessionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSessionManager::QPrivateSignal (0x0x7b9f3c42f720) 0 empty + +Vtable for QSessionManager +QSessionManager::_ZTV15QSessionManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSessionManager) +16 (int (*)(...))QSessionManager::metaObject +24 (int (*)(...))QSessionManager::qt_metacast +32 (int (*)(...))QSessionManager::qt_metacall +40 (int (*)(...))QSessionManager::~QSessionManager +48 (int (*)(...))QSessionManager::~QSessionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSessionManager + size=16 align=8 + base size=16 base align=8 +QSessionManager (0x0x7b9f3c3f2dd0) 0 + vptr=((& QSessionManager::_ZTV15QSessionManager) + 16) +QObject (0x0x7b9f3c42f6c0) 0 + primary-for QSessionManager (0x0x7b9f3c3f2dd0) + +Class QShortcut::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QShortcut::QPrivateSignal (0x0x7b9f3c42f900) 0 empty + +Vtable for QShortcut +QShortcut::_ZTV9QShortcut: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QShortcut) +16 (int (*)(...))QShortcut::metaObject +24 (int (*)(...))QShortcut::qt_metacast +32 (int (*)(...))QShortcut::qt_metacall +40 (int (*)(...))QShortcut::~QShortcut +48 (int (*)(...))QShortcut::~QShortcut +56 (int (*)(...))QShortcut::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QShortcut + size=16 align=8 + base size=16 base align=8 +QShortcut (0x0x7b9f3c3f2e38) 0 + vptr=((& QShortcut::_ZTV9QShortcut) + 16) +QObject (0x0x7b9f3c42f8a0) 0 + primary-for QShortcut (0x0x7b9f3c3f2e38) + +Vtable for QStandardItem +QStandardItem::_ZTV13QStandardItem: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStandardItem) +16 (int (*)(...))QStandardItem::~QStandardItem +24 (int (*)(...))QStandardItem::~QStandardItem +32 (int (*)(...))QStandardItem::data +40 (int (*)(...))QStandardItem::multiData +48 (int (*)(...))QStandardItem::setData +56 (int (*)(...))QStandardItem::clone +64 (int (*)(...))QStandardItem::type +72 (int (*)(...))QStandardItem::read +80 (int (*)(...))QStandardItem::write +88 (int (*)(...))QStandardItem::operator< + +Class QStandardItem + size=16 align=8 + base size=16 base align=8 +QStandardItem (0x0x7b9f3c42fde0) 0 + vptr=((& QStandardItem::_ZTV13QStandardItem) + 16) + +Class QStandardItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStandardItemModel::QPrivateSignal (0x0x7b9f3c1d31e0) 0 empty + +Vtable for QStandardItemModel +QStandardItemModel::_ZTV18QStandardItemModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QStandardItemModel) +16 (int (*)(...))QStandardItemModel::metaObject +24 (int (*)(...))QStandardItemModel::qt_metacast +32 (int (*)(...))QStandardItemModel::qt_metacall +40 (int (*)(...))QStandardItemModel::~QStandardItemModel +48 (int (*)(...))QStandardItemModel::~QStandardItemModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStandardItemModel::index +120 (int (*)(...))QStandardItemModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QStandardItemModel::rowCount +144 (int (*)(...))QStandardItemModel::columnCount +152 (int (*)(...))QStandardItemModel::hasChildren +160 (int (*)(...))QStandardItemModel::data +168 (int (*)(...))QStandardItemModel::setData +176 (int (*)(...))QStandardItemModel::headerData +184 (int (*)(...))QStandardItemModel::setHeaderData +192 (int (*)(...))QStandardItemModel::itemData +200 (int (*)(...))QStandardItemModel::setItemData +208 (int (*)(...))QStandardItemModel::clearItemData +216 (int (*)(...))QStandardItemModel::mimeTypes +224 (int (*)(...))QStandardItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QStandardItemModel::dropMimeData +248 (int (*)(...))QStandardItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QStandardItemModel::insertRows +272 (int (*)(...))QStandardItemModel::insertColumns +280 (int (*)(...))QStandardItemModel::removeRows +288 (int (*)(...))QStandardItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QStandardItemModel::flags +336 (int (*)(...))QStandardItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QStandardItemModel::roleNames +376 (int (*)(...))QStandardItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QStandardItemModel + size=16 align=8 + base size=16 base align=8 +QStandardItemModel (0x0x7b9f3c564618) 0 + vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16) +QAbstractItemModel (0x0x7b9f3c564680) 0 + primary-for QStandardItemModel (0x0x7b9f3c564618) +QObject (0x0x7b9f3c1d3180) 0 + primary-for QAbstractItemModel (0x0x7b9f3c564680) + +Class QStaticText + size=8 align=8 + base size=8 base align=8 +QStaticText (0x0x7b9f3c1d3540) 0 + +Class QStyleHints::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyleHints::QPrivateSignal (0x0x7b9f3c26be40) 0 empty + +Vtable for QStyleHints +QStyleHints::_ZTV11QStyleHints: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QStyleHints) +16 (int (*)(...))QStyleHints::metaObject +24 (int (*)(...))QStyleHints::qt_metacast +32 (int (*)(...))QStyleHints::qt_metacall +40 (int (*)(...))QStyleHints::~QStyleHints +48 (int (*)(...))QStyleHints::~QStyleHints +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QStyleHints + size=16 align=8 + base size=16 base align=8 +QStyleHints (0x0x7b9f3c27e340) 0 + vptr=((& QStyleHints::_ZTV11QStyleHints) + 16) +QObject (0x0x7b9f3c26bde0) 0 + primary-for QStyleHints (0x0x7b9f3c27e340) + +Class QTextObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextObject::QPrivateSignal (0x0x7b9f3c2a3060) 0 empty + +Vtable for QTextObject +QTextObject::_ZTV11QTextObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextObject) +16 (int (*)(...))QTextObject::metaObject +24 (int (*)(...))QTextObject::qt_metacast +32 (int (*)(...))QTextObject::qt_metacall +40 (int (*)(...))QTextObject::~QTextObject +48 (int (*)(...))QTextObject::~QTextObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextObject + size=16 align=8 + base size=16 base align=8 +QTextObject (0x0x7b9f3c27e3a8) 0 + vptr=((& QTextObject::_ZTV11QTextObject) + 16) +QObject (0x0x7b9f3c2a3000) 0 + primary-for QTextObject (0x0x7b9f3c27e3a8) + +Class QTextBlockGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBlockGroup::QPrivateSignal (0x0x7b9f3c2a3240) 0 empty + +Vtable for QTextBlockGroup +QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTextBlockGroup) +16 (int (*)(...))QTextBlockGroup::metaObject +24 (int (*)(...))QTextBlockGroup::qt_metacast +32 (int (*)(...))QTextBlockGroup::qt_metacall +40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextBlockGroup + size=16 align=8 + base size=16 base align=8 +QTextBlockGroup (0x0x7b9f3c27e410) 0 + vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16) +QTextObject (0x0x7b9f3c27e478) 0 + primary-for QTextBlockGroup (0x0x7b9f3c27e410) +QObject (0x0x7b9f3c2a31e0) 0 + primary-for QTextObject (0x0x7b9f3c27e478) + +Vtable for QTextFrameLayoutData +QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextFrameLayoutData) +16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData +24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData + +Class QTextFrameLayoutData + size=8 align=8 + base size=8 base align=8 +QTextFrameLayoutData (0x0x7b9f3c2a33c0) 0 nearly-empty + vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16) + +Class QTextFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextFrame::QPrivateSignal (0x0x7b9f3c2a3480) 0 empty + +Class QTextFrame::iterator + size=32 align=8 + base size=28 base align=8 +QTextFrame::iterator (0x0x7b9f3c2a34e0) 0 + +Vtable for QTextFrame +QTextFrame::_ZTV10QTextFrame: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextFrame) +16 (int (*)(...))QTextFrame::metaObject +24 (int (*)(...))QTextFrame::qt_metacast +32 (int (*)(...))QTextFrame::qt_metacall +40 (int (*)(...))QTextFrame::~QTextFrame +48 (int (*)(...))QTextFrame::~QTextFrame +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextFrame + size=16 align=8 + base size=16 base align=8 +QTextFrame (0x0x7b9f3c27e4e0) 0 + vptr=((& QTextFrame::_ZTV10QTextFrame) + 16) +QTextObject (0x0x7b9f3c27e548) 0 + primary-for QTextFrame (0x0x7b9f3c27e4e0) +QObject (0x0x7b9f3c2a3420) 0 + primary-for QTextObject (0x0x7b9f3c27e548) + +Vtable for QTextBlockUserData +QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTextBlockUserData) +16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData +24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData + +Class QTextBlockUserData + size=8 align=8 + base size=8 base align=8 +QTextBlockUserData (0x0x7b9f3c3167e0) 0 nearly-empty + vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16) + +Class QTextBlock::iterator + size=24 align=8 + base size=20 base align=8 +QTextBlock::iterator (0x0x7b9f3c3168a0) 0 + +Class QTextBlock + size=16 align=8 + base size=12 base align=8 +QTextBlock (0x0x7b9f3c316840) 0 + +Class QTextFragment + size=16 align=8 + base size=16 base align=8 +QTextFragment (0x0x7b9f3bfbfb40) 0 + +Class QSyntaxHighlighter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSyntaxHighlighter::QPrivateSignal (0x0x7b9f3c00cf60) 0 empty + +Vtable for QSyntaxHighlighter +QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSyntaxHighlighter) +16 (int (*)(...))QSyntaxHighlighter::metaObject +24 (int (*)(...))QSyntaxHighlighter::qt_metacast +32 (int (*)(...))QSyntaxHighlighter::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSyntaxHighlighter + size=16 align=8 + base size=16 base align=8 +QSyntaxHighlighter (0x0x7b9f3c01cbc8) 0 + vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16) +QObject (0x0x7b9f3c00cf00) 0 + primary-for QSyntaxHighlighter (0x0x7b9f3c01cbc8) + +Class QTextDocumentFragment + size=8 align=8 + base size=8 base align=8 +QTextDocumentFragment (0x0x7b9f3c03c120) 0 + +Class QTextDocumentWriter + size=8 align=8 + base size=8 base align=8 +QTextDocumentWriter (0x0x7b9f3c03c180) 0 + +Class QTextList::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextList::QPrivateSignal (0x0x7b9f3c03c240) 0 empty + +Vtable for QTextList +QTextList::_ZTV9QTextList: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextList) +16 (int (*)(...))QTextList::metaObject +24 (int (*)(...))QTextList::qt_metacast +32 (int (*)(...))QTextList::qt_metacall +40 (int (*)(...))QTextList::~QTextList +48 (int (*)(...))QTextList::~QTextList +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextList + size=16 align=8 + base size=16 base align=8 +QTextList (0x0x7b9f3c01cc30) 0 + vptr=((& QTextList::_ZTV9QTextList) + 16) +QTextBlockGroup (0x0x7b9f3c01cc98) 0 + primary-for QTextList (0x0x7b9f3c01cc30) +QTextObject (0x0x7b9f3c01cd00) 0 + primary-for QTextBlockGroup (0x0x7b9f3c01cc98) +QObject (0x0x7b9f3c03c1e0) 0 + primary-for QTextObject (0x0x7b9f3c01cd00) + +Class QTextTableCell + size=16 align=8 + base size=12 base align=8 +QTextTableCell (0x0x7b9f3c03c600) 0 + +Class QTextTable::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextTable::QPrivateSignal (0x0x7b9f3c03ce40) 0 empty + +Vtable for QTextTable +QTextTable::_ZTV10QTextTable: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextTable) +16 (int (*)(...))QTextTable::metaObject +24 (int (*)(...))QTextTable::qt_metacast +32 (int (*)(...))QTextTable::qt_metacall +40 (int (*)(...))QTextTable::~QTextTable +48 (int (*)(...))QTextTable::~QTextTable +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextTable + size=16 align=8 + base size=16 base align=8 +QTextTable (0x0x7b9f3c01cd68) 0 + vptr=((& QTextTable::_ZTV10QTextTable) + 16) +QTextFrame (0x0x7b9f3c01cdd0) 0 + primary-for QTextTable (0x0x7b9f3c01cd68) +QTextObject (0x0x7b9f3c01ce38) 0 + primary-for QTextFrame (0x0x7b9f3c01cdd0) +QObject (0x0x7b9f3c03cde0) 0 + primary-for QTextObject (0x0x7b9f3c01ce38) + +Class QUndoGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoGroup::QPrivateSignal (0x0x7b9f3c080240) 0 empty + +Vtable for QUndoGroup +QUndoGroup::_ZTV10QUndoGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoGroup) +16 (int (*)(...))QUndoGroup::metaObject +24 (int (*)(...))QUndoGroup::qt_metacast +32 (int (*)(...))QUndoGroup::qt_metacall +40 (int (*)(...))QUndoGroup::~QUndoGroup +48 (int (*)(...))QUndoGroup::~QUndoGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoGroup + size=16 align=8 + base size=16 base align=8 +QUndoGroup (0x0x7b9f3c01cea0) 0 + vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16) +QObject (0x0x7b9f3c0801e0) 0 + primary-for QUndoGroup (0x0x7b9f3c01cea0) + +Vtable for QUndoCommand +QUndoCommand::_ZTV12QUndoCommand: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QUndoCommand) +16 (int (*)(...))QUndoCommand::~QUndoCommand +24 (int (*)(...))QUndoCommand::~QUndoCommand +32 (int (*)(...))QUndoCommand::undo +40 (int (*)(...))QUndoCommand::redo +48 (int (*)(...))QUndoCommand::id +56 (int (*)(...))QUndoCommand::mergeWith + +Class QUndoCommand + size=16 align=8 + base size=16 base align=8 +QUndoCommand (0x0x7b9f3c0803c0) 0 + vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16) + +Class QUndoStack::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoStack::QPrivateSignal (0x0x7b9f3c080480) 0 empty + +Vtable for QUndoStack +QUndoStack::_ZTV10QUndoStack: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoStack) +16 (int (*)(...))QUndoStack::metaObject +24 (int (*)(...))QUndoStack::qt_metacast +32 (int (*)(...))QUndoStack::qt_metacall +40 (int (*)(...))QUndoStack::~QUndoStack +48 (int (*)(...))QUndoStack::~QUndoStack +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoStack + size=16 align=8 + base size=16 base align=8 +QUndoStack (0x0x7b9f3c01cf08) 0 + vptr=((& QUndoStack::_ZTV10QUndoStack) + 16) +QObject (0x0x7b9f3c080420) 0 + primary-for QUndoStack (0x0x7b9f3c01cf08) + +Class QValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QValidator::QPrivateSignal (0x0x7b9f3c080660) 0 empty + +Vtable for QValidator +QValidator::_ZTV10QValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QValidator) +16 (int (*)(...))QValidator::metaObject +24 (int (*)(...))QValidator::qt_metacast +32 (int (*)(...))QValidator::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QValidator::fixup + +Class QValidator + size=16 align=8 + base size=16 base align=8 +QValidator (0x0x7b9f3c01cf70) 0 + vptr=((& QValidator::_ZTV10QValidator) + 16) +QObject (0x0x7b9f3c080600) 0 + primary-for QValidator (0x0x7b9f3c01cf70) + +Class QIntValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIntValidator::QPrivateSignal (0x0x7b9f3c080900) 0 empty + +Vtable for QIntValidator +QIntValidator::_ZTV13QIntValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QIntValidator) +16 (int (*)(...))QIntValidator::metaObject +24 (int (*)(...))QIntValidator::qt_metacast +32 (int (*)(...))QIntValidator::qt_metacall +40 (int (*)(...))QIntValidator::~QIntValidator +48 (int (*)(...))QIntValidator::~QIntValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIntValidator::validate +120 (int (*)(...))QIntValidator::fixup + +Class QIntValidator + size=24 align=8 + base size=24 base align=8 +QIntValidator (0x0x7b9f3c0c3000) 0 + vptr=((& QIntValidator::_ZTV13QIntValidator) + 16) +QValidator (0x0x7b9f3c0c3068) 0 + primary-for QIntValidator (0x0x7b9f3c0c3000) +QObject (0x0x7b9f3c0808a0) 0 + primary-for QValidator (0x0x7b9f3c0c3068) + +Class QDoubleValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleValidator::QPrivateSignal (0x0x7b9f3c080ae0) 0 empty + +Vtable for QDoubleValidator +QDoubleValidator::_ZTV16QDoubleValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDoubleValidator) +16 (int (*)(...))QDoubleValidator::metaObject +24 (int (*)(...))QDoubleValidator::qt_metacast +32 (int (*)(...))QDoubleValidator::qt_metacall +40 (int (*)(...))QDoubleValidator::~QDoubleValidator +48 (int (*)(...))QDoubleValidator::~QDoubleValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDoubleValidator::validate +120 (int (*)(...))QDoubleValidator::fixup + +Class QDoubleValidator + size=40 align=8 + base size=36 base align=8 +QDoubleValidator (0x0x7b9f3c0c30d0) 0 + vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16) +QValidator (0x0x7b9f3c0c3138) 0 + primary-for QDoubleValidator (0x0x7b9f3c0c30d0) +QObject (0x0x7b9f3c080a80) 0 + primary-for QValidator (0x0x7b9f3c0c3138) + +Class QRegularExpressionValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegularExpressionValidator::QPrivateSignal (0x0x7b9f3c080ea0) 0 empty + +Vtable for QRegularExpressionValidator +QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QRegularExpressionValidator) +16 (int (*)(...))QRegularExpressionValidator::metaObject +24 (int (*)(...))QRegularExpressionValidator::qt_metacast +32 (int (*)(...))QRegularExpressionValidator::qt_metacall +40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegularExpressionValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegularExpressionValidator + size=16 align=8 + base size=16 base align=8 +QRegularExpressionValidator (0x0x7b9f3c0c31a0) 0 + vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16) +QValidator (0x0x7b9f3c0c3208) 0 + primary-for QRegularExpressionValidator (0x0x7b9f3c0c31a0) +QObject (0x0x7b9f3c080e40) 0 + primary-for QValidator (0x0x7b9f3c0c3208) + +Class QSizePolicy::Bits + size=4 align=4 + base size=4 base align=4 +QSizePolicy::Bits (0x0x7b9f3c0f60c0) 0 + +Class QSizePolicy + size=4 align=4 + base size=4 base align=4 +QSizePolicy (0x0x7b9f3c0f6060) 0 + +Class QWidgetData + size=88 align=8 + base size=88 base align=8 +QWidgetData (0x0x7b9f3bda4900) 0 + +Class QWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidget::QPrivateSignal (0x0x7b9f3bda4a20) 0 empty + +Vtable for QWidget +QWidget::_ZTV7QWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWidget) +16 (int (*)(...))QWidget::metaObject +24 (int (*)(...))QWidget::qt_metacast +32 (int (*)(...))QWidget::qt_metacall +40 (int (*)(...))QWidget::~QWidget +48 (int (*)(...))QWidget::~QWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI7QWidget) +448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev +456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWidget + size=40 align=8 + base size=40 base align=8 +QWidget (0x0x7b9f3bdce310) 0 + vptr=((& QWidget::_ZTV7QWidget) + 16) +QObject (0x0x7b9f3bda4960) 0 + primary-for QWidget (0x0x7b9f3bdce310) +QPaintDevice (0x0x7b9f3bda49c0) 16 + vptr=((& QWidget::_ZTV7QWidget) + 448) + +Class QAbstractButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractButton::QPrivateSignal (0x0x7b9f3bee5600) 0 empty + +Vtable for QAbstractButton +QAbstractButton::_ZTV15QAbstractButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractButton) +16 (int (*)(...))QAbstractButton::metaObject +24 (int (*)(...))QAbstractButton::qt_metacast +32 (int (*)(...))QAbstractButton::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI15QAbstractButton) +472 0 +480 0 +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractButton + size=40 align=8 + base size=40 base align=8 +QAbstractButton (0x0x7b9f3bd94d68) 0 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16) +QWidget (0x0x7b9f3bef4070) 0 + primary-for QAbstractButton (0x0x7b9f3bd94d68) +QObject (0x0x7b9f3bee5540) 0 + primary-for QWidget (0x0x7b9f3bef4070) +QPaintDevice (0x0x7b9f3bee55a0) 16 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472) + +Class QAbstractSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSpinBox::QPrivateSignal (0x0x7b9f3bee5840) 0 empty + +Vtable for QAbstractSpinBox +QAbstractSpinBox::_ZTV16QAbstractSpinBox: 70 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAbstractSpinBox) +16 (int (*)(...))QAbstractSpinBox::metaObject +24 (int (*)(...))QAbstractSpinBox::qt_metacast +32 (int (*)(...))QAbstractSpinBox::qt_metacall +40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSpinBox::validate +440 (int (*)(...))QAbstractSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::initStyleOption +472 (int (*)(...))QAbstractSpinBox::stepEnabled +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI16QAbstractSpinBox) +496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev +504 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSpinBox + size=40 align=8 + base size=40 base align=8 +QAbstractSpinBox (0x0x7b9f3bd94dd0) 0 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16) +QWidget (0x0x7b9f3bef4230) 0 + primary-for QAbstractSpinBox (0x0x7b9f3bd94dd0) +QObject (0x0x7b9f3bee5780) 0 + primary-for QWidget (0x0x7b9f3bef4230) +QPaintDevice (0x0x7b9f3bee57e0) 16 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 496) + +Class QAbstractSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSlider::QPrivateSignal (0x0x7b9f3bf81180) 0 empty + +Vtable for QAbstractSlider +QAbstractSlider::_ZTV15QAbstractSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSlider) +16 (int (*)(...))QAbstractSlider::metaObject +24 (int (*)(...))QAbstractSlider::qt_metacast +32 (int (*)(...))QAbstractSlider::qt_metacall +40 (int (*)(...))QAbstractSlider::~QAbstractSlider +48 (int (*)(...))QAbstractSlider::~QAbstractSlider +56 (int (*)(...))QAbstractSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QAbstractSlider) +456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev +464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSlider + size=40 align=8 + base size=40 base align=8 +QAbstractSlider (0x0x7b9f3bd94f08) 0 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16) +QWidget (0x0x7b9f3bef4e00) 0 + primary-for QAbstractSlider (0x0x7b9f3bd94f08) +QObject (0x0x7b9f3bf810c0) 0 + primary-for QWidget (0x0x7b9f3bef4e00) +QPaintDevice (0x0x7b9f3bf81120) 16 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456) + +Class QSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSlider::QPrivateSignal (0x0x7b9f3bf813c0) 0 empty + +Vtable for QSlider +QSlider::_ZTV7QSlider: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QSlider) +16 (int (*)(...))QSlider::metaObject +24 (int (*)(...))QSlider::qt_metacast +32 (int (*)(...))QSlider::qt_metacall +40 (int (*)(...))QSlider::~QSlider +48 (int (*)(...))QSlider::~QSlider +56 (int (*)(...))QSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSlider::sizeHint +136 (int (*)(...))QSlider::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSlider::mousePressEvent +176 (int (*)(...))QSlider::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSlider::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSlider::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))QSlider::initStyleOption +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI7QSlider) +464 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev +472 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSlider + size=40 align=8 + base size=40 base align=8 +QSlider (0x0x7b9f3bd94f70) 0 + vptr=((& QSlider::_ZTV7QSlider) + 16) +QAbstractSlider (0x0x7b9f3bbaa000) 0 + primary-for QSlider (0x0x7b9f3bd94f70) +QWidget (0x0x7b9f3bb96540) 0 + primary-for QAbstractSlider (0x0x7b9f3bbaa000) +QObject (0x0x7b9f3bf81300) 0 + primary-for QWidget (0x0x7b9f3bb96540) +QPaintDevice (0x0x7b9f3bf81360) 16 + vptr=((& QSlider::_ZTV7QSlider) + 464) + +Class QStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyle::QPrivateSignal (0x0x7b9f3bf81660) 0 empty + +Vtable for QStyle +QStyle::_ZTV6QStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QStyle) +16 (int (*)(...))QStyle::metaObject +24 (int (*)(...))QStyle::qt_metacast +32 (int (*)(...))QStyle::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyle::polish +120 (int (*)(...))QStyle::unpolish +128 (int (*)(...))QStyle::polish +136 (int (*)(...))QStyle::unpolish +144 (int (*)(...))QStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual +272 (int (*)(...))__cxa_pure_virtual +280 (int (*)(...))__cxa_pure_virtual +288 (int (*)(...))__cxa_pure_virtual + +Class QStyle + size=16 align=8 + base size=16 base align=8 +QStyle (0x0x7b9f3bbaa068) 0 + vptr=((& QStyle::_ZTV6QStyle) + 16) +QObject (0x0x7b9f3bf81600) 0 + primary-for QStyle (0x0x7b9f3bbaa068) + +Class QTabBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabBar::QPrivateSignal (0x0x7b9f3bc1ba20) 0 empty + +Vtable for QTabBar +QTabBar::_ZTV7QTabBar: 70 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QTabBar) +16 (int (*)(...))QTabBar::metaObject +24 (int (*)(...))QTabBar::qt_metacast +32 (int (*)(...))QTabBar::qt_metacall +40 (int (*)(...))QTabBar::~QTabBar +48 (int (*)(...))QTabBar::~QTabBar +56 (int (*)(...))QTabBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTabBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabBar::sizeHint +136 (int (*)(...))QTabBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTabBar::mousePressEvent +176 (int (*)(...))QTabBar::mouseReleaseEvent +184 (int (*)(...))QTabBar::mouseDoubleClickEvent +192 (int (*)(...))QTabBar::mouseMoveEvent +200 (int (*)(...))QTabBar::wheelEvent +208 (int (*)(...))QTabBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabBar::showEvent +352 (int (*)(...))QTabBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabBar::tabSizeHint +440 (int (*)(...))QTabBar::minimumTabSizeHint +448 (int (*)(...))QTabBar::tabInserted +456 (int (*)(...))QTabBar::tabRemoved +464 (int (*)(...))QTabBar::tabLayoutChange +472 (int (*)(...))QTabBar::initStyleOption +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI7QTabBar) +496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev +504 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabBar + size=40 align=8 + base size=40 base align=8 +QTabBar (0x0x7b9f3bbaa270) 0 + vptr=((& QTabBar::_ZTV7QTabBar) + 16) +QWidget (0x0x7b9f3bc1a690) 0 + primary-for QTabBar (0x0x7b9f3bbaa270) +QObject (0x0x7b9f3bc1b960) 0 + primary-for QWidget (0x0x7b9f3bc1a690) +QPaintDevice (0x0x7b9f3bc1b9c0) 16 + vptr=((& QTabBar::_ZTV7QTabBar) + 496) + +Class QTabWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabWidget::QPrivateSignal (0x0x7b9f3bc1bd20) 0 empty + +Vtable for QTabWidget +QTabWidget::_ZTV10QTabWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTabWidget) +16 (int (*)(...))QTabWidget::metaObject +24 (int (*)(...))QTabWidget::qt_metacast +32 (int (*)(...))QTabWidget::qt_metacall +40 (int (*)(...))QTabWidget::~QTabWidget +48 (int (*)(...))QTabWidget::~QTabWidget +56 (int (*)(...))QTabWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabWidget::sizeHint +136 (int (*)(...))QTabWidget::minimumSizeHint +144 (int (*)(...))QTabWidget::heightForWidth +152 (int (*)(...))QTabWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QTabWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabWidget::tabInserted +440 (int (*)(...))QTabWidget::tabRemoved +448 (int (*)(...))QTabWidget::initStyleOption +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI10QTabWidget) +472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev +480 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabWidget + size=40 align=8 + base size=40 base align=8 +QTabWidget (0x0x7b9f3bbaa2d8) 0 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 16) +QWidget (0x0x7b9f3bc1aee0) 0 + primary-for QTabWidget (0x0x7b9f3bbaa2d8) +QObject (0x0x7b9f3bc1bc60) 0 + primary-for QWidget (0x0x7b9f3bc1aee0) +QPaintDevice (0x0x7b9f3bc1bcc0) 16 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 472) + +Class QRubberBand::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRubberBand::QPrivateSignal (0x0x7b9f3bd0e120) 0 empty + +Vtable for QRubberBand +QRubberBand::_ZTV11QRubberBand: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QRubberBand) +16 (int (*)(...))QRubberBand::metaObject +24 (int (*)(...))QRubberBand::qt_metacast +32 (int (*)(...))QRubberBand::qt_metacall +40 (int (*)(...))QRubberBand::~QRubberBand +48 (int (*)(...))QRubberBand::~QRubberBand +56 (int (*)(...))QRubberBand::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRubberBand::paintEvent +264 (int (*)(...))QRubberBand::moveEvent +272 (int (*)(...))QRubberBand::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QRubberBand::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QRubberBand::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRubberBand::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QRubberBand) +456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev +464 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRubberBand + size=40 align=8 + base size=40 base align=8 +QRubberBand (0x0x7b9f3bbaa340) 0 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 16) +QWidget (0x0x7b9f3bcf0540) 0 + primary-for QRubberBand (0x0x7b9f3bbaa340) +QObject (0x0x7b9f3bd0e060) 0 + primary-for QWidget (0x0x7b9f3bcf0540) +QPaintDevice (0x0x7b9f3bd0e0c0) 16 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 456) + +Class QFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFrame::QPrivateSignal (0x0x7b9f3bd0e540) 0 empty + +Vtable for QFrame +QFrame::_ZTV6QFrame: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QFrame) +16 (int (*)(...))QFrame::metaObject +24 (int (*)(...))QFrame::qt_metacast +32 (int (*)(...))QFrame::qt_metacall +40 (int (*)(...))QFrame::~QFrame +48 (int (*)(...))QFrame::~QFrame +56 (int (*)(...))QFrame::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI6QFrame) +456 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev +464 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFrame + size=40 align=8 + base size=40 base align=8 +QFrame (0x0x7b9f3bbaa3a8) 0 + vptr=((& QFrame::_ZTV6QFrame) + 16) +QWidget (0x0x7b9f3bcf0a10) 0 + primary-for QFrame (0x0x7b9f3bbaa3a8) +QObject (0x0x7b9f3bd0e480) 0 + primary-for QWidget (0x0x7b9f3bcf0a10) +QPaintDevice (0x0x7b9f3bd0e4e0) 16 + vptr=((& QFrame::_ZTV6QFrame) + 456) + +Class QStyleOption + size=64 align=8 + base size=64 base align=8 +QStyleOption (0x0x7b9f3bd0ed80) 0 + +Class QStyleOptionFocusRect + size=80 align=8 + base size=80 base align=8 +QStyleOptionFocusRect (0x0x7b9f3bbaa5b0) 0 +QStyleOption (0x0x7b9f3bd0ede0) 0 + +Class QStyleOptionFrame + size=80 align=8 + base size=80 base align=8 +QStyleOptionFrame (0x0x7b9f40075000) 0 +QStyleOption (0x0x7b9f3bd66060) 0 + +Class QStyleOptionTabWidgetFrame + size=136 align=8 + base size=132 base align=8 +QStyleOptionTabWidgetFrame (0x0x7b9f40075138) 0 +QStyleOption (0x0x7b9f3bd66720) 0 + +Class QStyleOptionTabBarBase + size=104 align=8 + base size=101 base align=8 +QStyleOptionTabBarBase (0x0x7b9f400751a0) 0 +QStyleOption (0x0x7b9f3bd66960) 0 + +Class QStyleOptionHeader + size=136 align=8 + base size=132 base align=8 +QStyleOptionHeader (0x0x7b9f3bbaa618) 0 +QStyleOption (0x0x7b9f3bd66ba0) 0 + +Class QStyleOptionHeaderV2 + size=136 align=8 + base size=136 base align=8 +QStyleOptionHeaderV2 (0x0x7b9f3bbaa680) 0 +QStyleOptionHeader (0x0x7b9f3bbaa6e8) 0 +QStyleOption (0x0x7b9f3bd66de0) 0 + +Class QStyleOptionButton + size=112 align=8 + base size=112 base align=8 +QStyleOptionButton (0x0x7b9f3bbaa7b8) 0 +QStyleOption (0x0x7b9f3b9f31e0) 0 + +Class QStyleOptionTab + size=160 align=8 + base size=156 base align=8 +QStyleOptionTab (0x0x7b9f3bbaa8f0) 0 +QStyleOption (0x0x7b9f3b9f38a0) 0 + +Class QStyleOptionToolBar + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBar (0x0x7b9f3bbaaaf8) 0 +QStyleOption (0x0x7b9f3babc180) 0 + +Class QStyleOptionProgressBar + size=112 align=8 + base size=111 base align=8 +QStyleOptionProgressBar (0x0x7b9f3bbaac30) 0 +QStyleOption (0x0x7b9f3babc840) 0 + +Class QStyleOptionMenuItem + size=152 align=8 + base size=152 base align=8 +QStyleOptionMenuItem (0x0x7b9f3bbaac98) 0 +QStyleOption (0x0x7b9f3babca80) 0 + +Class QStyleOptionDockWidget + size=96 align=8 + base size=92 base align=8 +QStyleOptionDockWidget (0x0x7b9f3bbaad00) 0 +QStyleOption (0x0x7b9f3babccc0) 0 + +Class QStyleOptionViewItem + size=208 align=8 + base size=208 base align=8 +QStyleOptionViewItem (0x0x7b9f3bbaad68) 0 +QStyleOption (0x0x7b9f3babcf00) 0 + +Class QStyleOptionToolBox + size=104 align=8 + base size=104 base align=8 +QStyleOptionToolBox (0x0x7b9f3bbaaea0) 0 +QStyleOption (0x0x7b9f3bb5c600) 0 + +Class QStyleOptionRubberBand + size=72 align=8 + base size=69 base align=8 +QStyleOptionRubberBand (0x0x7b9f3bbaaf08) 0 +QStyleOption (0x0x7b9f3bb5c840) 0 + +Class QStyleOptionComplex + size=72 align=8 + base size=72 base align=8 +QStyleOptionComplex (0x0x7b9f3bbaaf70) 0 +QStyleOption (0x0x7b9f3bb5cae0) 0 + +Class QStyleOptionSlider + size=128 align=8 + base size=128 base align=8 +QStyleOptionSlider (0x0x7b9f3b7dd000) 0 +QStyleOptionComplex (0x0x7b9f3b7dd068) 0 +QStyleOption (0x0x7b9f3bb5cd80) 0 + +Class QStyleOptionSpinBox + size=88 align=8 + base size=81 base align=8 +QStyleOptionSpinBox (0x0x7b9f3b7dd138) 0 +QStyleOptionComplex (0x0x7b9f3b7dd1a0) 0 +QStyleOption (0x0x7b9f3b7ed120) 0 + +Class QStyleOptionToolButton + size=152 align=8 + base size=152 base align=8 +QStyleOptionToolButton (0x0x7b9f3b7dd270) 0 +QStyleOptionComplex (0x0x7b9f3b7dd2d8) 0 +QStyleOption (0x0x7b9f3b7ed360) 0 + +Class QStyleOptionComboBox + size=144 align=8 + base size=140 base align=8 +QStyleOptionComboBox (0x0x7b9f3b7dd410) 0 +QStyleOptionComplex (0x0x7b9f3b7dd478) 0 +QStyleOption (0x0x7b9f3b7eda20) 0 + +Class QStyleOptionTitleBar + size=112 align=8 + base size=112 base align=8 +QStyleOptionTitleBar (0x0x7b9f3b7dd4e0) 0 +QStyleOptionComplex (0x0x7b9f3b7dd548) 0 +QStyleOption (0x0x7b9f3b7edc60) 0 + +Class QStyleOptionGroupBox + size=136 align=8 + base size=132 base align=8 +QStyleOptionGroupBox (0x0x7b9f3b7dd5b0) 0 +QStyleOptionComplex (0x0x7b9f3b7dd618) 0 +QStyleOption (0x0x7b9f3b7edea0) 0 + +Class QStyleOptionSizeGrip + size=80 align=8 + base size=76 base align=8 +QStyleOptionSizeGrip (0x0x7b9f3b7dd680) 0 +QStyleOptionComplex (0x0x7b9f3b7dd6e8) 0 +QStyleOption (0x0x7b9f3b87d120) 0 + +Class QStyleOptionGraphicsItem + size=96 align=8 + base size=96 base align=8 +QStyleOptionGraphicsItem (0x0x7b9f3b7dd750) 0 +QStyleOption (0x0x7b9f3b87d360) 0 + +Class QStyleHintReturn + size=8 align=4 + base size=8 base align=4 +QStyleHintReturn (0x0x7b9f3b87d6c0) 0 + +Class QStyleHintReturnMask + size=16 align=8 + base size=16 base align=8 +QStyleHintReturnMask (0x0x7b9f3b7dd7b8) 0 +QStyleHintReturn (0x0x7b9f3b87d720) 0 + +Class QStyleHintReturnVariant + size=40 align=8 + base size=40 base align=8 +QStyleHintReturnVariant (0x0x7b9f3b7dd888) 0 +QStyleHintReturn (0x0x7b9f3b87d780) 0 + +Class QAbstractItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemDelegate::QPrivateSignal (0x0x7b9f3b87d900) 0 empty + +Vtable for QAbstractItemDelegate +QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractItemDelegate) +16 (int (*)(...))QAbstractItemDelegate::metaObject +24 (int (*)(...))QAbstractItemDelegate::qt_metacast +32 (int (*)(...))QAbstractItemDelegate::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QAbstractItemDelegate::setEditorData +152 (int (*)(...))QAbstractItemDelegate::setModelData +160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry +168 (int (*)(...))QAbstractItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles + +Class QAbstractItemDelegate + size=16 align=8 + base size=16 base align=8 +QAbstractItemDelegate (0x0x7b9f3b7dd958) 0 + vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16) +QObject (0x0x7b9f3b87d8a0) 0 + primary-for QAbstractItemDelegate (0x0x7b9f3b7dd958) + +Class QAbstractScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractScrollArea::QPrivateSignal (0x0x7b9f3b87db40) 0 empty + +Vtable for QAbstractScrollArea +QAbstractScrollArea::_ZTV19QAbstractScrollArea: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractScrollArea) +16 (int (*)(...))QAbstractScrollArea::metaObject +24 (int (*)(...))QAbstractScrollArea::qt_metacast +32 (int (*)(...))QAbstractScrollArea::qt_metacall +40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +56 (int (*)(...))QAbstractScrollArea::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractScrollArea::viewportEvent +456 (int (*)(...))QAbstractScrollArea::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI19QAbstractScrollArea) +488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev +496 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractScrollArea + size=40 align=8 + base size=40 base align=8 +QAbstractScrollArea (0x0x7b9f3b7dd9c0) 0 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16) +QFrame (0x0x7b9f3b7dda28) 0 + primary-for QAbstractScrollArea (0x0x7b9f3b7dd9c0) +QWidget (0x0x7b9f3b891770) 0 + primary-for QFrame (0x0x7b9f3b7dda28) +QObject (0x0x7b9f3b87da80) 0 + primary-for QWidget (0x0x7b9f3b891770) +QPaintDevice (0x0x7b9f3b87dae0) 16 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 488) + +Class QAbstractItemView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemView::QPrivateSignal (0x0x7b9f3b87de40) 0 empty + +Vtable for QAbstractItemView +QAbstractItemView::_ZTV17QAbstractItemView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractItemView) +16 (int (*)(...))QAbstractItemView::metaObject +24 (int (*)(...))QAbstractItemView::qt_metacast +32 (int (*)(...))QAbstractItemView::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QAbstractScrollArea::scrollContentsBy +464 (int (*)(...))QAbstractItemView::viewportSizeHint +472 (int (*)(...))QAbstractItemView::setModel +480 (int (*)(...))QAbstractItemView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))__cxa_pure_virtual +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QAbstractItemView::reset +552 (int (*)(...))QAbstractItemView::setRootIndex +560 (int (*)(...))QAbstractItemView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QAbstractItemView::dataChanged +584 (int (*)(...))QAbstractItemView::rowsInserted +592 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +600 (int (*)(...))QAbstractItemView::selectionChanged +608 (int (*)(...))QAbstractItemView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QAbstractItemView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))__cxa_pure_virtual +736 (int (*)(...))__cxa_pure_virtual +744 (int (*)(...))QAbstractItemView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI17QAbstractItemView) +800 0 +808 0 +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractItemView + size=40 align=8 + base size=40 base align=8 +QAbstractItemView (0x0x7b9f3b7dda90) 0 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16) +QAbstractScrollArea (0x0x7b9f3b7ddaf8) 0 + primary-for QAbstractItemView (0x0x7b9f3b7dda90) +QFrame (0x0x7b9f3b7ddb60) 0 + primary-for QAbstractScrollArea (0x0x7b9f3b7ddaf8) +QWidget (0x0x7b9f3b891b60) 0 + primary-for QFrame (0x0x7b9f3b7ddb60) +QObject (0x0x7b9f3b87dd80) 0 + primary-for QWidget (0x0x7b9f3b891b60) +QPaintDevice (0x0x7b9f3b87dde0) 16 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 800) + +Vtable for QAccessibleWidget +QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleWidget) +16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +32 (int (*)(...))QAccessibleWidget::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleWidget::window +56 (int (*)(...))QAccessibleWidget::relations +64 (int (*)(...))QAccessibleWidget::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleWidget::parent +88 (int (*)(...))QAccessibleWidget::child +96 (int (*)(...))QAccessibleWidget::childCount +104 (int (*)(...))QAccessibleWidget::indexOfChild +112 (int (*)(...))QAccessibleWidget::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleWidget::rect +136 (int (*)(...))QAccessibleWidget::role +144 (int (*)(...))QAccessibleWidget::state +152 (int (*)(...))QAccessibleWidget::foregroundColor +160 (int (*)(...))QAccessibleWidget::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleWidget::interface_cast +184 (int (*)(...))QAccessibleWidget::actionNames +192 (int (*)(...))QAccessibleWidget::doAction +200 (int (*)(...))QAccessibleWidget::keyBindingsForAction +208 (int (*)(...))-16 +216 (int (*)(...))(& _ZTI17QAccessibleWidget) +224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev +232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev +240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv +248 (int (*)(...))QAccessibleActionInterface::localizedActionName +256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString +272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString + +Class QAccessibleWidget + size=32 align=8 + base size=32 base align=8 +QAccessibleWidget (0x0x7b9f3b90daf0) 0 + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16) +QAccessibleObject (0x0x7b9f3b7ddc98) 0 + primary-for QAccessibleWidget (0x0x7b9f3b90daf0) +QAccessibleInterface (0x0x7b9f3b91d960) 0 nearly-empty + primary-for QAccessibleObject (0x0x7b9f3b7ddc98) +QAccessibleActionInterface (0x0x7b9f3b91d9c0) 16 nearly-empty + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224) + +Class QApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QApplication::QPrivateSignal (0x0x7b9f3b91dae0) 0 empty + +Vtable for QApplication +QApplication::_ZTV12QApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QApplication) +16 (int (*)(...))QApplication::metaObject +24 (int (*)(...))QApplication::qt_metacast +32 (int (*)(...))QApplication::qt_metacall +40 (int (*)(...))QApplication::~QApplication +48 (int (*)(...))QApplication::~QApplication +56 (int (*)(...))QApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QApplication::notify +120 (int (*)(...))QApplication::compressEvent + +Class QApplication + size=16 align=8 + base size=16 base align=8 +QApplication (0x0x7b9f3b7ddd00) 0 + vptr=((& QApplication::_ZTV12QApplication) + 16) +QGuiApplication (0x0x7b9f3b7ddd68) 0 + primary-for QApplication (0x0x7b9f3b7ddd00) +QCoreApplication (0x0x7b9f3b7dddd0) 0 + primary-for QGuiApplication (0x0x7b9f3b7ddd68) +QObject (0x0x7b9f3b91da80) 0 + primary-for QCoreApplication (0x0x7b9f3b7dddd0) + +Vtable for QLayoutItem +QLayoutItem::_ZTV11QLayoutItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QLayoutItem) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QLayoutItem + size=16 align=8 + base size=12 base align=8 +QLayoutItem (0x0x7b9f3b91dd80) 0 + vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16) + +Vtable for QSpacerItem +QSpacerItem::_ZTV11QSpacerItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSpacerItem) +16 (int (*)(...))QSpacerItem::~QSpacerItem +24 (int (*)(...))QSpacerItem::~QSpacerItem +32 (int (*)(...))QSpacerItem::sizeHint +40 (int (*)(...))QSpacerItem::minimumSize +48 (int (*)(...))QSpacerItem::maximumSize +56 (int (*)(...))QSpacerItem::expandingDirections +64 (int (*)(...))QSpacerItem::setGeometry +72 (int (*)(...))QSpacerItem::geometry +80 (int (*)(...))QSpacerItem::isEmpty +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QSpacerItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QSpacerItem + size=40 align=8 + base size=40 base align=8 +QSpacerItem (0x0x7b9f3b7dde38) 0 + vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16) +QLayoutItem (0x0x7b9f3b5b0000) 0 + primary-for QSpacerItem (0x0x7b9f3b7dde38) + +Vtable for QWidgetItem +QWidgetItem::_ZTV11QWidgetItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWidgetItem) +16 (int (*)(...))QWidgetItem::~QWidgetItem +24 (int (*)(...))QWidgetItem::~QWidgetItem +32 (int (*)(...))QWidgetItem::sizeHint +40 (int (*)(...))QWidgetItem::minimumSize +48 (int (*)(...))QWidgetItem::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItem::heightForWidth +104 (int (*)(...))QWidgetItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItem + size=24 align=8 + base size=24 base align=8 +QWidgetItem (0x0x7b9f3b7ddea0) 0 + vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16) +QLayoutItem (0x0x7b9f3b5b0240) 0 + primary-for QWidgetItem (0x0x7b9f3b7ddea0) + +Vtable for QWidgetItemV2 +QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetItemV2) +16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +32 (int (*)(...))QWidgetItemV2::sizeHint +40 (int (*)(...))QWidgetItemV2::minimumSize +48 (int (*)(...))QWidgetItemV2::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItemV2::heightForWidth +104 (int (*)(...))QWidgetItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItemV2 + size=88 align=8 + base size=88 base align=8 +QWidgetItemV2 (0x0x7b9f3b7ddf08) 0 + vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16) +QWidgetItem (0x0x7b9f3b7ddf70) 0 + primary-for QWidgetItemV2 (0x0x7b9f3b7ddf08) +QLayoutItem (0x0x7b9f3b5b0420) 0 + primary-for QWidgetItem (0x0x7b9f3b7ddf70) + +Class QLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLayout::QPrivateSignal (0x0x7b9f3b5b05a0) 0 empty + +Vtable for QLayout +QLayout::_ZTV7QLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QLayout) +16 (int (*)(...))QLayout::metaObject +24 (int (*)(...))QLayout::qt_metacast +32 (int (*)(...))QLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::spacing +120 (int (*)(...))QLayout::setSpacing +128 (int (*)(...))QLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QLayout::expandingDirections +160 (int (*)(...))QLayout::minimumSize +168 (int (*)(...))QLayout::maximumSize +176 (int (*)(...))QLayout::setGeometry +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI7QLayout) +272 0 +280 0 +288 (int (*)(...))__cxa_pure_virtual +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +312 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +320 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QLayoutItem::hasHeightForWidth +352 (int (*)(...))QLayoutItem::heightForWidth +360 (int (*)(...))QLayoutItem::minimumHeightForWidth +368 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QLayout + size=32 align=8 + base size=28 base align=8 +QLayout (0x0x7b9f3b5af4d0) 0 + vptr=((& QLayout::_ZTV7QLayout) + 16) +QObject (0x0x7b9f3b5b04e0) 0 + primary-for QLayout (0x0x7b9f3b5af4d0) +QLayoutItem (0x0x7b9f3b5b0540) 16 + vptr=((& QLayout::_ZTV7QLayout) + 272) + +Class QGridLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGridLayout::QPrivateSignal (0x0x7b9f3b5b08a0) 0 empty + +Vtable for QGridLayout +QGridLayout::_ZTV11QGridLayout: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QGridLayout) +16 (int (*)(...))QGridLayout::metaObject +24 (int (*)(...))QGridLayout::qt_metacast +32 (int (*)(...))QGridLayout::qt_metacall +40 (int (*)(...))QGridLayout::~QGridLayout +48 (int (*)(...))QGridLayout::~QGridLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGridLayout::spacing +120 (int (*)(...))QGridLayout::setSpacing +128 (int (*)(...))QGridLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QGridLayout::addItem +152 (int (*)(...))QGridLayout::expandingDirections +160 (int (*)(...))QGridLayout::minimumSize +168 (int (*)(...))QGridLayout::maximumSize +176 (int (*)(...))QGridLayout::setGeometry +184 (int (*)(...))QGridLayout::itemAt +192 (int (*)(...))QGridLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QGridLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QGridLayout::sizeHint +264 (int (*)(...))QGridLayout::hasHeightForWidth +272 (int (*)(...))QGridLayout::heightForWidth +280 (int (*)(...))QGridLayout::minimumHeightForWidth +288 (int (*)(...))-16 +296 (int (*)(...))(& _ZTI11QGridLayout) +304 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev +312 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev +320 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv +328 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv +336 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv +344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv +352 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +376 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv +384 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi +392 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi +400 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv +408 (int (*)(...))QLayoutItem::widget +416 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +424 (int (*)(...))QLayoutItem::spacerItem +432 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QGridLayout + size=32 align=8 + base size=28 base align=8 +QGridLayout (0x0x7b9f3b7dd0d0) 0 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 16) +QLayout (0x0x7b9f3b5afa10) 0 + primary-for QGridLayout (0x0x7b9f3b7dd0d0) +QObject (0x0x7b9f3b5b07e0) 0 + primary-for QLayout (0x0x7b9f3b5afa10) +QLayoutItem (0x0x7b9f3b5b0840) 16 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 304) + +Class QBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBoxLayout::QPrivateSignal (0x0x7b9f3b5b0b40) 0 empty + +Vtable for QBoxLayout +QBoxLayout::_ZTV10QBoxLayout: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QBoxLayout) +16 (int (*)(...))QBoxLayout::metaObject +24 (int (*)(...))QBoxLayout::qt_metacast +32 (int (*)(...))QBoxLayout::qt_metacall +40 (int (*)(...))QBoxLayout::~QBoxLayout +48 (int (*)(...))QBoxLayout::~QBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::spacing +120 (int (*)(...))QBoxLayout::setSpacing +128 (int (*)(...))QBoxLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QBoxLayout::addItem +152 (int (*)(...))QBoxLayout::expandingDirections +160 (int (*)(...))QBoxLayout::minimumSize +168 (int (*)(...))QBoxLayout::maximumSize +176 (int (*)(...))QBoxLayout::setGeometry +184 (int (*)(...))QBoxLayout::itemAt +192 (int (*)(...))QBoxLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QBoxLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QBoxLayout::sizeHint +264 (int (*)(...))QBoxLayout::hasHeightForWidth +272 (int (*)(...))QBoxLayout::heightForWidth +280 (int (*)(...))QBoxLayout::minimumHeightForWidth +288 (int (*)(...))-16 +296 (int (*)(...))(& _ZTI10QBoxLayout) +304 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev +312 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev +320 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +328 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +336 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +352 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +376 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +384 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +392 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +400 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +408 (int (*)(...))QLayoutItem::widget +416 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +424 (int (*)(...))QLayoutItem::spacerItem +432 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QBoxLayout + size=32 align=8 + base size=28 base align=8 +QBoxLayout (0x0x7b9f3b615000) 0 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16) +QLayout (0x0x7b9f3b5afc40) 0 + primary-for QBoxLayout (0x0x7b9f3b615000) +QObject (0x0x7b9f3b5b0a80) 0 + primary-for QLayout (0x0x7b9f3b5afc40) +QLayoutItem (0x0x7b9f3b5b0ae0) 16 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 304) + +Class QHBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHBoxLayout::QPrivateSignal (0x0x7b9f3b5b0d80) 0 empty + +Vtable for QHBoxLayout +QHBoxLayout::_ZTV11QHBoxLayout: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHBoxLayout) +16 (int (*)(...))QHBoxLayout::metaObject +24 (int (*)(...))QHBoxLayout::qt_metacast +32 (int (*)(...))QHBoxLayout::qt_metacall +40 (int (*)(...))QHBoxLayout::~QHBoxLayout +48 (int (*)(...))QHBoxLayout::~QHBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::spacing +120 (int (*)(...))QBoxLayout::setSpacing +128 (int (*)(...))QBoxLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QBoxLayout::addItem +152 (int (*)(...))QBoxLayout::expandingDirections +160 (int (*)(...))QBoxLayout::minimumSize +168 (int (*)(...))QBoxLayout::maximumSize +176 (int (*)(...))QBoxLayout::setGeometry +184 (int (*)(...))QBoxLayout::itemAt +192 (int (*)(...))QBoxLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QBoxLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QBoxLayout::sizeHint +264 (int (*)(...))QBoxLayout::hasHeightForWidth +272 (int (*)(...))QBoxLayout::heightForWidth +280 (int (*)(...))QBoxLayout::minimumHeightForWidth +288 (int (*)(...))-16 +296 (int (*)(...))(& _ZTI11QHBoxLayout) +304 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev +312 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev +320 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +328 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +336 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +352 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +376 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +384 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +392 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +400 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +408 (int (*)(...))QLayoutItem::widget +416 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +424 (int (*)(...))QLayoutItem::spacerItem +432 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QHBoxLayout + size=32 align=8 + base size=28 base align=8 +QHBoxLayout (0x0x7b9f3b615068) 0 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16) +QBoxLayout (0x0x7b9f3b6150d0) 0 + primary-for QHBoxLayout (0x0x7b9f3b615068) +QLayout (0x0x7b9f3b6320e0) 0 + primary-for QBoxLayout (0x0x7b9f3b6150d0) +QObject (0x0x7b9f3b5b0cc0) 0 + primary-for QLayout (0x0x7b9f3b6320e0) +QLayoutItem (0x0x7b9f3b5b0d20) 16 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 304) + +Class QVBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVBoxLayout::QPrivateSignal (0x0x7b9f3b5b0f00) 0 empty + +Vtable for QVBoxLayout +QVBoxLayout::_ZTV11QVBoxLayout: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QVBoxLayout) +16 (int (*)(...))QVBoxLayout::metaObject +24 (int (*)(...))QVBoxLayout::qt_metacast +32 (int (*)(...))QVBoxLayout::qt_metacall +40 (int (*)(...))QVBoxLayout::~QVBoxLayout +48 (int (*)(...))QVBoxLayout::~QVBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::spacing +120 (int (*)(...))QBoxLayout::setSpacing +128 (int (*)(...))QBoxLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QBoxLayout::addItem +152 (int (*)(...))QBoxLayout::expandingDirections +160 (int (*)(...))QBoxLayout::minimumSize +168 (int (*)(...))QBoxLayout::maximumSize +176 (int (*)(...))QBoxLayout::setGeometry +184 (int (*)(...))QBoxLayout::itemAt +192 (int (*)(...))QBoxLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QBoxLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QBoxLayout::sizeHint +264 (int (*)(...))QBoxLayout::hasHeightForWidth +272 (int (*)(...))QBoxLayout::heightForWidth +280 (int (*)(...))QBoxLayout::minimumHeightForWidth +288 (int (*)(...))-16 +296 (int (*)(...))(& _ZTI11QVBoxLayout) +304 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev +312 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev +320 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +328 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +336 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +352 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +376 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +384 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +392 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +400 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +408 (int (*)(...))QLayoutItem::widget +416 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +424 (int (*)(...))QLayoutItem::spacerItem +432 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QVBoxLayout + size=32 align=8 + base size=28 base align=8 +QVBoxLayout (0x0x7b9f3b615138) 0 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16) +QBoxLayout (0x0x7b9f3b6151a0) 0 + primary-for QVBoxLayout (0x0x7b9f3b615138) +QLayout (0x0x7b9f3b6321c0) 0 + primary-for QBoxLayout (0x0x7b9f3b6151a0) +QObject (0x0x7b9f3b5b0e40) 0 + primary-for QLayout (0x0x7b9f3b6321c0) +QLayoutItem (0x0x7b9f3b5b0ea0) 16 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 304) + +Class QButtonGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QButtonGroup::QPrivateSignal (0x0x7b9f3b64e060) 0 empty + +Vtable for QButtonGroup +QButtonGroup::_ZTV12QButtonGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QButtonGroup) +16 (int (*)(...))QButtonGroup::metaObject +24 (int (*)(...))QButtonGroup::qt_metacast +32 (int (*)(...))QButtonGroup::qt_metacall +40 (int (*)(...))QButtonGroup::~QButtonGroup +48 (int (*)(...))QButtonGroup::~QButtonGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QButtonGroup + size=16 align=8 + base size=16 base align=8 +QButtonGroup (0x0x7b9f3b615208) 0 + vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16) +QObject (0x0x7b9f3b64e000) 0 + primary-for QButtonGroup (0x0x7b9f3b615208) + +Class QCalendarWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCalendarWidget::QPrivateSignal (0x0x7b9f3b64e2a0) 0 empty + +Vtable for QCalendarWidget +QCalendarWidget::_ZTV15QCalendarWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QCalendarWidget) +16 (int (*)(...))QCalendarWidget::metaObject +24 (int (*)(...))QCalendarWidget::qt_metacast +32 (int (*)(...))QCalendarWidget::qt_metacall +40 (int (*)(...))QCalendarWidget::~QCalendarWidget +48 (int (*)(...))QCalendarWidget::~QCalendarWidget +56 (int (*)(...))QCalendarWidget::event +64 (int (*)(...))QCalendarWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCalendarWidget::sizeHint +136 (int (*)(...))QCalendarWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QCalendarWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QCalendarWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QCalendarWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCalendarWidget::paintCell +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QCalendarWidget) +456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev +464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCalendarWidget + size=40 align=8 + base size=40 base align=8 +QCalendarWidget (0x0x7b9f3b615270) 0 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16) +QWidget (0x0x7b9f3b6323f0) 0 + primary-for QCalendarWidget (0x0x7b9f3b615270) +QObject (0x0x7b9f3b64e1e0) 0 + primary-for QWidget (0x0x7b9f3b6323f0) +QPaintDevice (0x0x7b9f3b64e240) 16 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456) + +Class QCheckBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCheckBox::QPrivateSignal (0x0x7b9f3b64e720) 0 empty + +Vtable for QCheckBox +QCheckBox::_ZTV9QCheckBox: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QCheckBox) +16 (int (*)(...))QCheckBox::metaObject +24 (int (*)(...))QCheckBox::qt_metacast +32 (int (*)(...))QCheckBox::qt_metacall +40 (int (*)(...))QCheckBox::~QCheckBox +48 (int (*)(...))QCheckBox::~QCheckBox +56 (int (*)(...))QCheckBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCheckBox::sizeHint +136 (int (*)(...))QCheckBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QCheckBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCheckBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCheckBox::hitButton +440 (int (*)(...))QCheckBox::checkStateSet +448 (int (*)(...))QCheckBox::nextCheckState +456 (int (*)(...))QCheckBox::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI9QCheckBox) +480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev +488 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCheckBox + size=40 align=8 + base size=40 base align=8 +QCheckBox (0x0x7b9f3b6152d8) 0 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 16) +QAbstractButton (0x0x7b9f3b615340) 0 + primary-for QCheckBox (0x0x7b9f3b6152d8) +QWidget (0x0x7b9f3b632bd0) 0 + primary-for QAbstractButton (0x0x7b9f3b615340) +QObject (0x0x7b9f3b64e660) 0 + primary-for QWidget (0x0x7b9f3b632bd0) +QPaintDevice (0x0x7b9f3b64e6c0) 16 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 480) + +Class QDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialog::QPrivateSignal (0x0x7b9f3b64e960) 0 empty + +Vtable for QDialog +QDialog::_ZTV7QDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QDialog) +16 (int (*)(...))QDialog::metaObject +24 (int (*)(...))QDialog::qt_metacast +32 (int (*)(...))QDialog::qt_metacall +40 (int (*)(...))QDialog::~QDialog +48 (int (*)(...))QDialog::~QDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QDialog) +488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev +496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialog + size=40 align=8 + base size=40 base align=8 +QDialog (0x0x7b9f3b6153a8) 0 + vptr=((& QDialog::_ZTV7QDialog) + 16) +QWidget (0x0x7b9f3b632d90) 0 + primary-for QDialog (0x0x7b9f3b6153a8) +QObject (0x0x7b9f3b64e8a0) 0 + primary-for QWidget (0x0x7b9f3b632d90) +QPaintDevice (0x0x7b9f3b64e900) 16 + vptr=((& QDialog::_ZTV7QDialog) + 488) + +Class QColorDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColorDialog::QPrivateSignal (0x0x7b9f3b64eba0) 0 empty + +Vtable for QColorDialog +QColorDialog::_ZTV12QColorDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QColorDialog) +16 (int (*)(...))QColorDialog::metaObject +24 (int (*)(...))QColorDialog::qt_metacast +32 (int (*)(...))QColorDialog::qt_metacall +40 (int (*)(...))QColorDialog::~QColorDialog +48 (int (*)(...))QColorDialog::~QColorDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QColorDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QColorDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QColorDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QColorDialog) +488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev +496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColorDialog + size=40 align=8 + base size=40 base align=8 +QColorDialog (0x0x7b9f3b615410) 0 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 16) +QDialog (0x0x7b9f3b615478) 0 + primary-for QColorDialog (0x0x7b9f3b615410) +QWidget (0x0x7b9f3b6ae070) 0 + primary-for QDialog (0x0x7b9f3b615478) +QObject (0x0x7b9f3b64eae0) 0 + primary-for QWidget (0x0x7b9f3b6ae070) +QPaintDevice (0x0x7b9f3b64eb40) 16 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 488) + +Class QColormap + size=8 align=8 + base size=8 base align=8 +QColormap (0x0x7b9f3b6ed2a0) 0 + +Class QColumnView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColumnView::QPrivateSignal (0x0x7b9f3b6ed3c0) 0 empty + +Vtable for QColumnView +QColumnView::_ZTV11QColumnView: 109 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QColumnView) +16 (int (*)(...))QColumnView::metaObject +24 (int (*)(...))QColumnView::qt_metacast +32 (int (*)(...))QColumnView::qt_metacall +40 (int (*)(...))QColumnView::~QColumnView +48 (int (*)(...))QColumnView::~QColumnView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QColumnView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QColumnView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QColumnView::scrollContentsBy +464 (int (*)(...))QAbstractItemView::viewportSizeHint +472 (int (*)(...))QColumnView::setModel +480 (int (*)(...))QColumnView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QColumnView::visualRect +504 (int (*)(...))QColumnView::scrollTo +512 (int (*)(...))QColumnView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QAbstractItemView::reset +552 (int (*)(...))QColumnView::setRootIndex +560 (int (*)(...))QAbstractItemView::doItemsLayout +568 (int (*)(...))QColumnView::selectAll +576 (int (*)(...))QAbstractItemView::dataChanged +584 (int (*)(...))QColumnView::rowsInserted +592 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +600 (int (*)(...))QAbstractItemView::selectionChanged +608 (int (*)(...))QColumnView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QAbstractItemView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QColumnView::moveCursor +704 (int (*)(...))QColumnView::horizontalOffset +712 (int (*)(...))QColumnView::verticalOffset +720 (int (*)(...))QColumnView::isIndexHidden +728 (int (*)(...))QColumnView::setSelection +736 (int (*)(...))QColumnView::visualRegionForSelection +744 (int (*)(...))QAbstractItemView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))QColumnView::createColumn +792 (int (*)(...))-16 +800 (int (*)(...))(& _ZTI11QColumnView) +808 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev +816 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColumnView + size=40 align=8 + base size=40 base align=8 +QColumnView (0x0x7b9f3b6155b0) 0 + vptr=((& QColumnView::_ZTV11QColumnView) + 16) +QAbstractItemView (0x0x7b9f3b615618) 0 + primary-for QColumnView (0x0x7b9f3b6155b0) +QAbstractScrollArea (0x0x7b9f3b615680) 0 + primary-for QAbstractItemView (0x0x7b9f3b615618) +QFrame (0x0x7b9f3b6156e8) 0 + primary-for QAbstractScrollArea (0x0x7b9f3b615680) +QWidget (0x0x7b9f3b6ae930) 0 + primary-for QFrame (0x0x7b9f3b6156e8) +QObject (0x0x7b9f3b6ed300) 0 + primary-for QWidget (0x0x7b9f3b6ae930) +QPaintDevice (0x0x7b9f3b6ed360) 16 + vptr=((& QColumnView::_ZTV11QColumnView) + 808) + +Class QComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QComboBox::QPrivateSignal (0x0x7b9f3b6ed600) 0 empty + +Vtable for QComboBox +QComboBox::_ZTV9QComboBox: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QComboBox) +16 (int (*)(...))QComboBox::metaObject +24 (int (*)(...))QComboBox::qt_metacast +32 (int (*)(...))QComboBox::qt_metacall +40 (int (*)(...))QComboBox::~QComboBox +48 (int (*)(...))QComboBox::~QComboBox +56 (int (*)(...))QComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::setModel +440 (int (*)(...))QComboBox::showPopup +448 (int (*)(...))QComboBox::hidePopup +456 (int (*)(...))QComboBox::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI9QComboBox) +480 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev +488 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QComboBox + size=40 align=8 + base size=40 base align=8 +QComboBox (0x0x7b9f3b615750) 0 + vptr=((& QComboBox::_ZTV9QComboBox) + 16) +QWidget (0x0x7b9f3b6aeaf0) 0 + primary-for QComboBox (0x0x7b9f3b615750) +QObject (0x0x7b9f3b6ed540) 0 + primary-for QWidget (0x0x7b9f3b6aeaf0) +QPaintDevice (0x0x7b9f3b6ed5a0) 16 + vptr=((& QComboBox::_ZTV9QComboBox) + 480) + +Class QPushButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPushButton::QPrivateSignal (0x0x7b9f3b6edba0) 0 empty + +Vtable for QPushButton +QPushButton::_ZTV11QPushButton: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPushButton) +16 (int (*)(...))QPushButton::metaObject +24 (int (*)(...))QPushButton::qt_metacast +32 (int (*)(...))QPushButton::qt_metacall +40 (int (*)(...))QPushButton::~QPushButton +48 (int (*)(...))QPushButton::~QPushButton +56 (int (*)(...))QPushButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QPushButton::sizeHint +136 (int (*)(...))QPushButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QPushButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPushButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QPushButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))QPushButton::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI11QPushButton) +480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev +488 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPushButton + size=40 align=8 + base size=40 base align=8 +QPushButton (0x0x7b9f3b6157b8) 0 + vptr=((& QPushButton::_ZTV11QPushButton) + 16) +QAbstractButton (0x0x7b9f3b615820) 0 + primary-for QPushButton (0x0x7b9f3b6157b8) +QWidget (0x0x7b9f3b76d540) 0 + primary-for QAbstractButton (0x0x7b9f3b615820) +QObject (0x0x7b9f3b6edae0) 0 + primary-for QWidget (0x0x7b9f3b76d540) +QPaintDevice (0x0x7b9f3b6edb40) 16 + vptr=((& QPushButton::_ZTV11QPushButton) + 480) + +Class QCommandLinkButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommandLinkButton::QPrivateSignal (0x0x7b9f3b6edde0) 0 empty + +Vtable for QCommandLinkButton +QCommandLinkButton::_ZTV18QCommandLinkButton: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QCommandLinkButton) +16 (int (*)(...))QCommandLinkButton::metaObject +24 (int (*)(...))QCommandLinkButton::qt_metacast +32 (int (*)(...))QCommandLinkButton::qt_metacall +40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +56 (int (*)(...))QCommandLinkButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCommandLinkButton::sizeHint +136 (int (*)(...))QCommandLinkButton::minimumSizeHint +144 (int (*)(...))QCommandLinkButton::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QPushButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCommandLinkButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QPushButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))QCommandLinkButton::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI18QCommandLinkButton) +480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev +488 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCommandLinkButton + size=40 align=8 + base size=40 base align=8 +QCommandLinkButton (0x0x7b9f3b615888) 0 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16) +QPushButton (0x0x7b9f3b6158f0) 0 + primary-for QCommandLinkButton (0x0x7b9f3b615888) +QAbstractButton (0x0x7b9f3b615958) 0 + primary-for QPushButton (0x0x7b9f3b6158f0) +QWidget (0x0x7b9f3b76d700) 0 + primary-for QAbstractButton (0x0x7b9f3b615958) +QObject (0x0x7b9f3b6edd20) 0 + primary-for QWidget (0x0x7b9f3b76d700) +QPaintDevice (0x0x7b9f3b6edd80) 16 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 480) + +Class QCommonStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommonStyle::QPrivateSignal (0x0x7b9f3b3a7000) 0 empty + +Vtable for QCommonStyle +QCommonStyle::_ZTV12QCommonStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QCommonStyle) +16 (int (*)(...))QCommonStyle::metaObject +24 (int (*)(...))QCommonStyle::qt_metacast +32 (int (*)(...))QCommonStyle::qt_metacall +40 (int (*)(...))QCommonStyle::~QCommonStyle +48 (int (*)(...))QCommonStyle::~QCommonStyle +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCommonStyle::polish +120 (int (*)(...))QCommonStyle::unpolish +128 (int (*)(...))QCommonStyle::polish +136 (int (*)(...))QCommonStyle::unpolish +144 (int (*)(...))QCommonStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))QCommonStyle::drawPrimitive +200 (int (*)(...))QCommonStyle::drawControl +208 (int (*)(...))QCommonStyle::subElementRect +216 (int (*)(...))QCommonStyle::drawComplexControl +224 (int (*)(...))QCommonStyle::hitTestComplexControl +232 (int (*)(...))QCommonStyle::subControlRect +240 (int (*)(...))QCommonStyle::pixelMetric +248 (int (*)(...))QCommonStyle::sizeFromContents +256 (int (*)(...))QCommonStyle::styleHint +264 (int (*)(...))QCommonStyle::standardPixmap +272 (int (*)(...))QCommonStyle::standardIcon +280 (int (*)(...))QCommonStyle::generatedIconPixmap +288 (int (*)(...))QCommonStyle::layoutSpacing + +Class QCommonStyle + size=16 align=8 + base size=16 base align=8 +QCommonStyle (0x0x7b9f3b6159c0) 0 + vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16) +QStyle (0x0x7b9f3b615a28) 0 + primary-for QCommonStyle (0x0x7b9f3b6159c0) +QObject (0x0x7b9f3b6edf60) 0 + primary-for QStyle (0x0x7b9f3b615a28) + +Class QCompleter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCompleter::QPrivateSignal (0x0x7b9f3b3a71e0) 0 empty + +Vtable for QCompleter +QCompleter::_ZTV10QCompleter: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QCompleter) +16 (int (*)(...))QCompleter::metaObject +24 (int (*)(...))QCompleter::qt_metacast +32 (int (*)(...))QCompleter::qt_metacall +40 (int (*)(...))QCompleter::~QCompleter +48 (int (*)(...))QCompleter::~QCompleter +56 (int (*)(...))QCompleter::event +64 (int (*)(...))QCompleter::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCompleter::pathFromIndex +120 (int (*)(...))QCompleter::splitPath + +Class QCompleter + size=16 align=8 + base size=16 base align=8 +QCompleter (0x0x7b9f3b615a90) 0 + vptr=((& QCompleter::_ZTV10QCompleter) + 16) +QObject (0x0x7b9f3b3a7180) 0 + primary-for QCompleter (0x0x7b9f3b615a90) + +Class QDataWidgetMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDataWidgetMapper::QPrivateSignal (0x0x7b9f3b3a7540) 0 empty + +Vtable for QDataWidgetMapper +QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QDataWidgetMapper) +16 (int (*)(...))QDataWidgetMapper::metaObject +24 (int (*)(...))QDataWidgetMapper::qt_metacast +32 (int (*)(...))QDataWidgetMapper::qt_metacall +40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDataWidgetMapper::setCurrentIndex + +Class QDataWidgetMapper + size=16 align=8 + base size=16 base align=8 +QDataWidgetMapper (0x0x7b9f3b615af8) 0 + vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16) +QObject (0x0x7b9f3b3a74e0) 0 + primary-for QDataWidgetMapper (0x0x7b9f3b615af8) + +Class QDateTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateTimeEdit::QPrivateSignal (0x0x7b9f3b3a7840) 0 empty + +Vtable for QDateTimeEdit +QDateTimeEdit::_ZTV13QDateTimeEdit: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QDateTimeEdit) +16 (int (*)(...))QDateTimeEdit::metaObject +24 (int (*)(...))QDateTimeEdit::qt_metacast +32 (int (*)(...))QDateTimeEdit::qt_metacall +40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::initStyleOption +472 (int (*)(...))QDateTimeEdit::stepEnabled +480 (int (*)(...))QDateTimeEdit::dateTimeFromText +488 (int (*)(...))QDateTimeEdit::textFromDateTime +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI13QDateTimeEdit) +512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev +520 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateTimeEdit + size=40 align=8 + base size=40 base align=8 +QDateTimeEdit (0x0x7b9f3b615b60) 0 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16) +QAbstractSpinBox (0x0x7b9f3b615bc8) 0 + primary-for QDateTimeEdit (0x0x7b9f3b615b60) +QWidget (0x0x7b9f3b3e1310) 0 + primary-for QAbstractSpinBox (0x0x7b9f3b615bc8) +QObject (0x0x7b9f3b3a7780) 0 + primary-for QWidget (0x0x7b9f3b3e1310) +QPaintDevice (0x0x7b9f3b3a77e0) 16 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 512) + +Class QTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeEdit::QPrivateSignal (0x0x7b9f3b3a7de0) 0 empty + +Vtable for QTimeEdit +QTimeEdit::_ZTV9QTimeEdit: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeEdit) +16 (int (*)(...))QTimeEdit::metaObject +24 (int (*)(...))QTimeEdit::qt_metacast +32 (int (*)(...))QTimeEdit::qt_metacall +40 (int (*)(...))QTimeEdit::~QTimeEdit +48 (int (*)(...))QTimeEdit::~QTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::initStyleOption +472 (int (*)(...))QDateTimeEdit::stepEnabled +480 (int (*)(...))QDateTimeEdit::dateTimeFromText +488 (int (*)(...))QDateTimeEdit::textFromDateTime +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI9QTimeEdit) +512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev +520 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTimeEdit + size=40 align=8 + base size=40 base align=8 +QTimeEdit (0x0x7b9f3b615d00) 0 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16) +QDateTimeEdit (0x0x7b9f3b615d68) 0 + primary-for QTimeEdit (0x0x7b9f3b615d00) +QAbstractSpinBox (0x0x7b9f3b615dd0) 0 + primary-for QDateTimeEdit (0x0x7b9f3b615d68) +QWidget (0x0x7b9f3b3e1b60) 0 + primary-for QAbstractSpinBox (0x0x7b9f3b615dd0) +QObject (0x0x7b9f3b3a7d20) 0 + primary-for QWidget (0x0x7b9f3b3e1b60) +QPaintDevice (0x0x7b9f3b3a7d80) 16 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 512) + +Class QDateEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateEdit::QPrivateSignal (0x0x7b9f3b3a7f60) 0 empty + +Vtable for QDateEdit +QDateEdit::_ZTV9QDateEdit: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDateEdit) +16 (int (*)(...))QDateEdit::metaObject +24 (int (*)(...))QDateEdit::qt_metacast +32 (int (*)(...))QDateEdit::qt_metacall +40 (int (*)(...))QDateEdit::~QDateEdit +48 (int (*)(...))QDateEdit::~QDateEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::initStyleOption +472 (int (*)(...))QDateTimeEdit::stepEnabled +480 (int (*)(...))QDateTimeEdit::dateTimeFromText +488 (int (*)(...))QDateTimeEdit::textFromDateTime +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI9QDateEdit) +512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev +520 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateEdit + size=40 align=8 + base size=40 base align=8 +QDateEdit (0x0x7b9f3b615e38) 0 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 16) +QDateTimeEdit (0x0x7b9f3b615ea0) 0 + primary-for QDateEdit (0x0x7b9f3b615e38) +QAbstractSpinBox (0x0x7b9f3b615f08) 0 + primary-for QDateTimeEdit (0x0x7b9f3b615ea0) +QWidget (0x0x7b9f3b3e1c40) 0 + primary-for QAbstractSpinBox (0x0x7b9f3b615f08) +QObject (0x0x7b9f3b3a7ea0) 0 + primary-for QWidget (0x0x7b9f3b3e1c40) +QPaintDevice (0x0x7b9f3b3a7f00) 16 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 512) + +Class QDial::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDial::QPrivateSignal (0x0x7b9f3b44b3c0) 0 empty + +Vtable for QDial +QDial::_ZTV5QDial: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDial) +16 (int (*)(...))QDial::metaObject +24 (int (*)(...))QDial::qt_metacast +32 (int (*)(...))QDial::qt_metacall +40 (int (*)(...))QDial::~QDial +48 (int (*)(...))QDial::~QDial +56 (int (*)(...))QDial::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDial::sizeHint +136 (int (*)(...))QDial::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDial::mousePressEvent +176 (int (*)(...))QDial::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QDial::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDial::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDial::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDial::sliderChange +440 (int (*)(...))QDial::initStyleOption +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI5QDial) +464 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev +472 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDial + size=40 align=8 + base size=40 base align=8 +QDial (0x0x7b9f3b615f70) 0 + vptr=((& QDial::_ZTV5QDial) + 16) +QAbstractSlider (0x0x7b9f3b48e000) 0 + primary-for QDial (0x0x7b9f3b615f70) +QWidget (0x0x7b9f3b48d070) 0 + primary-for QAbstractSlider (0x0x7b9f3b48e000) +QObject (0x0x7b9f3b44b300) 0 + primary-for QWidget (0x0x7b9f3b48d070) +QPaintDevice (0x0x7b9f3b44b360) 16 + vptr=((& QDial::_ZTV5QDial) + 464) + +Class QDialogButtonBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialogButtonBox::QPrivateSignal (0x0x7b9f3b44b600) 0 empty + +Vtable for QDialogButtonBox +QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDialogButtonBox) +16 (int (*)(...))QDialogButtonBox::metaObject +24 (int (*)(...))QDialogButtonBox::qt_metacast +32 (int (*)(...))QDialogButtonBox::qt_metacall +40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +56 (int (*)(...))QDialogButtonBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDialogButtonBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QDialogButtonBox) +448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev +456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialogButtonBox + size=40 align=8 + base size=40 base align=8 +QDialogButtonBox (0x0x7b9f3b48e068) 0 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16) +QWidget (0x0x7b9f3b48d230) 0 + primary-for QDialogButtonBox (0x0x7b9f3b48e068) +QObject (0x0x7b9f3b44b540) 0 + primary-for QWidget (0x0x7b9f3b48d230) +QPaintDevice (0x0x7b9f3b44b5a0) 16 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448) + +Class QDockWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDockWidget::QPrivateSignal (0x0x7b9f3b44bd80) 0 empty + +Vtable for QDockWidget +QDockWidget::_ZTV11QDockWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QDockWidget) +16 (int (*)(...))QDockWidget::metaObject +24 (int (*)(...))QDockWidget::qt_metacast +32 (int (*)(...))QDockWidget::qt_metacall +40 (int (*)(...))QDockWidget::~QDockWidget +48 (int (*)(...))QDockWidget::~QDockWidget +56 (int (*)(...))QDockWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDockWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QDockWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDockWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDockWidget::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QDockWidget) +456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev +464 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDockWidget + size=40 align=8 + base size=40 base align=8 +QDockWidget (0x0x7b9f3b48e1a0) 0 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 16) +QWidget (0x0x7b9f3b4a5850) 0 + primary-for QDockWidget (0x0x7b9f3b48e1a0) +QObject (0x0x7b9f3b44bcc0) 0 + primary-for QWidget (0x0x7b9f3b4a5850) +QPaintDevice (0x0x7b9f3b44bd20) 16 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 456) + +Class QTileRules + size=8 align=4 + base size=8 base align=4 +QTileRules (0x0x7b9f3b5415a0) 0 + +Class QErrorMessage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QErrorMessage::QPrivateSignal (0x0x7b9f3b541c00) 0 empty + +Vtable for QErrorMessage +QErrorMessage::_ZTV13QErrorMessage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QErrorMessage) +16 (int (*)(...))QErrorMessage::metaObject +24 (int (*)(...))QErrorMessage::qt_metacast +32 (int (*)(...))QErrorMessage::qt_metacall +40 (int (*)(...))QErrorMessage::~QErrorMessage +48 (int (*)(...))QErrorMessage::~QErrorMessage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QErrorMessage::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QErrorMessage::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI13QErrorMessage) +488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev +496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QErrorMessage + size=40 align=8 + base size=40 base align=8 +QErrorMessage (0x0x7b9f3b48e3a8) 0 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16) +QDialog (0x0x7b9f3b48e410) 0 + primary-for QErrorMessage (0x0x7b9f3b48e3a8) +QWidget (0x0x7b9f3b56cc40) 0 + primary-for QDialog (0x0x7b9f3b48e410) +QObject (0x0x7b9f3b541b40) 0 + primary-for QWidget (0x0x7b9f3b56cc40) +QPaintDevice (0x0x7b9f3b541ba0) 16 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488) + +Class QFileDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDialog::QPrivateSignal (0x0x7b9f3b541e40) 0 empty + +Vtable for QFileDialog +QFileDialog::_ZTV11QFileDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDialog) +16 (int (*)(...))QFileDialog::metaObject +24 (int (*)(...))QFileDialog::qt_metacast +32 (int (*)(...))QFileDialog::qt_metacall +40 (int (*)(...))QFileDialog::~QFileDialog +48 (int (*)(...))QFileDialog::~QFileDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFileDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFileDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFileDialog::done +456 (int (*)(...))QFileDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFileDialog) +488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev +496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFileDialog + size=40 align=8 + base size=40 base align=8 +QFileDialog (0x0x7b9f3b48e478) 0 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 16) +QDialog (0x0x7b9f3b48e4e0) 0 + primary-for QFileDialog (0x0x7b9f3b48e478) +QWidget (0x0x7b9f3b56ce00) 0 + primary-for QDialog (0x0x7b9f3b48e4e0) +QObject (0x0x7b9f3b541d80) 0 + primary-for QWidget (0x0x7b9f3b56ce00) +QPaintDevice (0x0x7b9f3b541de0) 16 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 488) + +Vtable for QFileIconProvider +QFileIconProvider::_ZTV17QFileIconProvider: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFileIconProvider) +16 (int (*)(...))QFileIconProvider::~QFileIconProvider +24 (int (*)(...))QFileIconProvider::~QFileIconProvider +32 (int (*)(...))QFileIconProvider::icon +40 (int (*)(...))QFileIconProvider::icon +48 (int (*)(...))QAbstractFileIconProvider::type +56 (int (*)(...))QAbstractFileIconProvider::setOptions +64 (int (*)(...))QAbstractFileIconProvider::options + +Class QFileIconProvider + size=16 align=8 + base size=16 base align=8 +QFileIconProvider (0x0x7b9f3b48e618) 0 + vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16) +QAbstractFileIconProvider (0x0x7b9f3b2078a0) 0 + primary-for QFileIconProvider (0x0x7b9f3b48e618) + +Class QFocusFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFocusFrame::QPrivateSignal (0x0x7b9f3b207a80) 0 empty + +Vtable for QFocusFrame +QFocusFrame::_ZTV11QFocusFrame: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusFrame) +16 (int (*)(...))QFocusFrame::metaObject +24 (int (*)(...))QFocusFrame::qt_metacast +32 (int (*)(...))QFocusFrame::qt_metacall +40 (int (*)(...))QFocusFrame::~QFocusFrame +48 (int (*)(...))QFocusFrame::~QFocusFrame +56 (int (*)(...))QFocusFrame::event +64 (int (*)(...))QFocusFrame::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFocusFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFocusFrame::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QFocusFrame) +456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev +464 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFocusFrame + size=40 align=8 + base size=40 base align=8 +QFocusFrame (0x0x7b9f3b48e680) 0 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16) +QWidget (0x0x7b9f3b25f1c0) 0 + primary-for QFocusFrame (0x0x7b9f3b48e680) +QObject (0x0x7b9f3b2079c0) 0 + primary-for QWidget (0x0x7b9f3b25f1c0) +QPaintDevice (0x0x7b9f3b207a20) 16 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 456) + +Class QFontComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontComboBox::QPrivateSignal (0x0x7b9f3b207cc0) 0 empty + +Vtable for QFontComboBox +QFontComboBox::_ZTV13QFontComboBox: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFontComboBox) +16 (int (*)(...))QFontComboBox::metaObject +24 (int (*)(...))QFontComboBox::qt_metacast +32 (int (*)(...))QFontComboBox::qt_metacall +40 (int (*)(...))QFontComboBox::~QFontComboBox +48 (int (*)(...))QFontComboBox::~QFontComboBox +56 (int (*)(...))QFontComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFontComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::setModel +440 (int (*)(...))QComboBox::showPopup +448 (int (*)(...))QComboBox::hidePopup +456 (int (*)(...))QComboBox::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI13QFontComboBox) +480 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev +488 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontComboBox + size=40 align=8 + base size=40 base align=8 +QFontComboBox (0x0x7b9f3b48e6e8) 0 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16) +QComboBox (0x0x7b9f3b48e750) 0 + primary-for QFontComboBox (0x0x7b9f3b48e6e8) +QWidget (0x0x7b9f3b25f380) 0 + primary-for QComboBox (0x0x7b9f3b48e750) +QObject (0x0x7b9f3b207c00) 0 + primary-for QWidget (0x0x7b9f3b25f380) +QPaintDevice (0x0x7b9f3b207c60) 16 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 480) + +Class QFontDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontDialog::QPrivateSignal (0x0x7b9f3b2b2480) 0 empty + +Vtable for QFontDialog +QFontDialog::_ZTV11QFontDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFontDialog) +16 (int (*)(...))QFontDialog::metaObject +24 (int (*)(...))QFontDialog::qt_metacast +32 (int (*)(...))QFontDialog::qt_metacall +40 (int (*)(...))QFontDialog::~QFontDialog +48 (int (*)(...))QFontDialog::~QFontDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QFontDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFontDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFontDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFontDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFontDialog) +488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev +496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontDialog + size=40 align=8 + base size=40 base align=8 +QFontDialog (0x0x7b9f3b48e888) 0 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 16) +QDialog (0x0x7b9f3b48e8f0) 0 + primary-for QFontDialog (0x0x7b9f3b48e888) +QWidget (0x0x7b9f3b25fb60) 0 + primary-for QDialog (0x0x7b9f3b48e8f0) +QObject (0x0x7b9f3b2b23c0) 0 + primary-for QWidget (0x0x7b9f3b25fb60) +QPaintDevice (0x0x7b9f3b2b2420) 16 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 488) + +Class QFormLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFormLayout::QPrivateSignal (0x0x7b9f3b2b2c00) 0 empty + +Class QFormLayout::TakeRowResult + size=16 align=8 + base size=16 base align=8 +QFormLayout::TakeRowResult (0x0x7b9f3b2b2c60) 0 + +Vtable for QFormLayout +QFormLayout::_ZTV11QFormLayout: 54 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFormLayout) +16 (int (*)(...))QFormLayout::metaObject +24 (int (*)(...))QFormLayout::qt_metacast +32 (int (*)(...))QFormLayout::qt_metacall +40 (int (*)(...))QFormLayout::~QFormLayout +48 (int (*)(...))QFormLayout::~QFormLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFormLayout::spacing +120 (int (*)(...))QFormLayout::setSpacing +128 (int (*)(...))QFormLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QFormLayout::addItem +152 (int (*)(...))QFormLayout::expandingDirections +160 (int (*)(...))QFormLayout::minimumSize +168 (int (*)(...))QLayout::maximumSize +176 (int (*)(...))QFormLayout::setGeometry +184 (int (*)(...))QFormLayout::itemAt +192 (int (*)(...))QFormLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QFormLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QFormLayout::sizeHint +264 (int (*)(...))QFormLayout::hasHeightForWidth +272 (int (*)(...))QFormLayout::heightForWidth +280 (int (*)(...))-16 +288 (int (*)(...))(& _ZTI11QFormLayout) +296 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev +304 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev +312 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv +320 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv +344 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect +352 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +368 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv +376 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi +384 (int (*)(...))QLayoutItem::minimumHeightForWidth +392 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv +400 (int (*)(...))QLayoutItem::widget +408 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +416 (int (*)(...))QLayoutItem::spacerItem +424 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QFormLayout + size=32 align=8 + base size=28 base align=8 +QFormLayout (0x0x7b9f3b48ea28) 0 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 16) +QLayout (0x0x7b9f3b3263f0) 0 + primary-for QFormLayout (0x0x7b9f3b48ea28) +QObject (0x0x7b9f3b2b2b40) 0 + primary-for QLayout (0x0x7b9f3b3263f0) +QLayoutItem (0x0x7b9f3b2b2ba0) 16 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 296) + +Class QGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGesture::QPrivateSignal (0x0x7b9f3b00ede0) 0 empty + +Vtable for QGesture +QGesture::_ZTV8QGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QGesture) +16 (int (*)(...))QGesture::metaObject +24 (int (*)(...))QGesture::qt_metacast +32 (int (*)(...))QGesture::qt_metacall +40 (int (*)(...))QGesture::~QGesture +48 (int (*)(...))QGesture::~QGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGesture + size=16 align=8 + base size=16 base align=8 +QGesture (0x0x7b9f3b016750) 0 + vptr=((& QGesture::_ZTV8QGesture) + 16) +QObject (0x0x7b9f3b00ed80) 0 + primary-for QGesture (0x0x7b9f3b016750) + +Class QPanGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPanGesture::QPrivateSignal (0x0x7b9f3b03f000) 0 empty + +Vtable for QPanGesture +QPanGesture::_ZTV11QPanGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPanGesture) +16 (int (*)(...))QPanGesture::metaObject +24 (int (*)(...))QPanGesture::qt_metacast +32 (int (*)(...))QPanGesture::qt_metacall +40 (int (*)(...))QPanGesture::~QPanGesture +48 (int (*)(...))QPanGesture::~QPanGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPanGesture + size=16 align=8 + base size=16 base align=8 +QPanGesture (0x0x7b9f3b0167b8) 0 + vptr=((& QPanGesture::_ZTV11QPanGesture) + 16) +QGesture (0x0x7b9f3b016820) 0 + primary-for QPanGesture (0x0x7b9f3b0167b8) +QObject (0x0x7b9f3b00ef60) 0 + primary-for QGesture (0x0x7b9f3b016820) + +Class QPinchGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPinchGesture::QPrivateSignal (0x0x7b9f3b03f1e0) 0 empty + +Vtable for QPinchGesture +QPinchGesture::_ZTV13QPinchGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPinchGesture) +16 (int (*)(...))QPinchGesture::metaObject +24 (int (*)(...))QPinchGesture::qt_metacast +32 (int (*)(...))QPinchGesture::qt_metacall +40 (int (*)(...))QPinchGesture::~QPinchGesture +48 (int (*)(...))QPinchGesture::~QPinchGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPinchGesture + size=16 align=8 + base size=16 base align=8 +QPinchGesture (0x0x7b9f3b016888) 0 + vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16) +QGesture (0x0x7b9f3b0168f0) 0 + primary-for QPinchGesture (0x0x7b9f3b016888) +QObject (0x0x7b9f3b03f180) 0 + primary-for QGesture (0x0x7b9f3b0168f0) + +Class QSwipeGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSwipeGesture::QPrivateSignal (0x0x7b9f3b10a480) 0 empty + +Vtable for QSwipeGesture +QSwipeGesture::_ZTV13QSwipeGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSwipeGesture) +16 (int (*)(...))QSwipeGesture::metaObject +24 (int (*)(...))QSwipeGesture::qt_metacast +32 (int (*)(...))QSwipeGesture::qt_metacall +40 (int (*)(...))QSwipeGesture::~QSwipeGesture +48 (int (*)(...))QSwipeGesture::~QSwipeGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSwipeGesture + size=16 align=8 + base size=16 base align=8 +QSwipeGesture (0x0x7b9f3b10eb60) 0 + vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16) +QGesture (0x0x7b9f3b10ebc8) 0 + primary-for QSwipeGesture (0x0x7b9f3b10eb60) +QObject (0x0x7b9f3b10a420) 0 + primary-for QGesture (0x0x7b9f3b10ebc8) + +Class QTapGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapGesture::QPrivateSignal (0x0x7b9f3b10a720) 0 empty + +Vtable for QTapGesture +QTapGesture::_ZTV11QTapGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTapGesture) +16 (int (*)(...))QTapGesture::metaObject +24 (int (*)(...))QTapGesture::qt_metacast +32 (int (*)(...))QTapGesture::qt_metacall +40 (int (*)(...))QTapGesture::~QTapGesture +48 (int (*)(...))QTapGesture::~QTapGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapGesture + size=16 align=8 + base size=16 base align=8 +QTapGesture (0x0x7b9f3b10ec30) 0 + vptr=((& QTapGesture::_ZTV11QTapGesture) + 16) +QGesture (0x0x7b9f3b10ec98) 0 + primary-for QTapGesture (0x0x7b9f3b10ec30) +QObject (0x0x7b9f3b10a6c0) 0 + primary-for QGesture (0x0x7b9f3b10ec98) + +Class QTapAndHoldGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapAndHoldGesture::QPrivateSignal (0x0x7b9f3b10a900) 0 empty + +Vtable for QTapAndHoldGesture +QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTapAndHoldGesture) +16 (int (*)(...))QTapAndHoldGesture::metaObject +24 (int (*)(...))QTapAndHoldGesture::qt_metacast +32 (int (*)(...))QTapAndHoldGesture::qt_metacall +40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapAndHoldGesture + size=16 align=8 + base size=16 base align=8 +QTapAndHoldGesture (0x0x7b9f3b10ed00) 0 + vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16) +QGesture (0x0x7b9f3b10ed68) 0 + primary-for QTapAndHoldGesture (0x0x7b9f3b10ed00) +QObject (0x0x7b9f3b10a8a0) 0 + primary-for QGesture (0x0x7b9f3b10ed68) + +Vtable for QGestureEvent +QGestureEvent::_ZTV13QGestureEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGestureEvent) +16 (int (*)(...))QGestureEvent::~QGestureEvent +24 (int (*)(...))QGestureEvent::~QGestureEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGestureEvent + size=64 align=8 + base size=64 base align=8 +QGestureEvent (0x0x7b9f3b10edd0) 0 + vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16) +QEvent (0x0x7b9f3b10aa80) 0 + primary-for QGestureEvent (0x0x7b9f3b10edd0) + +Vtable for QGestureRecognizer +QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGestureRecognizer) +16 0 +24 0 +32 (int (*)(...))QGestureRecognizer::create +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGestureRecognizer::reset + +Class QGestureRecognizer + size=8 align=8 + base size=8 base align=8 +QGestureRecognizer (0x0x7b9f3ae1cf60) 0 nearly-empty + vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16) + +Vtable for QGraphicsItem +QGraphicsItem::_ZTV13QGraphicsItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItem::isObscuredBy +88 (int (*)(...))QGraphicsItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItem + size=16 align=8 + base size=16 base align=8 +QGraphicsItem (0x0x7b9f3ae5b480) 0 + vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16) + +Class QGraphicsObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsObject::QPrivateSignal (0x0x7b9f3af7f9c0) 0 empty + +Vtable for QGraphicsObject +QGraphicsObject::_ZTV15QGraphicsObject: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsObject) +16 (int (*)(...))QGraphicsObject::metaObject +24 (int (*)(...))QGraphicsObject::qt_metacast +32 (int (*)(...))QGraphicsObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))-16 +120 (int (*)(...))(& _ZTI15QGraphicsObject) +128 0 +136 0 +144 (int (*)(...))QGraphicsItem::advance +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QGraphicsItem::shape +168 (int (*)(...))QGraphicsItem::contains +176 (int (*)(...))QGraphicsItem::collidesWithItem +184 (int (*)(...))QGraphicsItem::collidesWithPath +192 (int (*)(...))QGraphicsItem::isObscuredBy +200 (int (*)(...))QGraphicsItem::opaqueArea +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))QGraphicsItem::type +224 (int (*)(...))QGraphicsItem::sceneEventFilter +232 (int (*)(...))QGraphicsItem::sceneEvent +240 (int (*)(...))QGraphicsItem::contextMenuEvent +248 (int (*)(...))QGraphicsItem::dragEnterEvent +256 (int (*)(...))QGraphicsItem::dragLeaveEvent +264 (int (*)(...))QGraphicsItem::dragMoveEvent +272 (int (*)(...))QGraphicsItem::dropEvent +280 (int (*)(...))QGraphicsItem::focusInEvent +288 (int (*)(...))QGraphicsItem::focusOutEvent +296 (int (*)(...))QGraphicsItem::hoverEnterEvent +304 (int (*)(...))QGraphicsItem::hoverMoveEvent +312 (int (*)(...))QGraphicsItem::hoverLeaveEvent +320 (int (*)(...))QGraphicsItem::keyPressEvent +328 (int (*)(...))QGraphicsItem::keyReleaseEvent +336 (int (*)(...))QGraphicsItem::mousePressEvent +344 (int (*)(...))QGraphicsItem::mouseMoveEvent +352 (int (*)(...))QGraphicsItem::mouseReleaseEvent +360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +368 (int (*)(...))QGraphicsItem::wheelEvent +376 (int (*)(...))QGraphicsItem::inputMethodEvent +384 (int (*)(...))QGraphicsItem::inputMethodQuery +392 (int (*)(...))QGraphicsItem::itemChange +400 (int (*)(...))QGraphicsItem::supportsExtension +408 (int (*)(...))QGraphicsItem::setExtension +416 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsObject + size=32 align=8 + base size=32 base align=8 +QGraphicsObject (0x0x7b9f3af79b60) 0 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16) +QObject (0x0x7b9f3af7f900) 0 + primary-for QGraphicsObject (0x0x7b9f3af79b60) +QGraphicsItem (0x0x7b9f3af7f960) 16 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128) + +Vtable for QAbstractGraphicsShapeItem +QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy +88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QAbstractGraphicsShapeItem + size=16 align=8 + base size=16 base align=8 +QAbstractGraphicsShapeItem (0x0x7b9f3ae50680) 0 + vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16) +QGraphicsItem (0x0x7b9f3af7fa80) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae50680) + +Vtable for QGraphicsPathItem +QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsPathItem) +16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPathItem::boundingRect +48 (int (*)(...))QGraphicsPathItem::shape +56 (int (*)(...))QGraphicsPathItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPathItem::isObscuredBy +88 (int (*)(...))QGraphicsPathItem::opaqueArea +96 (int (*)(...))QGraphicsPathItem::paint +104 (int (*)(...))QGraphicsPathItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPathItem::supportsExtension +296 (int (*)(...))QGraphicsPathItem::setExtension +304 (int (*)(...))QGraphicsPathItem::extension + +Class QGraphicsPathItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPathItem (0x0x7b9f3ae506e8) 0 + vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16) +QAbstractGraphicsShapeItem (0x0x7b9f3ae50750) 0 + primary-for QGraphicsPathItem (0x0x7b9f3ae506e8) +QGraphicsItem (0x0x7b9f3af7fba0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae50750) + +Vtable for QGraphicsRectItem +QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRectItem) +16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsRectItem::boundingRect +48 (int (*)(...))QGraphicsRectItem::shape +56 (int (*)(...))QGraphicsRectItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsRectItem::isObscuredBy +88 (int (*)(...))QGraphicsRectItem::opaqueArea +96 (int (*)(...))QGraphicsRectItem::paint +104 (int (*)(...))QGraphicsRectItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsRectItem::supportsExtension +296 (int (*)(...))QGraphicsRectItem::setExtension +304 (int (*)(...))QGraphicsRectItem::extension + +Class QGraphicsRectItem + size=16 align=8 + base size=16 base align=8 +QGraphicsRectItem (0x0x7b9f3ae507b8) 0 + vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16) +QAbstractGraphicsShapeItem (0x0x7b9f3ae50820) 0 + primary-for QGraphicsRectItem (0x0x7b9f3ae507b8) +QGraphicsItem (0x0x7b9f3af7fcc0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae50820) + +Vtable for QGraphicsEllipseItem +QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem) +16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsEllipseItem::boundingRect +48 (int (*)(...))QGraphicsEllipseItem::shape +56 (int (*)(...))QGraphicsEllipseItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy +88 (int (*)(...))QGraphicsEllipseItem::opaqueArea +96 (int (*)(...))QGraphicsEllipseItem::paint +104 (int (*)(...))QGraphicsEllipseItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsEllipseItem::supportsExtension +296 (int (*)(...))QGraphicsEllipseItem::setExtension +304 (int (*)(...))QGraphicsEllipseItem::extension + +Class QGraphicsEllipseItem + size=16 align=8 + base size=16 base align=8 +QGraphicsEllipseItem (0x0x7b9f3ae50888) 0 + vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16) +QAbstractGraphicsShapeItem (0x0x7b9f3ae508f0) 0 + primary-for QGraphicsEllipseItem (0x0x7b9f3ae50888) +QGraphicsItem (0x0x7b9f3af7fe40) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae508f0) + +Vtable for QGraphicsPolygonItem +QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem) +16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPolygonItem::boundingRect +48 (int (*)(...))QGraphicsPolygonItem::shape +56 (int (*)(...))QGraphicsPolygonItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy +88 (int (*)(...))QGraphicsPolygonItem::opaqueArea +96 (int (*)(...))QGraphicsPolygonItem::paint +104 (int (*)(...))QGraphicsPolygonItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPolygonItem::supportsExtension +296 (int (*)(...))QGraphicsPolygonItem::setExtension +304 (int (*)(...))QGraphicsPolygonItem::extension + +Class QGraphicsPolygonItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPolygonItem (0x0x7b9f3ae50958) 0 + vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16) +QAbstractGraphicsShapeItem (0x0x7b9f3ae509c0) 0 + primary-for QGraphicsPolygonItem (0x0x7b9f3ae50958) +QGraphicsItem (0x0x7b9f3abec000) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae509c0) + +Vtable for QGraphicsLineItem +QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsLineItem) +16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsLineItem::boundingRect +48 (int (*)(...))QGraphicsLineItem::shape +56 (int (*)(...))QGraphicsLineItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsLineItem::isObscuredBy +88 (int (*)(...))QGraphicsLineItem::opaqueArea +96 (int (*)(...))QGraphicsLineItem::paint +104 (int (*)(...))QGraphicsLineItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsLineItem::supportsExtension +296 (int (*)(...))QGraphicsLineItem::setExtension +304 (int (*)(...))QGraphicsLineItem::extension + +Class QGraphicsLineItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLineItem (0x0x7b9f3ae50a28) 0 + vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16) +QGraphicsItem (0x0x7b9f3abec120) 0 + primary-for QGraphicsLineItem (0x0x7b9f3ae50a28) + +Vtable for QGraphicsPixmapItem +QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem) +16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPixmapItem::boundingRect +48 (int (*)(...))QGraphicsPixmapItem::shape +56 (int (*)(...))QGraphicsPixmapItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy +88 (int (*)(...))QGraphicsPixmapItem::opaqueArea +96 (int (*)(...))QGraphicsPixmapItem::paint +104 (int (*)(...))QGraphicsPixmapItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPixmapItem::supportsExtension +296 (int (*)(...))QGraphicsPixmapItem::setExtension +304 (int (*)(...))QGraphicsPixmapItem::extension + +Class QGraphicsPixmapItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPixmapItem (0x0x7b9f3ae50a90) 0 + vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16) +QGraphicsItem (0x0x7b9f3abec2a0) 0 + primary-for QGraphicsPixmapItem (0x0x7b9f3ae50a90) + +Class QGraphicsTextItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTextItem::QPrivateSignal (0x0x7b9f3abec4e0) 0 empty + +Vtable for QGraphicsTextItem +QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsTextItem) +16 (int (*)(...))QGraphicsTextItem::metaObject +24 (int (*)(...))QGraphicsTextItem::qt_metacast +32 (int (*)(...))QGraphicsTextItem::qt_metacall +40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsTextItem::boundingRect +120 (int (*)(...))QGraphicsTextItem::shape +128 (int (*)(...))QGraphicsTextItem::contains +136 (int (*)(...))QGraphicsTextItem::paint +144 (int (*)(...))QGraphicsTextItem::isObscuredBy +152 (int (*)(...))QGraphicsTextItem::opaqueArea +160 (int (*)(...))QGraphicsTextItem::type +168 (int (*)(...))QGraphicsTextItem::sceneEvent +176 (int (*)(...))QGraphicsTextItem::mousePressEvent +184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent +192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent +200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent +208 (int (*)(...))QGraphicsTextItem::contextMenuEvent +216 (int (*)(...))QGraphicsTextItem::keyPressEvent +224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent +232 (int (*)(...))QGraphicsTextItem::focusInEvent +240 (int (*)(...))QGraphicsTextItem::focusOutEvent +248 (int (*)(...))QGraphicsTextItem::dragEnterEvent +256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent +264 (int (*)(...))QGraphicsTextItem::dragMoveEvent +272 (int (*)(...))QGraphicsTextItem::dropEvent +280 (int (*)(...))QGraphicsTextItem::inputMethodEvent +288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent +296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent +304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent +312 (int (*)(...))QGraphicsTextItem::inputMethodQuery +320 (int (*)(...))QGraphicsTextItem::supportsExtension +328 (int (*)(...))QGraphicsTextItem::setExtension +336 (int (*)(...))QGraphicsTextItem::extension +344 (int (*)(...))-16 +352 (int (*)(...))(& _ZTI17QGraphicsTextItem) +360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev +368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev +376 (int (*)(...))QGraphicsItem::advance +384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv +392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv +400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF +408 (int (*)(...))QGraphicsItem::collidesWithItem +416 (int (*)(...))QGraphicsItem::collidesWithPath +424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem +432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv +440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv +456 (int (*)(...))QGraphicsItem::sceneEventFilter +464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent +472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent +480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent +488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent +496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent +504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent +512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent +520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent +528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent +536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent +544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent +552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent +560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent +568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent +576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent +584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent +592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +600 (int (*)(...))QGraphicsItem::wheelEvent +608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent +616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE +624 (int (*)(...))QGraphicsItem::itemChange +632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE +640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant +648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant + +Class QGraphicsTextItem + size=40 align=8 + base size=40 base align=8 +QGraphicsTextItem (0x0x7b9f3ae50af8) 0 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16) +QGraphicsObject (0x0x7b9f3abd5850) 0 + primary-for QGraphicsTextItem (0x0x7b9f3ae50af8) +QObject (0x0x7b9f3abec420) 0 + primary-for QGraphicsObject (0x0x7b9f3abd5850) +QGraphicsItem (0x0x7b9f3abec480) 16 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360) + +Vtable for QGraphicsSimpleTextItem +QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem) +16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect +48 (int (*)(...))QGraphicsSimpleTextItem::shape +56 (int (*)(...))QGraphicsSimpleTextItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy +88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea +96 (int (*)(...))QGraphicsSimpleTextItem::paint +104 (int (*)(...))QGraphicsSimpleTextItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension +296 (int (*)(...))QGraphicsSimpleTextItem::setExtension +304 (int (*)(...))QGraphicsSimpleTextItem::extension + +Class QGraphicsSimpleTextItem + size=16 align=8 + base size=16 base align=8 +QGraphicsSimpleTextItem (0x0x7b9f3ae50c30) 0 + vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16) +QAbstractGraphicsShapeItem (0x0x7b9f3ae50c98) 0 + primary-for QGraphicsSimpleTextItem (0x0x7b9f3ae50c30) +QGraphicsItem (0x0x7b9f3abec780) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7b9f3ae50c98) + +Vtable for QGraphicsItemGroup +QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsItemGroup) +16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsItemGroup::boundingRect +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItemGroup::isObscuredBy +88 (int (*)(...))QGraphicsItemGroup::opaqueArea +96 (int (*)(...))QGraphicsItemGroup::paint +104 (int (*)(...))QGraphicsItemGroup::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItemGroup + size=16 align=8 + base size=16 base align=8 +QGraphicsItemGroup (0x0x7b9f3ae50d00) 0 + vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16) +QGraphicsItem (0x0x7b9f3abec8a0) 0 + primary-for QGraphicsItemGroup (0x0x7b9f3ae50d00) + +Vtable for QGraphicsLayoutItem +QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins +48 (int (*)(...))QGraphicsLayoutItem::updateGeometry +56 (int (*)(...))QGraphicsLayoutItem::isEmpty +64 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayoutItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLayoutItem (0x0x7b9f3ac72d80) 0 + vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16) + +Vtable for QGraphicsLayout +QGraphicsLayout::_ZTV15QGraphicsLayout: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsLayout) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLayoutItem::isEmpty +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))QGraphicsLayout::invalidate +80 (int (*)(...))QGraphicsLayout::widgetEvent +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLayout (0x0x7b9f3ac70958) 0 + vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16) +QGraphicsLayoutItem (0x0x7b9f3acad660) 0 + primary-for QGraphicsLayout (0x0x7b9f3ac70958) + +Class QGraphicsAnchor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsAnchor::QPrivateSignal (0x0x7b9f3acadb40) 0 empty + +Vtable for QGraphicsAnchor +QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsAnchor) +16 (int (*)(...))QGraphicsAnchor::metaObject +24 (int (*)(...))QGraphicsAnchor::qt_metacast +32 (int (*)(...))QGraphicsAnchor::qt_metacall +40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGraphicsAnchor + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchor (0x0x7b9f3ac70a90) 0 + vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16) +QObject (0x0x7b9f3acadae0) 0 + primary-for QGraphicsAnchor (0x0x7b9f3ac70a90) + +Vtable for QGraphicsAnchorLayout +QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout) +16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +32 (int (*)(...))QGraphicsAnchorLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLayoutItem::isEmpty +64 (int (*)(...))QGraphicsAnchorLayout::sizeHint +72 (int (*)(...))QGraphicsAnchorLayout::invalidate +80 (int (*)(...))QGraphicsLayout::widgetEvent +88 (int (*)(...))QGraphicsAnchorLayout::count +96 (int (*)(...))QGraphicsAnchorLayout::itemAt +104 (int (*)(...))QGraphicsAnchorLayout::removeAt + +Class QGraphicsAnchorLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchorLayout (0x0x7b9f3ac70af8) 0 + vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16) +QGraphicsLayout (0x0x7b9f3ac70b60) 0 + primary-for QGraphicsAnchorLayout (0x0x7b9f3ac70af8) +QGraphicsLayoutItem (0x0x7b9f3acadcc0) 0 + primary-for QGraphicsLayout (0x0x7b9f3ac70b60) + +Class QGraphicsEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsEffect::QPrivateSignal (0x0x7b9f3acade40) 0 empty + +Vtable for QGraphicsEffect +QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsEffect) +16 (int (*)(...))QGraphicsEffect::metaObject +24 (int (*)(...))QGraphicsEffect::qt_metacast +32 (int (*)(...))QGraphicsEffect::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsEffect (0x0x7b9f3ac70bc8) 0 + vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16) +QObject (0x0x7b9f3acadde0) 0 + primary-for QGraphicsEffect (0x0x7b9f3ac70bc8) + +Class QGraphicsColorizeEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsColorizeEffect::QPrivateSignal (0x0x7b9f3acff5a0) 0 empty + +Vtable for QGraphicsColorizeEffect +QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect) +16 (int (*)(...))QGraphicsColorizeEffect::metaObject +24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast +32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall +40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsColorizeEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsColorizeEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsColorizeEffect (0x0x7b9f3ac70d00) 0 + vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16) +QGraphicsEffect (0x0x7b9f3ac70d68) 0 + primary-for QGraphicsColorizeEffect (0x0x7b9f3ac70d00) +QObject (0x0x7b9f3acff540) 0 + primary-for QGraphicsEffect (0x0x7b9f3ac70d68) + +Class QGraphicsBlurEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsBlurEffect::QPrivateSignal (0x0x7b9f3acff780) 0 empty + +Vtable for QGraphicsBlurEffect +QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect) +16 (int (*)(...))QGraphicsBlurEffect::metaObject +24 (int (*)(...))QGraphicsBlurEffect::qt_metacast +32 (int (*)(...))QGraphicsBlurEffect::qt_metacall +40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor +120 (int (*)(...))QGraphicsBlurEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsBlurEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsBlurEffect (0x0x7b9f3ac70dd0) 0 + vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16) +QGraphicsEffect (0x0x7b9f3ac70e38) 0 + primary-for QGraphicsBlurEffect (0x0x7b9f3ac70dd0) +QObject (0x0x7b9f3acff720) 0 + primary-for QGraphicsEffect (0x0x7b9f3ac70e38) + +Class QGraphicsDropShadowEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsDropShadowEffect::QPrivateSignal (0x0x7b9f3acfff60) 0 empty + +Vtable for QGraphicsDropShadowEffect +QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect) +16 (int (*)(...))QGraphicsDropShadowEffect::metaObject +24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast +32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall +40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor +120 (int (*)(...))QGraphicsDropShadowEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsDropShadowEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsDropShadowEffect (0x0x7b9f3ac70f70) 0 + vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16) +QGraphicsEffect (0x0x7b9f3a9d5000) 0 + primary-for QGraphicsDropShadowEffect (0x0x7b9f3ac70f70) +QObject (0x0x7b9f3acfff00) 0 + primary-for QGraphicsEffect (0x0x7b9f3a9d5000) + +Class QGraphicsOpacityEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsOpacityEffect::QPrivateSignal (0x0x7b9f3a9e73c0) 0 empty + +Vtable for QGraphicsOpacityEffect +QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect) +16 (int (*)(...))QGraphicsOpacityEffect::metaObject +24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast +32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall +40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsOpacityEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsOpacityEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsOpacityEffect (0x0x7b9f3a9d5068) 0 + vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16) +QGraphicsEffect (0x0x7b9f3a9d50d0) 0 + primary-for QGraphicsOpacityEffect (0x0x7b9f3a9d5068) +QObject (0x0x7b9f3a9e7360) 0 + primary-for QGraphicsEffect (0x0x7b9f3a9d50d0) + +Vtable for QGraphicsGridLayout +QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsGridLayout) +16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +32 (int (*)(...))QGraphicsGridLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLayoutItem::isEmpty +64 (int (*)(...))QGraphicsGridLayout::sizeHint +72 (int (*)(...))QGraphicsGridLayout::invalidate +80 (int (*)(...))QGraphicsLayout::widgetEvent +88 (int (*)(...))QGraphicsGridLayout::count +96 (int (*)(...))QGraphicsGridLayout::itemAt +104 (int (*)(...))QGraphicsGridLayout::removeAt + +Class QGraphicsGridLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsGridLayout (0x0x7b9f3a9d5138) 0 + vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16) +QGraphicsLayout (0x0x7b9f3a9d51a0) 0 + primary-for QGraphicsGridLayout (0x0x7b9f3a9d5138) +QGraphicsLayoutItem (0x0x7b9f3a9e7540) 0 + primary-for QGraphicsLayout (0x0x7b9f3a9d51a0) + +Class QGraphicsItemAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsItemAnimation::QPrivateSignal (0x0x7b9f3a9e7720) 0 empty + +Vtable for QGraphicsItemAnimation +QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation) +16 (int (*)(...))QGraphicsItemAnimation::metaObject +24 (int (*)(...))QGraphicsItemAnimation::qt_metacast +32 (int (*)(...))QGraphicsItemAnimation::qt_metacall +40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep +120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep + +Class QGraphicsItemAnimation + size=24 align=8 + base size=24 base align=8 +QGraphicsItemAnimation (0x0x7b9f3a9d52d8) 0 + vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16) +QObject (0x0x7b9f3a9e76c0) 0 + primary-for QGraphicsItemAnimation (0x0x7b9f3a9d52d8) + +Vtable for QGraphicsLinearLayout +QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout) +16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +32 (int (*)(...))QGraphicsLinearLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLayoutItem::isEmpty +64 (int (*)(...))QGraphicsLinearLayout::sizeHint +72 (int (*)(...))QGraphicsLinearLayout::invalidate +80 (int (*)(...))QGraphicsLayout::widgetEvent +88 (int (*)(...))QGraphicsLinearLayout::count +96 (int (*)(...))QGraphicsLinearLayout::itemAt +104 (int (*)(...))QGraphicsLinearLayout::removeAt + +Class QGraphicsLinearLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLinearLayout (0x0x7b9f3a9d5340) 0 + vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16) +QGraphicsLayout (0x0x7b9f3a9d53a8) 0 + primary-for QGraphicsLinearLayout (0x0x7b9f3a9d5340) +QGraphicsLayoutItem (0x0x7b9f3a9e77e0) 0 + primary-for QGraphicsLayout (0x0x7b9f3a9d53a8) + +Class QGraphicsWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsWidget::QPrivateSignal (0x0x7b9f3a9e7ae0) 0 empty + +Vtable for QGraphicsWidget +QGraphicsWidget::_ZTV15QGraphicsWidget: 93 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsWidget) +16 (int (*)(...))QGraphicsWidget::metaObject +24 (int (*)(...))QGraphicsWidget::qt_metacast +32 (int (*)(...))QGraphicsWidget::qt_metacall +40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +56 (int (*)(...))QGraphicsWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsWidget::type +136 (int (*)(...))QGraphicsWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsWidget::focusInEvent +256 (int (*)(...))QGraphicsWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsWidget::focusOutEvent +272 (int (*)(...))QGraphicsWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsWidget::resizeEvent +304 (int (*)(...))QGraphicsWidget::showEvent +312 (int (*)(...))QGraphicsWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsWidget::grabMouseEvent +336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))-16 +368 (int (*)(...))(& _ZTI15QGraphicsWidget) +376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev +384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev +392 (int (*)(...))QGraphicsItem::advance +400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +416 (int (*)(...))QGraphicsItem::contains +424 (int (*)(...))QGraphicsItem::collidesWithItem +432 (int (*)(...))QGraphicsItem::collidesWithPath +440 (int (*)(...))QGraphicsItem::isObscuredBy +448 (int (*)(...))QGraphicsItem::opaqueArea +456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv +472 (int (*)(...))QGraphicsItem::sceneEventFilter +480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +488 (int (*)(...))QGraphicsItem::contextMenuEvent +496 (int (*)(...))QGraphicsItem::dragEnterEvent +504 (int (*)(...))QGraphicsItem::dragLeaveEvent +512 (int (*)(...))QGraphicsItem::dragMoveEvent +520 (int (*)(...))QGraphicsItem::dropEvent +528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent +536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent +544 (int (*)(...))QGraphicsItem::hoverEnterEvent +552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +568 (int (*)(...))QGraphicsItem::keyPressEvent +576 (int (*)(...))QGraphicsItem::keyReleaseEvent +584 (int (*)(...))QGraphicsItem::mousePressEvent +592 (int (*)(...))QGraphicsItem::mouseMoveEvent +600 (int (*)(...))QGraphicsItem::mouseReleaseEvent +608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +616 (int (*)(...))QGraphicsItem::wheelEvent +624 (int (*)(...))QGraphicsItem::inputMethodEvent +632 (int (*)(...))QGraphicsItem::inputMethodQuery +640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +648 (int (*)(...))QGraphicsItem::supportsExtension +656 (int (*)(...))QGraphicsItem::setExtension +664 (int (*)(...))QGraphicsItem::extension +672 (int (*)(...))-32 +680 (int (*)(...))(& _ZTI15QGraphicsWidget) +688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev +696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev +704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF +712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +728 (int (*)(...))QGraphicsLayoutItem::isEmpty +736 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsWidget (0x0x7b9f3a9b6a80) 0 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16) +QGraphicsObject (0x0x7b9f3a9b6af0) 0 + primary-for QGraphicsWidget (0x0x7b9f3a9b6a80) +QObject (0x0x7b9f3a9e79c0) 0 + primary-for QGraphicsObject (0x0x7b9f3a9b6af0) +QGraphicsItem (0x0x7b9f3a9e7a20) 16 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376) +QGraphicsLayoutItem (0x0x7b9f3a9e7a80) 32 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688) + +Class QGraphicsProxyWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsProxyWidget::QPrivateSignal (0x0x7b9f3a9e7f60) 0 empty + +Vtable for QGraphicsProxyWidget +QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +16 (int (*)(...))QGraphicsProxyWidget::metaObject +24 (int (*)(...))QGraphicsProxyWidget::qt_metacast +32 (int (*)(...))QGraphicsProxyWidget::qt_metacall +40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +56 (int (*)(...))QGraphicsProxyWidget::event +64 (int (*)(...))QGraphicsProxyWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsProxyWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsProxyWidget::type +136 (int (*)(...))QGraphicsProxyWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsProxyWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsProxyWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsProxyWidget::focusInEvent +256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent +272 (int (*)(...))QGraphicsProxyWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsProxyWidget::resizeEvent +304 (int (*)(...))QGraphicsProxyWidget::showEvent +312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent +336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent +368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent +376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent +384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent +392 (int (*)(...))QGraphicsProxyWidget::dropEvent +400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent +408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent +416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent +424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent +432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent +440 (int (*)(...))QGraphicsProxyWidget::wheelEvent +448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent +456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent +464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery +472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev +504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev +512 (int (*)(...))QGraphicsItem::advance +520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +536 (int (*)(...))QGraphicsItem::contains +544 (int (*)(...))QGraphicsItem::collidesWithItem +552 (int (*)(...))QGraphicsItem::collidesWithPath +560 (int (*)(...))QGraphicsItem::isObscuredBy +568 (int (*)(...))QGraphicsItem::opaqueArea +576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv +592 (int (*)(...))QGraphicsItem::sceneEventFilter +600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent +616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent +624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent +632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent +640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent +648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent +656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent +664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent +672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent +696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent +704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent +712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent +720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent +728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent +744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent +752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE +760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +768 (int (*)(...))QGraphicsItem::supportsExtension +776 (int (*)(...))QGraphicsItem::setExtension +784 (int (*)(...))QGraphicsItem::extension +792 (int (*)(...))-32 +800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev +816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev +824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF +832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +848 (int (*)(...))QGraphicsLayoutItem::isEmpty +856 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsProxyWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsProxyWidget (0x0x7b9f3a9d54e0) 0 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16) +QGraphicsWidget (0x0x7b9f3a9b6ee0) 0 + primary-for QGraphicsProxyWidget (0x0x7b9f3a9d54e0) +QGraphicsObject (0x0x7b9f3a9b6f50) 0 + primary-for QGraphicsWidget (0x0x7b9f3a9b6ee0) +QObject (0x0x7b9f3a9e7e40) 0 + primary-for QGraphicsObject (0x0x7b9f3a9b6f50) +QGraphicsItem (0x0x7b9f3a9e7ea0) 16 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496) +QGraphicsLayoutItem (0x0x7b9f3a9e7f00) 32 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808) + +Class QGraphicsScene::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScene::QPrivateSignal (0x0x7b9f3aa86300) 0 empty + +Vtable for QGraphicsScene +QGraphicsScene::_ZTV14QGraphicsScene: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScene) +16 (int (*)(...))QGraphicsScene::metaObject +24 (int (*)(...))QGraphicsScene::qt_metacast +32 (int (*)(...))QGraphicsScene::qt_metacall +40 (int (*)(...))QGraphicsScene::~QGraphicsScene +48 (int (*)(...))QGraphicsScene::~QGraphicsScene +56 (int (*)(...))QGraphicsScene::event +64 (int (*)(...))QGraphicsScene::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScene::inputMethodQuery +120 (int (*)(...))QGraphicsScene::contextMenuEvent +128 (int (*)(...))QGraphicsScene::dragEnterEvent +136 (int (*)(...))QGraphicsScene::dragMoveEvent +144 (int (*)(...))QGraphicsScene::dragLeaveEvent +152 (int (*)(...))QGraphicsScene::dropEvent +160 (int (*)(...))QGraphicsScene::focusInEvent +168 (int (*)(...))QGraphicsScene::focusOutEvent +176 (int (*)(...))QGraphicsScene::helpEvent +184 (int (*)(...))QGraphicsScene::keyPressEvent +192 (int (*)(...))QGraphicsScene::keyReleaseEvent +200 (int (*)(...))QGraphicsScene::mousePressEvent +208 (int (*)(...))QGraphicsScene::mouseMoveEvent +216 (int (*)(...))QGraphicsScene::mouseReleaseEvent +224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent +232 (int (*)(...))QGraphicsScene::wheelEvent +240 (int (*)(...))QGraphicsScene::inputMethodEvent +248 (int (*)(...))QGraphicsScene::drawBackground +256 (int (*)(...))QGraphicsScene::drawForeground +264 (int (*)(...))QGraphicsScene::drawItems +272 (int (*)(...))QGraphicsScene::focusNextPrevChild + +Class QGraphicsScene + size=16 align=8 + base size=16 base align=8 +QGraphicsScene (0x0x7b9f3a9d56e8) 0 + vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16) +QObject (0x0x7b9f3aa862a0) 0 + primary-for QGraphicsScene (0x0x7b9f3a9d56e8) + +Vtable for QGraphicsSceneEvent +QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent) +16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent +24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneEvent (0x0x7b9f3a9d5e38) 0 + vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16) +QEvent (0x0x7b9f3ab50540) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a9d5e38) + +Vtable for QGraphicsSceneMouseEvent +QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent) +16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent +24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneMouseEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneMouseEvent (0x0x7b9f3a9d5ea0) 0 + vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a9d5f08) 0 + primary-for QGraphicsSceneMouseEvent (0x0x7b9f3a9d5ea0) +QEvent (0x0x7b9f3ab50720) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a9d5f08) + +Vtable for QGraphicsSceneWheelEvent +QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent) +16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent +24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneWheelEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneWheelEvent (0x0x7b9f3a9d5f70) 0 + vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a9d5dd0) 0 + primary-for QGraphicsSceneWheelEvent (0x0x7b9f3a9d5f70) +QEvent (0x0x7b9f3ab50840) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a9d5dd0) + +Vtable for QGraphicsSceneContextMenuEvent +QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent) +16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent +24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneContextMenuEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneContextMenuEvent (0x0x7b9f3a7ca000) 0 + vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca068) 0 + primary-for QGraphicsSceneContextMenuEvent (0x0x7b9f3a7ca000) +QEvent (0x0x7b9f3ab50960) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca068) + +Vtable for QGraphicsSceneHoverEvent +QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent) +16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent +24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneHoverEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneHoverEvent (0x0x7b9f3a7ca0d0) 0 + vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca138) 0 + primary-for QGraphicsSceneHoverEvent (0x0x7b9f3a7ca0d0) +QEvent (0x0x7b9f3ab50a80) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca138) + +Vtable for QGraphicsSceneHelpEvent +QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent) +16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent +24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneHelpEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneHelpEvent (0x0x7b9f3a7ca1a0) 0 + vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca208) 0 + primary-for QGraphicsSceneHelpEvent (0x0x7b9f3a7ca1a0) +QEvent (0x0x7b9f3ab50ba0) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca208) + +Vtable for QGraphicsSceneDragDropEvent +QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent) +16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent +24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneDragDropEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneDragDropEvent (0x0x7b9f3a7ca270) 0 + vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca2d8) 0 + primary-for QGraphicsSceneDragDropEvent (0x0x7b9f3a7ca270) +QEvent (0x0x7b9f3ab50cc0) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca2d8) + +Vtable for QGraphicsSceneResizeEvent +QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent) +16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent +24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneResizeEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneResizeEvent (0x0x7b9f3a7ca340) 0 + vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca3a8) 0 + primary-for QGraphicsSceneResizeEvent (0x0x7b9f3a7ca340) +QEvent (0x0x7b9f3ab50de0) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca3a8) + +Vtable for QGraphicsSceneMoveEvent +QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent) +16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent +24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent +32 (int (*)(...))QEvent::setAccepted +40 (int (*)(...))QEvent::clone + +Class QGraphicsSceneMoveEvent + size=24 align=8 + base size=24 base align=8 +QGraphicsSceneMoveEvent (0x0x7b9f3a7ca410) 0 + vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16) +QGraphicsSceneEvent (0x0x7b9f3a7ca478) 0 + primary-for QGraphicsSceneMoveEvent (0x0x7b9f3a7ca410) +QEvent (0x0x7b9f3ab50f00) 0 + primary-for QGraphicsSceneEvent (0x0x7b9f3a7ca478) + +Class QGraphicsTransform::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTransform::QPrivateSignal (0x0x7b9f3a7ff0c0) 0 empty + +Vtable for QGraphicsTransform +QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsTransform) +16 (int (*)(...))QGraphicsTransform::metaObject +24 (int (*)(...))QGraphicsTransform::qt_metacast +32 (int (*)(...))QGraphicsTransform::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsTransform + size=16 align=8 + base size=16 base align=8 +QGraphicsTransform (0x0x7b9f3a7ca4e0) 0 + vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16) +QObject (0x0x7b9f3a7ff060) 0 + primary-for QGraphicsTransform (0x0x7b9f3a7ca4e0) + +Class QGraphicsScale::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScale::QPrivateSignal (0x0x7b9f3a7ff2a0) 0 empty + +Vtable for QGraphicsScale +QGraphicsScale::_ZTV14QGraphicsScale: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScale) +16 (int (*)(...))QGraphicsScale::metaObject +24 (int (*)(...))QGraphicsScale::qt_metacast +32 (int (*)(...))QGraphicsScale::qt_metacall +40 (int (*)(...))QGraphicsScale::~QGraphicsScale +48 (int (*)(...))QGraphicsScale::~QGraphicsScale +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScale::applyTo + +Class QGraphicsScale + size=16 align=8 + base size=16 base align=8 +QGraphicsScale (0x0x7b9f3a7ca548) 0 + vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16) +QGraphicsTransform (0x0x7b9f3a7ca5b0) 0 + primary-for QGraphicsScale (0x0x7b9f3a7ca548) +QObject (0x0x7b9f3a7ff240) 0 + primary-for QGraphicsTransform (0x0x7b9f3a7ca5b0) + +Class QGraphicsRotation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsRotation::QPrivateSignal (0x0x7b9f3a7ff480) 0 empty + +Vtable for QGraphicsRotation +QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRotation) +16 (int (*)(...))QGraphicsRotation::metaObject +24 (int (*)(...))QGraphicsRotation::qt_metacast +32 (int (*)(...))QGraphicsRotation::qt_metacall +40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsRotation::applyTo + +Class QGraphicsRotation + size=16 align=8 + base size=16 base align=8 +QGraphicsRotation (0x0x7b9f3a7ca618) 0 + vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16) +QGraphicsTransform (0x0x7b9f3a7ca680) 0 + primary-for QGraphicsRotation (0x0x7b9f3a7ca618) +QObject (0x0x7b9f3a7ff420) 0 + primary-for QGraphicsTransform (0x0x7b9f3a7ca680) + +Class QScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollArea::QPrivateSignal (0x0x7b9f3a7ff6c0) 0 empty + +Vtable for QScrollArea +QScrollArea::_ZTV11QScrollArea: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QScrollArea) +16 (int (*)(...))QScrollArea::metaObject +24 (int (*)(...))QScrollArea::qt_metacast +32 (int (*)(...))QScrollArea::qt_metacall +40 (int (*)(...))QScrollArea::~QScrollArea +48 (int (*)(...))QScrollArea::~QScrollArea +56 (int (*)(...))QScrollArea::event +64 (int (*)(...))QScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QScrollArea::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractScrollArea::viewportEvent +456 (int (*)(...))QScrollArea::scrollContentsBy +464 (int (*)(...))QScrollArea::viewportSizeHint +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QScrollArea) +488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev +496 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollArea + size=40 align=8 + base size=40 base align=8 +QScrollArea (0x0x7b9f3a7ca6e8) 0 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 16) +QAbstractScrollArea (0x0x7b9f3a7ca750) 0 + primary-for QScrollArea (0x0x7b9f3a7ca6e8) +QFrame (0x0x7b9f3a7ca7b8) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a7ca750) +QWidget (0x0x7b9f3a825070) 0 + primary-for QFrame (0x0x7b9f3a7ca7b8) +QObject (0x0x7b9f3a7ff600) 0 + primary-for QWidget (0x0x7b9f3a825070) +QPaintDevice (0x0x7b9f3a7ff660) 16 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 488) + +Class QGraphicsView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsView::QPrivateSignal (0x0x7b9f3a7ff900) 0 empty + +Vtable for QGraphicsView +QGraphicsView::_ZTV13QGraphicsView: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsView) +16 (int (*)(...))QGraphicsView::metaObject +24 (int (*)(...))QGraphicsView::qt_metacast +32 (int (*)(...))QGraphicsView::qt_metacall +40 (int (*)(...))QGraphicsView::~QGraphicsView +48 (int (*)(...))QGraphicsView::~QGraphicsView +56 (int (*)(...))QGraphicsView::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QGraphicsView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGraphicsView::mousePressEvent +176 (int (*)(...))QGraphicsView::mouseReleaseEvent +184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent +192 (int (*)(...))QGraphicsView::mouseMoveEvent +200 (int (*)(...))QGraphicsView::wheelEvent +208 (int (*)(...))QGraphicsView::keyPressEvent +216 (int (*)(...))QGraphicsView::keyReleaseEvent +224 (int (*)(...))QGraphicsView::focusInEvent +232 (int (*)(...))QGraphicsView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGraphicsView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGraphicsView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QGraphicsView::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QGraphicsView::dragEnterEvent +320 (int (*)(...))QGraphicsView::dragMoveEvent +328 (int (*)(...))QGraphicsView::dragLeaveEvent +336 (int (*)(...))QGraphicsView::dropEvent +344 (int (*)(...))QGraphicsView::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QGraphicsView::inputMethodEvent +416 (int (*)(...))QGraphicsView::inputMethodQuery +424 (int (*)(...))QGraphicsView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QGraphicsView::setupViewport +448 (int (*)(...))QGraphicsView::viewportEvent +456 (int (*)(...))QGraphicsView::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))QGraphicsView::drawBackground +480 (int (*)(...))QGraphicsView::drawForeground +488 (int (*)(...))QGraphicsView::drawItems +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI13QGraphicsView) +512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev +520 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGraphicsView + size=40 align=8 + base size=40 base align=8 +QGraphicsView (0x0x7b9f3a7ca820) 0 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16) +QAbstractScrollArea (0x0x7b9f3a7ca888) 0 + primary-for QGraphicsView (0x0x7b9f3a7ca820) +QFrame (0x0x7b9f3a7ca8f0) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a7ca888) +QWidget (0x0x7b9f3a825230) 0 + primary-for QFrame (0x0x7b9f3a7ca8f0) +QObject (0x0x7b9f3a7ff840) 0 + primary-for QWidget (0x0x7b9f3a825230) +QPaintDevice (0x0x7b9f3a7ff8a0) 16 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 512) + +Class QGroupBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGroupBox::QPrivateSignal (0x0x7b9f3a8c1ae0) 0 empty + +Vtable for QGroupBox +QGroupBox::_ZTV9QGroupBox: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QGroupBox) +16 (int (*)(...))QGroupBox::metaObject +24 (int (*)(...))QGroupBox::qt_metacast +32 (int (*)(...))QGroupBox::qt_metacall +40 (int (*)(...))QGroupBox::~QGroupBox +48 (int (*)(...))QGroupBox::~QGroupBox +56 (int (*)(...))QGroupBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QGroupBox::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QGroupBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGroupBox::mousePressEvent +176 (int (*)(...))QGroupBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QGroupBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QGroupBox::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGroupBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGroupBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QGroupBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QGroupBox::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI9QGroupBox) +456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev +464 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGroupBox + size=40 align=8 + base size=40 base align=8 +QGroupBox (0x0x7b9f3a7caaf8) 0 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 16) +QWidget (0x0x7b9f3a8cd8c0) 0 + primary-for QGroupBox (0x0x7b9f3a7caaf8) +QObject (0x0x7b9f3a8c1a20) 0 + primary-for QWidget (0x0x7b9f3a8cd8c0) +QPaintDevice (0x0x7b9f3a8c1a80) 16 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 456) + +Class QHeaderView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHeaderView::QPrivateSignal (0x0x7b9f3a8c1d20) 0 empty + +Vtable for QHeaderView +QHeaderView::_ZTV11QHeaderView: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHeaderView) +16 (int (*)(...))QHeaderView::metaObject +24 (int (*)(...))QHeaderView::qt_metacast +32 (int (*)(...))QHeaderView::qt_metacall +40 (int (*)(...))QHeaderView::~QHeaderView +48 (int (*)(...))QHeaderView::~QHeaderView +56 (int (*)(...))QHeaderView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QHeaderView::setVisible +128 (int (*)(...))QHeaderView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QHeaderView::mousePressEvent +176 (int (*)(...))QHeaderView::mouseReleaseEvent +184 (int (*)(...))QHeaderView::mouseDoubleClickEvent +192 (int (*)(...))QHeaderView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QHeaderView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QHeaderView::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QHeaderView::viewportEvent +456 (int (*)(...))QHeaderView::scrollContentsBy +464 (int (*)(...))QAbstractItemView::viewportSizeHint +472 (int (*)(...))QHeaderView::setModel +480 (int (*)(...))QAbstractItemView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QHeaderView::visualRect +504 (int (*)(...))QHeaderView::scrollTo +512 (int (*)(...))QHeaderView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QHeaderView::reset +552 (int (*)(...))QAbstractItemView::setRootIndex +560 (int (*)(...))QHeaderView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QHeaderView::dataChanged +584 (int (*)(...))QHeaderView::rowsInserted +592 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +600 (int (*)(...))QAbstractItemView::selectionChanged +608 (int (*)(...))QHeaderView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QHeaderView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QHeaderView::moveCursor +704 (int (*)(...))QHeaderView::horizontalOffset +712 (int (*)(...))QHeaderView::verticalOffset +720 (int (*)(...))QHeaderView::isIndexHidden +728 (int (*)(...))QHeaderView::setSelection +736 (int (*)(...))QHeaderView::visualRegionForSelection +744 (int (*)(...))QAbstractItemView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))QHeaderView::paintSection +792 (int (*)(...))QHeaderView::sectionSizeFromContents +800 (int (*)(...))QHeaderView::initStyleOptionForIndex +808 (int (*)(...))QHeaderView::initStyleOption +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI11QHeaderView) +832 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev +840 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHeaderView + size=40 align=8 + base size=40 base align=8 +QHeaderView (0x0x7b9f3a7cab60) 0 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 16) +QAbstractItemView (0x0x7b9f3a7cabc8) 0 + primary-for QHeaderView (0x0x7b9f3a7cab60) +QAbstractScrollArea (0x0x7b9f3a7cac30) 0 + primary-for QAbstractItemView (0x0x7b9f3a7cabc8) +QFrame (0x0x7b9f3a7cac98) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a7cac30) +QWidget (0x0x7b9f3a8cda80) 0 + primary-for QFrame (0x0x7b9f3a7cac98) +QObject (0x0x7b9f3a8c1c60) 0 + primary-for QWidget (0x0x7b9f3a8cda80) +QPaintDevice (0x0x7b9f3a8c1cc0) 16 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 832) + +Class QLineEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLineEdit::QPrivateSignal (0x0x7b9f3a5951e0) 0 empty + +Vtable for QLineEdit +QLineEdit::_ZTV9QLineEdit: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QLineEdit) +16 (int (*)(...))QLineEdit::metaObject +24 (int (*)(...))QLineEdit::qt_metacast +32 (int (*)(...))QLineEdit::qt_metacall +40 (int (*)(...))QLineEdit::~QLineEdit +48 (int (*)(...))QLineEdit::~QLineEdit +56 (int (*)(...))QLineEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QLineEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLineEdit::sizeHint +136 (int (*)(...))QLineEdit::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLineEdit::mousePressEvent +176 (int (*)(...))QLineEdit::mouseReleaseEvent +184 (int (*)(...))QLineEdit::mouseDoubleClickEvent +192 (int (*)(...))QLineEdit::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLineEdit::keyPressEvent +216 (int (*)(...))QLineEdit::keyReleaseEvent +224 (int (*)(...))QLineEdit::focusInEvent +232 (int (*)(...))QLineEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLineEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLineEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QLineEdit::dragEnterEvent +320 (int (*)(...))QLineEdit::dragMoveEvent +328 (int (*)(...))QLineEdit::dragLeaveEvent +336 (int (*)(...))QLineEdit::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLineEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QLineEdit::inputMethodEvent +416 (int (*)(...))QLineEdit::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QLineEdit::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI9QLineEdit) +456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev +464 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLineEdit + size=40 align=8 + base size=40 base align=8 +QLineEdit (0x0x7b9f3a7cad00) 0 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 16) +QWidget (0x0x7b9f3a594150) 0 + primary-for QLineEdit (0x0x7b9f3a7cad00) +QObject (0x0x7b9f3a595120) 0 + primary-for QWidget (0x0x7b9f3a594150) +QPaintDevice (0x0x7b9f3a595180) 16 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 456) + +Class QInputDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputDialog::QPrivateSignal (0x0x7b9f3a5955a0) 0 empty + +Vtable for QInputDialog +QInputDialog::_ZTV12QInputDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputDialog) +16 (int (*)(...))QInputDialog::metaObject +24 (int (*)(...))QInputDialog::qt_metacast +32 (int (*)(...))QInputDialog::qt_metacall +40 (int (*)(...))QInputDialog::~QInputDialog +48 (int (*)(...))QInputDialog::~QInputDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QInputDialog::setVisible +128 (int (*)(...))QInputDialog::sizeHint +136 (int (*)(...))QInputDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QInputDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QInputDialog) +488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev +496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QInputDialog + size=40 align=8 + base size=40 base align=8 +QInputDialog (0x0x7b9f3a7cad68) 0 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 16) +QDialog (0x0x7b9f3a7cadd0) 0 + primary-for QInputDialog (0x0x7b9f3a7cad68) +QWidget (0x0x7b9f3a594770) 0 + primary-for QDialog (0x0x7b9f3a7cadd0) +QObject (0x0x7b9f3a5954e0) 0 + primary-for QWidget (0x0x7b9f3a594770) +QPaintDevice (0x0x7b9f3a595540) 16 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 488) + +Class QItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemDelegate::QPrivateSignal (0x0x7b9f3a595c00) 0 empty + +Vtable for QItemDelegate +QItemDelegate::_ZTV13QItemDelegate: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QItemDelegate) +16 (int (*)(...))QItemDelegate::metaObject +24 (int (*)(...))QItemDelegate::qt_metacast +32 (int (*)(...))QItemDelegate::qt_metacall +40 (int (*)(...))QItemDelegate::~QItemDelegate +48 (int (*)(...))QItemDelegate::~QItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemDelegate::paint +120 (int (*)(...))QItemDelegate::sizeHint +128 (int (*)(...))QItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QItemDelegate::setEditorData +152 (int (*)(...))QItemDelegate::setModelData +160 (int (*)(...))QItemDelegate::updateEditorGeometry +168 (int (*)(...))QItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QItemDelegate::drawDisplay +200 (int (*)(...))QItemDelegate::drawDecoration +208 (int (*)(...))QItemDelegate::drawFocus +216 (int (*)(...))QItemDelegate::drawCheck + +Class QItemDelegate + size=16 align=8 + base size=16 base align=8 +QItemDelegate (0x0x7b9f3a7caf08) 0 + vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16) +QAbstractItemDelegate (0x0x7b9f3a7caf70) 0 + primary-for QItemDelegate (0x0x7b9f3a7caf08) +QObject (0x0x7b9f3a595ba0) 0 + primary-for QAbstractItemDelegate (0x0x7b9f3a7caf70) + +Vtable for QItemEditorCreatorBase +QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QItemEditorCreatorBase + size=8 align=8 + base size=8 base align=8 +QItemEditorCreatorBase (0x0x7b9f3a595d80) 0 nearly-empty + vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16) + +Vtable for QItemEditorFactory +QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QItemEditorFactory) +16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +32 (int (*)(...))QItemEditorFactory::createEditor +40 (int (*)(...))QItemEditorFactory::valuePropertyName + +Class QItemEditorFactory + size=16 align=8 + base size=16 base align=8 +QItemEditorFactory (0x0x7b9f3a664120) 0 + vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16) + +Class QKeySequenceEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeySequenceEdit::QPrivateSignal (0x0x7b9f3a664600) 0 empty + +Vtable for QKeySequenceEdit +QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QKeySequenceEdit) +16 (int (*)(...))QKeySequenceEdit::metaObject +24 (int (*)(...))QKeySequenceEdit::qt_metacast +32 (int (*)(...))QKeySequenceEdit::qt_metacall +40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +56 (int (*)(...))QKeySequenceEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QKeySequenceEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QKeySequenceEdit::keyPressEvent +216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QKeySequenceEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QKeySequenceEdit) +448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev +456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QKeySequenceEdit + size=40 align=8 + base size=40 base align=8 +QKeySequenceEdit (0x0x7b9f3a65f0d0) 0 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16) +QWidget (0x0x7b9f3a65c5b0) 0 + primary-for QKeySequenceEdit (0x0x7b9f3a65f0d0) +QObject (0x0x7b9f3a664540) 0 + primary-for QWidget (0x0x7b9f3a65c5b0) +QPaintDevice (0x0x7b9f3a6645a0) 16 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448) + +Class QLabel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLabel::QPrivateSignal (0x0x7b9f3a664840) 0 empty + +Vtable for QLabel +QLabel::_ZTV6QLabel: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QLabel) +16 (int (*)(...))QLabel::metaObject +24 (int (*)(...))QLabel::qt_metacast +32 (int (*)(...))QLabel::qt_metacall +40 (int (*)(...))QLabel::~QLabel +48 (int (*)(...))QLabel::~QLabel +56 (int (*)(...))QLabel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLabel::sizeHint +136 (int (*)(...))QLabel::minimumSizeHint +144 (int (*)(...))QLabel::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLabel::mousePressEvent +176 (int (*)(...))QLabel::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QLabel::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLabel::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLabel::focusInEvent +232 (int (*)(...))QLabel::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLabel::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLabel::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLabel::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QLabel::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI6QLabel) +456 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev +464 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLabel + size=40 align=8 + base size=40 base align=8 +QLabel (0x0x7b9f3a65f138) 0 + vptr=((& QLabel::_ZTV6QLabel) + 16) +QFrame (0x0x7b9f3a65f1a0) 0 + primary-for QLabel (0x0x7b9f3a65f138) +QWidget (0x0x7b9f3a65c770) 0 + primary-for QFrame (0x0x7b9f3a65f1a0) +QObject (0x0x7b9f3a664780) 0 + primary-for QWidget (0x0x7b9f3a65c770) +QPaintDevice (0x0x7b9f3a6647e0) 16 + vptr=((& QLabel::_ZTV6QLabel) + 456) + +Class QLCDNumber::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLCDNumber::QPrivateSignal (0x0x7b9f3a664b40) 0 empty + +Vtable for QLCDNumber +QLCDNumber::_ZTV10QLCDNumber: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QLCDNumber) +16 (int (*)(...))QLCDNumber::metaObject +24 (int (*)(...))QLCDNumber::qt_metacast +32 (int (*)(...))QLCDNumber::qt_metacall +40 (int (*)(...))QLCDNumber::~QLCDNumber +48 (int (*)(...))QLCDNumber::~QLCDNumber +56 (int (*)(...))QLCDNumber::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLCDNumber::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLCDNumber::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI10QLCDNumber) +456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev +464 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLCDNumber + size=40 align=8 + base size=40 base align=8 +QLCDNumber (0x0x7b9f3a65f208) 0 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16) +QFrame (0x0x7b9f3a65f270) 0 + primary-for QLCDNumber (0x0x7b9f3a65f208) +QWidget (0x0x7b9f3a65ca10) 0 + primary-for QFrame (0x0x7b9f3a65f270) +QObject (0x0x7b9f3a664a80) 0 + primary-for QWidget (0x0x7b9f3a65ca10) +QPaintDevice (0x0x7b9f3a664ae0) 16 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 456) + +Class QListView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListView::QPrivateSignal (0x0x7b9f3a664f00) 0 empty + +Vtable for QListView +QListView::_ZTV9QListView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QListView) +16 (int (*)(...))QListView::metaObject +24 (int (*)(...))QListView::qt_metacast +32 (int (*)(...))QListView::qt_metacall +40 (int (*)(...))QListView::~QListView +48 (int (*)(...))QListView::~QListView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QListView::scrollContentsBy +464 (int (*)(...))QListView::viewportSizeHint +472 (int (*)(...))QAbstractItemView::setModel +480 (int (*)(...))QAbstractItemView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QListView::visualRect +504 (int (*)(...))QListView::scrollTo +512 (int (*)(...))QListView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QListView::reset +552 (int (*)(...))QListView::setRootIndex +560 (int (*)(...))QListView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QListView::dataChanged +584 (int (*)(...))QListView::rowsInserted +592 (int (*)(...))QListView::rowsAboutToBeRemoved +600 (int (*)(...))QListView::selectionChanged +608 (int (*)(...))QListView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QListView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QListView::moveCursor +704 (int (*)(...))QListView::horizontalOffset +712 (int (*)(...))QListView::verticalOffset +720 (int (*)(...))QListView::isIndexHidden +728 (int (*)(...))QListView::setSelection +736 (int (*)(...))QListView::visualRegionForSelection +744 (int (*)(...))QListView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QListView::startDrag +776 (int (*)(...))QListView::initViewItemOption +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI9QListView) +800 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev +808 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListView + size=40 align=8 + base size=40 base align=8 +QListView (0x0x7b9f3a65f2d8) 0 + vptr=((& QListView::_ZTV9QListView) + 16) +QAbstractItemView (0x0x7b9f3a65f340) 0 + primary-for QListView (0x0x7b9f3a65f2d8) +QAbstractScrollArea (0x0x7b9f3a65f3a8) 0 + primary-for QAbstractItemView (0x0x7b9f3a65f340) +QFrame (0x0x7b9f3a65f410) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a65f3a8) +QWidget (0x0x7b9f3a6e20e0) 0 + primary-for QFrame (0x0x7b9f3a65f410) +QObject (0x0x7b9f3a664e40) 0 + primary-for QWidget (0x0x7b9f3a6e20e0) +QPaintDevice (0x0x7b9f3a664ea0) 16 + vptr=((& QListView::_ZTV9QListView) + 800) + +Vtable for QListWidgetItem +QListWidgetItem::_ZTV15QListWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QListWidgetItem) +16 (int (*)(...))QListWidgetItem::~QListWidgetItem +24 (int (*)(...))QListWidgetItem::~QListWidgetItem +32 (int (*)(...))QListWidgetItem::clone +40 (int (*)(...))QListWidgetItem::data +48 (int (*)(...))QListWidgetItem::setData +56 (int (*)(...))QListWidgetItem::operator< +64 (int (*)(...))QListWidgetItem::read +72 (int (*)(...))QListWidgetItem::write + +Class QListWidgetItem + size=40 align=8 + base size=36 base align=8 +QListWidgetItem (0x0x7b9f3a714480) 0 + vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16) + +Class QListWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListWidget::QPrivateSignal (0x0x7b9f3a754120) 0 empty + +Vtable for QListWidget +QListWidget::_ZTV11QListWidget: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QListWidget) +16 (int (*)(...))QListWidget::metaObject +24 (int (*)(...))QListWidget::qt_metacast +32 (int (*)(...))QListWidget::qt_metacall +40 (int (*)(...))QListWidget::~QListWidget +48 (int (*)(...))QListWidget::~QListWidget +56 (int (*)(...))QListWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QListView::scrollContentsBy +464 (int (*)(...))QListView::viewportSizeHint +472 (int (*)(...))QListWidget::setModel +480 (int (*)(...))QListWidget::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QListView::visualRect +504 (int (*)(...))QListView::scrollTo +512 (int (*)(...))QListView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QListView::reset +552 (int (*)(...))QListView::setRootIndex +560 (int (*)(...))QListView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QListView::dataChanged +584 (int (*)(...))QListView::rowsInserted +592 (int (*)(...))QListView::rowsAboutToBeRemoved +600 (int (*)(...))QListView::selectionChanged +608 (int (*)(...))QListView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QListView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QListView::moveCursor +704 (int (*)(...))QListView::horizontalOffset +712 (int (*)(...))QListView::verticalOffset +720 (int (*)(...))QListView::isIndexHidden +728 (int (*)(...))QListView::setSelection +736 (int (*)(...))QListView::visualRegionForSelection +744 (int (*)(...))QListView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QListView::startDrag +776 (int (*)(...))QListView::initViewItemOption +784 (int (*)(...))QListWidget::mimeTypes +792 (int (*)(...))QListWidget::mimeData +800 (int (*)(...))QListWidget::dropMimeData +808 (int (*)(...))QListWidget::supportedDropActions +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI11QListWidget) +832 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev +840 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListWidget + size=40 align=8 + base size=40 base align=8 +QListWidget (0x0x7b9f3a65f680) 0 + vptr=((& QListWidget::_ZTV11QListWidget) + 16) +QListView (0x0x7b9f3a65f6e8) 0 + primary-for QListWidget (0x0x7b9f3a65f680) +QAbstractItemView (0x0x7b9f3a65f750) 0 + primary-for QListView (0x0x7b9f3a65f6e8) +QAbstractScrollArea (0x0x7b9f3a65f7b8) 0 + primary-for QAbstractItemView (0x0x7b9f3a65f750) +QFrame (0x0x7b9f3a65f820) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a65f7b8) +QWidget (0x0x7b9f3a7358c0) 0 + primary-for QFrame (0x0x7b9f3a65f820) +QObject (0x0x7b9f3a754060) 0 + primary-for QWidget (0x0x7b9f3a7358c0) +QPaintDevice (0x0x7b9f3a7540c0) 16 + vptr=((& QListWidget::_ZTV11QListWidget) + 832) + +Class QMainWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMainWindow::QPrivateSignal (0x0x7b9f3a754600) 0 empty + +Vtable for QMainWindow +QMainWindow::_ZTV11QMainWindow: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMainWindow) +16 (int (*)(...))QMainWindow::metaObject +24 (int (*)(...))QMainWindow::qt_metacast +32 (int (*)(...))QMainWindow::qt_metacall +40 (int (*)(...))QMainWindow::~QMainWindow +48 (int (*)(...))QMainWindow::~QMainWindow +56 (int (*)(...))QMainWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QMainWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMainWindow::createPopupMenu +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QMainWindow) +456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev +464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMainWindow + size=40 align=8 + base size=40 base align=8 +QMainWindow (0x0x7b9f3a65f888) 0 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 16) +QWidget (0x0x7b9f3a735d90) 0 + primary-for QMainWindow (0x0x7b9f3a65f888) +QObject (0x0x7b9f3a754540) 0 + primary-for QWidget (0x0x7b9f3a735d90) +QPaintDevice (0x0x7b9f3a7545a0) 16 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 456) + +Class QMdiArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiArea::QPrivateSignal (0x0x7b9f3a754e40) 0 empty + +Vtable for QMdiArea +QMdiArea::_ZTV8QMdiArea: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMdiArea) +16 (int (*)(...))QMdiArea::metaObject +24 (int (*)(...))QMdiArea::qt_metacast +32 (int (*)(...))QMdiArea::qt_metacall +40 (int (*)(...))QMdiArea::~QMdiArea +48 (int (*)(...))QMdiArea::~QMdiArea +56 (int (*)(...))QMdiArea::event +64 (int (*)(...))QMdiArea::eventFilter +72 (int (*)(...))QMdiArea::timerEvent +80 (int (*)(...))QMdiArea::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiArea::sizeHint +136 (int (*)(...))QMdiArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QMdiArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMdiArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QMdiArea::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QMdiArea::setupViewport +448 (int (*)(...))QMdiArea::viewportEvent +456 (int (*)(...))QMdiArea::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI8QMdiArea) +488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev +496 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiArea + size=40 align=8 + base size=40 base align=8 +QMdiArea (0x0x7b9f3a65f9c0) 0 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 16) +QAbstractScrollArea (0x0x7b9f3a65fa28) 0 + primary-for QMdiArea (0x0x7b9f3a65f9c0) +QFrame (0x0x7b9f3a65fa90) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a65fa28) +QWidget (0x0x7b9f3a786700) 0 + primary-for QFrame (0x0x7b9f3a65fa90) +QObject (0x0x7b9f3a754d80) 0 + primary-for QWidget (0x0x7b9f3a786700) +QPaintDevice (0x0x7b9f3a754de0) 16 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 488) + +Class QMdiSubWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiSubWindow::QPrivateSignal (0x0x7b9f3a4276c0) 0 empty + +Vtable for QMdiSubWindow +QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QMdiSubWindow) +16 (int (*)(...))QMdiSubWindow::metaObject +24 (int (*)(...))QMdiSubWindow::qt_metacast +32 (int (*)(...))QMdiSubWindow::qt_metacall +40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +56 (int (*)(...))QMdiSubWindow::event +64 (int (*)(...))QMdiSubWindow::eventFilter +72 (int (*)(...))QMdiSubWindow::timerEvent +80 (int (*)(...))QMdiSubWindow::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiSubWindow::sizeHint +136 (int (*)(...))QMdiSubWindow::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMdiSubWindow::mousePressEvent +176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent +184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent +192 (int (*)(...))QMdiSubWindow::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMdiSubWindow::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMdiSubWindow::focusInEvent +232 (int (*)(...))QMdiSubWindow::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMdiSubWindow::leaveEvent +256 (int (*)(...))QMdiSubWindow::paintEvent +264 (int (*)(...))QMdiSubWindow::moveEvent +272 (int (*)(...))QMdiSubWindow::resizeEvent +280 (int (*)(...))QMdiSubWindow::closeEvent +288 (int (*)(...))QMdiSubWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMdiSubWindow::showEvent +352 (int (*)(...))QMdiSubWindow::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMdiSubWindow::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI13QMdiSubWindow) +448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev +456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiSubWindow + size=40 align=8 + base size=40 base align=8 +QMdiSubWindow (0x0x7b9f3a65fbc8) 0 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16) +QWidget (0x0x7b9f3a487070) 0 + primary-for QMdiSubWindow (0x0x7b9f3a65fbc8) +QObject (0x0x7b9f3a427600) 0 + primary-for QWidget (0x0x7b9f3a487070) +QPaintDevice (0x0x7b9f3a427660) 16 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448) + +Class QMenu::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenu::QPrivateSignal (0x0x7b9f3a427d80) 0 empty + +Vtable for QMenu +QMenu::_ZTV5QMenu: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QMenu) +16 (int (*)(...))QMenu::metaObject +24 (int (*)(...))QMenu::qt_metacast +32 (int (*)(...))QMenu::qt_metacall +40 (int (*)(...))QMenu::~QMenu +48 (int (*)(...))QMenu::~QMenu +56 (int (*)(...))QMenu::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QMenu::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMenu::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenu::mousePressEvent +176 (int (*)(...))QMenu::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenu::mouseMoveEvent +200 (int (*)(...))QMenu::wheelEvent +208 (int (*)(...))QMenu::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QMenu::enterEvent +248 (int (*)(...))QMenu::leaveEvent +256 (int (*)(...))QMenu::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenu::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QMenu::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenu::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QMenu::focusNextPrevChild +432 (int (*)(...))QMenu::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI5QMenu) +456 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev +464 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenu + size=40 align=8 + base size=40 base align=8 +QMenu (0x0x7b9f3a65fd00) 0 + vptr=((& QMenu::_ZTV5QMenu) + 16) +QWidget (0x0x7b9f3a487700) 0 + primary-for QMenu (0x0x7b9f3a65fd00) +QObject (0x0x7b9f3a427cc0) 0 + primary-for QWidget (0x0x7b9f3a487700) +QPaintDevice (0x0x7b9f3a427d20) 16 + vptr=((& QMenu::_ZTV5QMenu) + 456) + +Class QMenuBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenuBar::QPrivateSignal (0x0x7b9f3a52e240) 0 empty + +Vtable for QMenuBar +QMenuBar::_ZTV8QMenuBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMenuBar) +16 (int (*)(...))QMenuBar::metaObject +24 (int (*)(...))QMenuBar::qt_metacast +32 (int (*)(...))QMenuBar::qt_metacall +40 (int (*)(...))QMenuBar::~QMenuBar +48 (int (*)(...))QMenuBar::~QMenuBar +56 (int (*)(...))QMenuBar::event +64 (int (*)(...))QMenuBar::eventFilter +72 (int (*)(...))QMenuBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QMenuBar::setVisible +128 (int (*)(...))QMenuBar::sizeHint +136 (int (*)(...))QMenuBar::minimumSizeHint +144 (int (*)(...))QMenuBar::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenuBar::mousePressEvent +176 (int (*)(...))QMenuBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenuBar::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMenuBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMenuBar::focusInEvent +232 (int (*)(...))QMenuBar::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMenuBar::leaveEvent +256 (int (*)(...))QMenuBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMenuBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenuBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenuBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMenuBar::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI8QMenuBar) +456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev +464 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenuBar + size=40 align=8 + base size=40 base align=8 +QMenuBar (0x0x7b9f3a65fd68) 0 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 16) +QWidget (0x0x7b9f3a487af0) 0 + primary-for QMenuBar (0x0x7b9f3a65fd68) +QObject (0x0x7b9f3a52e180) 0 + primary-for QWidget (0x0x7b9f3a487af0) +QPaintDevice (0x0x7b9f3a52e1e0) 16 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 456) + +Class QMessageBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMessageBox::QPrivateSignal (0x0x7b9f3a52e480) 0 empty + +Vtable for QMessageBox +QMessageBox::_ZTV11QMessageBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMessageBox) +16 (int (*)(...))QMessageBox::metaObject +24 (int (*)(...))QMessageBox::qt_metacast +32 (int (*)(...))QMessageBox::qt_metacall +40 (int (*)(...))QMessageBox::~QMessageBox +48 (int (*)(...))QMessageBox::~QMessageBox +56 (int (*)(...))QMessageBox::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMessageBox::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMessageBox::resizeEvent +280 (int (*)(...))QMessageBox::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMessageBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMessageBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QMessageBox) +488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev +496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMessageBox + size=40 align=8 + base size=40 base align=8 +QMessageBox (0x0x7b9f3a65fdd0) 0 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 16) +QDialog (0x0x7b9f3a65fe38) 0 + primary-for QMessageBox (0x0x7b9f3a65fdd0) +QWidget (0x0x7b9f3a487cb0) 0 + primary-for QDialog (0x0x7b9f3a65fe38) +QObject (0x0x7b9f3a52e3c0) 0 + primary-for QWidget (0x0x7b9f3a487cb0) +QPaintDevice (0x0x7b9f3a52e420) 16 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 488) + +Class QTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextEdit::QPrivateSignal (0x0x7b9f3a1f60c0) 0 empty + +Class QTextEdit::ExtraSelection + size=24 align=8 + base size=24 base align=8 +QTextEdit::ExtraSelection (0x0x7b9f3a1f6120) 0 + +Vtable for QTextEdit +QTextEdit::_ZTV9QTextEdit: 74 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextEdit) +16 (int (*)(...))QTextEdit::metaObject +24 (int (*)(...))QTextEdit::qt_metacast +32 (int (*)(...))QTextEdit::qt_metacall +40 (int (*)(...))QTextEdit::~QTextEdit +48 (int (*)(...))QTextEdit::~QTextEdit +56 (int (*)(...))QTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextEdit::mousePressEvent +176 (int (*)(...))QTextEdit::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextEdit::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextEdit::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextEdit::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractScrollArea::viewportEvent +456 (int (*)(...))QTextEdit::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))QTextEdit::loadResource +480 (int (*)(...))QTextEdit::createMimeDataFromSelection +488 (int (*)(...))QTextEdit::canInsertFromMimeData +496 (int (*)(...))QTextEdit::insertFromMimeData +504 (int (*)(...))QTextEdit::doSetTextCursor +512 (int (*)(...))-16 +520 (int (*)(...))(& _ZTI9QTextEdit) +528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev +536 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextEdit + size=40 align=8 + base size=40 base align=8 +QTextEdit (0x0x7b9f3a65ff70) 0 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 16) +QAbstractScrollArea (0x0x7b9f3a1f5000) 0 + primary-for QTextEdit (0x0x7b9f3a65ff70) +QFrame (0x0x7b9f3a1f5068) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a1f5000) +QWidget (0x0x7b9f3a555b60) 0 + primary-for QFrame (0x0x7b9f3a1f5068) +QObject (0x0x7b9f3a1f6000) 0 + primary-for QWidget (0x0x7b9f3a555b60) +QPaintDevice (0x0x7b9f3a1f6060) 16 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 528) + +Class QPlainTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextEdit::QPrivateSignal (0x0x7b9f3a1f6ae0) 0 empty + +Vtable for QPlainTextEdit +QPlainTextEdit::_ZTV14QPlainTextEdit: 74 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QPlainTextEdit) +16 (int (*)(...))QPlainTextEdit::metaObject +24 (int (*)(...))QPlainTextEdit::qt_metacast +32 (int (*)(...))QPlainTextEdit::qt_metacall +40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +56 (int (*)(...))QPlainTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QPlainTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QPlainTextEdit::mousePressEvent +176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent +184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QPlainTextEdit::mouseMoveEvent +200 (int (*)(...))QPlainTextEdit::wheelEvent +208 (int (*)(...))QPlainTextEdit::keyPressEvent +216 (int (*)(...))QPlainTextEdit::keyReleaseEvent +224 (int (*)(...))QPlainTextEdit::focusInEvent +232 (int (*)(...))QPlainTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPlainTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QPlainTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QPlainTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QPlainTextEdit::dragEnterEvent +320 (int (*)(...))QPlainTextEdit::dragMoveEvent +328 (int (*)(...))QPlainTextEdit::dragLeaveEvent +336 (int (*)(...))QPlainTextEdit::dropEvent +344 (int (*)(...))QPlainTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QPlainTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QPlainTextEdit::inputMethodEvent +416 (int (*)(...))QPlainTextEdit::inputMethodQuery +424 (int (*)(...))QPlainTextEdit::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractScrollArea::viewportEvent +456 (int (*)(...))QPlainTextEdit::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))QPlainTextEdit::loadResource +480 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection +488 (int (*)(...))QPlainTextEdit::canInsertFromMimeData +496 (int (*)(...))QPlainTextEdit::insertFromMimeData +504 (int (*)(...))QPlainTextEdit::doSetTextCursor +512 (int (*)(...))-16 +520 (int (*)(...))(& _ZTI14QPlainTextEdit) +528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev +536 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPlainTextEdit + size=40 align=8 + base size=40 base align=8 +QPlainTextEdit (0x0x7b9f3a1f51a0) 0 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16) +QAbstractScrollArea (0x0x7b9f3a1f5208) 0 + primary-for QPlainTextEdit (0x0x7b9f3a1f51a0) +QFrame (0x0x7b9f3a1f5270) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a1f5208) +QWidget (0x0x7b9f3a231700) 0 + primary-for QFrame (0x0x7b9f3a1f5270) +QObject (0x0x7b9f3a1f6a20) 0 + primary-for QWidget (0x0x7b9f3a231700) +QPaintDevice (0x0x7b9f3a1f6a80) 16 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 528) + +Class QPlainTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextDocumentLayout::QPrivateSignal (0x0x7b9f3a2cc060) 0 empty + +Vtable for QPlainTextDocumentLayout +QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout) +16 (int (*)(...))QPlainTextDocumentLayout::metaObject +24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast +32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall +40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPlainTextDocumentLayout::draw +120 (int (*)(...))QPlainTextDocumentLayout::hitTest +128 (int (*)(...))QPlainTextDocumentLayout::pageCount +136 (int (*)(...))QPlainTextDocumentLayout::documentSize +144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect +152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect +160 (int (*)(...))QPlainTextDocumentLayout::documentChanged +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QPlainTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QPlainTextDocumentLayout (0x0x7b9f3a1f52d8) 0 + vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16) +QAbstractTextDocumentLayout (0x0x7b9f3a1f5340) 0 + primary-for QPlainTextDocumentLayout (0x0x7b9f3a1f52d8) +QObject (0x0x7b9f3a2cc000) 0 + primary-for QAbstractTextDocumentLayout (0x0x7b9f3a1f5340) + +Class QProgressBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressBar::QPrivateSignal (0x0x7b9f3a2cc2a0) 0 empty + +Vtable for QProgressBar +QProgressBar::_ZTV12QProgressBar: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QProgressBar) +16 (int (*)(...))QProgressBar::metaObject +24 (int (*)(...))QProgressBar::qt_metacast +32 (int (*)(...))QProgressBar::qt_metacall +40 (int (*)(...))QProgressBar::~QProgressBar +48 (int (*)(...))QProgressBar::~QProgressBar +56 (int (*)(...))QProgressBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QProgressBar::sizeHint +136 (int (*)(...))QProgressBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QProgressBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QProgressBar::text +440 (int (*)(...))QProgressBar::initStyleOption +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI12QProgressBar) +464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev +472 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressBar + size=40 align=8 + base size=40 base align=8 +QProgressBar (0x0x7b9f3a1f53a8) 0 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 16) +QWidget (0x0x7b9f3a231ee0) 0 + primary-for QProgressBar (0x0x7b9f3a1f53a8) +QObject (0x0x7b9f3a2cc1e0) 0 + primary-for QWidget (0x0x7b9f3a231ee0) +QPaintDevice (0x0x7b9f3a2cc240) 16 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 464) + +Class QProgressDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressDialog::QPrivateSignal (0x0x7b9f3a2cc5a0) 0 empty + +Vtable for QProgressDialog +QProgressDialog::_ZTV15QProgressDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QProgressDialog) +16 (int (*)(...))QProgressDialog::metaObject +24 (int (*)(...))QProgressDialog::qt_metacast +32 (int (*)(...))QProgressDialog::qt_metacall +40 (int (*)(...))QProgressDialog::~QProgressDialog +48 (int (*)(...))QProgressDialog::~QProgressDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QProgressDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QProgressDialog::resizeEvent +280 (int (*)(...))QProgressDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QProgressDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QProgressDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI15QProgressDialog) +488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev +496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressDialog + size=40 align=8 + base size=40 base align=8 +QProgressDialog (0x0x7b9f3a1f5410) 0 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16) +QDialog (0x0x7b9f3a1f5478) 0 + primary-for QProgressDialog (0x0x7b9f3a1f5410) +QWidget (0x0x7b9f3a2e22a0) 0 + primary-for QDialog (0x0x7b9f3a1f5478) +QObject (0x0x7b9f3a2cc4e0) 0 + primary-for QWidget (0x0x7b9f3a2e22a0) +QPaintDevice (0x0x7b9f3a2cc540) 16 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488) + +Class QProxyStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProxyStyle::QPrivateSignal (0x0x7b9f3a2cc780) 0 empty + +Vtable for QProxyStyle +QProxyStyle::_ZTV11QProxyStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QProxyStyle) +16 (int (*)(...))QProxyStyle::metaObject +24 (int (*)(...))QProxyStyle::qt_metacast +32 (int (*)(...))QProxyStyle::qt_metacall +40 (int (*)(...))QProxyStyle::~QProxyStyle +48 (int (*)(...))QProxyStyle::~QProxyStyle +56 (int (*)(...))QProxyStyle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProxyStyle::polish +120 (int (*)(...))QProxyStyle::unpolish +128 (int (*)(...))QProxyStyle::polish +136 (int (*)(...))QProxyStyle::unpolish +144 (int (*)(...))QProxyStyle::polish +152 (int (*)(...))QProxyStyle::itemTextRect +160 (int (*)(...))QProxyStyle::itemPixmapRect +168 (int (*)(...))QProxyStyle::drawItemText +176 (int (*)(...))QProxyStyle::drawItemPixmap +184 (int (*)(...))QProxyStyle::standardPalette +192 (int (*)(...))QProxyStyle::drawPrimitive +200 (int (*)(...))QProxyStyle::drawControl +208 (int (*)(...))QProxyStyle::subElementRect +216 (int (*)(...))QProxyStyle::drawComplexControl +224 (int (*)(...))QProxyStyle::hitTestComplexControl +232 (int (*)(...))QProxyStyle::subControlRect +240 (int (*)(...))QProxyStyle::pixelMetric +248 (int (*)(...))QProxyStyle::sizeFromContents +256 (int (*)(...))QProxyStyle::styleHint +264 (int (*)(...))QProxyStyle::standardPixmap +272 (int (*)(...))QProxyStyle::standardIcon +280 (int (*)(...))QProxyStyle::generatedIconPixmap +288 (int (*)(...))QProxyStyle::layoutSpacing + +Class QProxyStyle + size=16 align=8 + base size=16 base align=8 +QProxyStyle (0x0x7b9f3a1f54e0) 0 + vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16) +QCommonStyle (0x0x7b9f3a1f5548) 0 + primary-for QProxyStyle (0x0x7b9f3a1f54e0) +QStyle (0x0x7b9f3a1f55b0) 0 + primary-for QCommonStyle (0x0x7b9f3a1f5548) +QObject (0x0x7b9f3a2cc720) 0 + primary-for QStyle (0x0x7b9f3a1f55b0) + +Class QRadioButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRadioButton::QPrivateSignal (0x0x7b9f3a2cc9c0) 0 empty + +Vtable for QRadioButton +QRadioButton::_ZTV12QRadioButton: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QRadioButton) +16 (int (*)(...))QRadioButton::metaObject +24 (int (*)(...))QRadioButton::qt_metacast +32 (int (*)(...))QRadioButton::qt_metacall +40 (int (*)(...))QRadioButton::~QRadioButton +48 (int (*)(...))QRadioButton::~QRadioButton +56 (int (*)(...))QRadioButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QRadioButton::sizeHint +136 (int (*)(...))QRadioButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QRadioButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRadioButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRadioButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))QRadioButton::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI12QRadioButton) +480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev +488 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRadioButton + size=40 align=8 + base size=40 base align=8 +QRadioButton (0x0x7b9f3a1f5618) 0 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 16) +QAbstractButton (0x0x7b9f3a1f5680) 0 + primary-for QRadioButton (0x0x7b9f3a1f5618) +QWidget (0x0x7b9f3a2e25b0) 0 + primary-for QAbstractButton (0x0x7b9f3a1f5680) +QObject (0x0x7b9f3a2cc900) 0 + primary-for QWidget (0x0x7b9f3a2e25b0) +QPaintDevice (0x0x7b9f3a2cc960) 16 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 480) + +Class QRhiWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRhiWidget::QPrivateSignal (0x0x7b9f3a2ccc00) 0 empty + +Vtable for QRhiWidget +QRhiWidget::_ZTV10QRhiWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QRhiWidget) +16 (int (*)(...))QRhiWidget::metaObject +24 (int (*)(...))QRhiWidget::qt_metacast +32 (int (*)(...))QRhiWidget::qt_metacall +40 (int (*)(...))QRhiWidget::~QRhiWidget +48 (int (*)(...))QRhiWidget::~QRhiWidget +56 (int (*)(...))QRhiWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRhiWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QRhiWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRhiWidget::initialize +440 (int (*)(...))QRhiWidget::render +448 (int (*)(...))QRhiWidget::releaseResources +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI10QRhiWidget) +472 (int (*)(...))QRhiWidget::_ZThn16_N10QRhiWidgetD1Ev +480 (int (*)(...))QRhiWidget::_ZThn16_N10QRhiWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRhiWidget + size=40 align=8 + base size=40 base align=8 +QRhiWidget (0x0x7b9f3a1f56e8) 0 + vptr=((& QRhiWidget::_ZTV10QRhiWidget) + 16) +QWidget (0x0x7b9f3a2e2770) 0 + primary-for QRhiWidget (0x0x7b9f3a1f56e8) +QObject (0x0x7b9f3a2ccb40) 0 + primary-for QWidget (0x0x7b9f3a2e2770) +QPaintDevice (0x0x7b9f3a2ccba0) 16 + vptr=((& QRhiWidget::_ZTV10QRhiWidget) + 472) + +Class QScrollBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollBar::QPrivateSignal (0x0x7b9f3a35d060) 0 empty + +Vtable for QScrollBar +QScrollBar::_ZTV10QScrollBar: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QScrollBar) +16 (int (*)(...))QScrollBar::metaObject +24 (int (*)(...))QScrollBar::qt_metacast +32 (int (*)(...))QScrollBar::qt_metacall +40 (int (*)(...))QScrollBar::~QScrollBar +48 (int (*)(...))QScrollBar::~QScrollBar +56 (int (*)(...))QScrollBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollBar::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QScrollBar::mousePressEvent +176 (int (*)(...))QScrollBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QScrollBar::mouseMoveEvent +200 (int (*)(...))QScrollBar::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QScrollBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QScrollBar::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QScrollBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QScrollBar::sliderChange +440 (int (*)(...))QScrollBar::initStyleOption +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI10QScrollBar) +464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev +472 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollBar + size=40 align=8 + base size=40 base align=8 +QScrollBar (0x0x7b9f3a1f5750) 0 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 16) +QAbstractSlider (0x0x7b9f3a1f57b8) 0 + primary-for QScrollBar (0x0x7b9f3a1f5750) +QWidget (0x0x7b9f3a35c000) 0 + primary-for QAbstractSlider (0x0x7b9f3a1f57b8) +QObject (0x0x7b9f3a2ccf60) 0 + primary-for QWidget (0x0x7b9f3a35c000) +QPaintDevice (0x0x7b9f3a35d000) 16 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 464) + +Vtable for QScrollerProperties +QScrollerProperties::_ZTV19QScrollerProperties: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollerProperties) +16 (int (*)(...))QScrollerProperties::~QScrollerProperties +24 (int (*)(...))QScrollerProperties::~QScrollerProperties + +Class QScrollerProperties + size=16 align=8 + base size=16 base align=8 +QScrollerProperties (0x0x7b9f3a35d1e0) 0 + vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16) + +Class QScroller::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScroller::QPrivateSignal (0x0x7b9f3a029960) 0 empty + +Vtable for QScroller +QScroller::_ZTV9QScroller: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QScroller) +16 (int (*)(...))QScroller::metaObject +24 (int (*)(...))QScroller::qt_metacast +32 (int (*)(...))QScroller::qt_metacall +40 (int (*)(...))QScroller::~QScroller +48 (int (*)(...))QScroller::~QScroller +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScroller + size=24 align=8 + base size=24 base align=8 +QScroller (0x0x7b9f3a0397b8) 0 + vptr=((& QScroller::_ZTV9QScroller) + 16) +QObject (0x0x7b9f3a029900) 0 + primary-for QScroller (0x0x7b9f3a0397b8) + +Class QSizeGrip::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSizeGrip::QPrivateSignal (0x0x7b9f3a029c60) 0 empty + +Vtable for QSizeGrip +QSizeGrip::_ZTV9QSizeGrip: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSizeGrip) +16 (int (*)(...))QSizeGrip::metaObject +24 (int (*)(...))QSizeGrip::qt_metacast +32 (int (*)(...))QSizeGrip::qt_metacall +40 (int (*)(...))QSizeGrip::~QSizeGrip +48 (int (*)(...))QSizeGrip::~QSizeGrip +56 (int (*)(...))QSizeGrip::event +64 (int (*)(...))QSizeGrip::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QSizeGrip::setVisible +128 (int (*)(...))QSizeGrip::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSizeGrip::mousePressEvent +176 (int (*)(...))QSizeGrip::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSizeGrip::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSizeGrip::paintEvent +264 (int (*)(...))QSizeGrip::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QSizeGrip::showEvent +352 (int (*)(...))QSizeGrip::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QSizeGrip) +448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev +456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSizeGrip + size=40 align=8 + base size=40 base align=8 +QSizeGrip (0x0x7b9f3a039820) 0 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16) +QWidget (0x0x7b9f3a04a540) 0 + primary-for QSizeGrip (0x0x7b9f3a039820) +QObject (0x0x7b9f3a029ba0) 0 + primary-for QWidget (0x0x7b9f3a04a540) +QPaintDevice (0x0x7b9f3a029c00) 16 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448) + +Class QSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSpinBox::QPrivateSignal (0x0x7b9f3a029ea0) 0 empty + +Vtable for QSpinBox +QSpinBox::_ZTV8QSpinBox: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSpinBox) +16 (int (*)(...))QSpinBox::metaObject +24 (int (*)(...))QSpinBox::qt_metacast +32 (int (*)(...))QSpinBox::qt_metacall +40 (int (*)(...))QSpinBox::~QSpinBox +48 (int (*)(...))QSpinBox::~QSpinBox +56 (int (*)(...))QSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSpinBox::validate +440 (int (*)(...))QSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::initStyleOption +472 (int (*)(...))QAbstractSpinBox::stepEnabled +480 (int (*)(...))QSpinBox::valueFromText +488 (int (*)(...))QSpinBox::textFromValue +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI8QSpinBox) +512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev +520 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSpinBox + size=40 align=8 + base size=40 base align=8 +QSpinBox (0x0x7b9f3a039888) 0 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 16) +QAbstractSpinBox (0x0x7b9f3a0398f0) 0 + primary-for QSpinBox (0x0x7b9f3a039888) +QWidget (0x0x7b9f3a04a700) 0 + primary-for QAbstractSpinBox (0x0x7b9f3a0398f0) +QObject (0x0x7b9f3a029de0) 0 + primary-for QWidget (0x0x7b9f3a04a700) +QPaintDevice (0x0x7b9f3a029e40) 16 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 512) + +Class QDoubleSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleSpinBox::QPrivateSignal (0x0x7b9f3a085120) 0 empty + +Vtable for QDoubleSpinBox +QDoubleSpinBox::_ZTV14QDoubleSpinBox: 72 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDoubleSpinBox) +16 (int (*)(...))QDoubleSpinBox::metaObject +24 (int (*)(...))QDoubleSpinBox::qt_metacast +32 (int (*)(...))QDoubleSpinBox::qt_metacall +40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDoubleSpinBox::validate +440 (int (*)(...))QDoubleSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::initStyleOption +472 (int (*)(...))QAbstractSpinBox::stepEnabled +480 (int (*)(...))QDoubleSpinBox::valueFromText +488 (int (*)(...))QDoubleSpinBox::textFromValue +496 (int (*)(...))-16 +504 (int (*)(...))(& _ZTI14QDoubleSpinBox) +512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev +520 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDoubleSpinBox + size=40 align=8 + base size=40 base align=8 +QDoubleSpinBox (0x0x7b9f3a039958) 0 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16) +QAbstractSpinBox (0x0x7b9f3a0399c0) 0 + primary-for QDoubleSpinBox (0x0x7b9f3a039958) +QWidget (0x0x7b9f3a04a8c0) 0 + primary-for QAbstractSpinBox (0x0x7b9f3a0399c0) +QObject (0x0x7b9f3a085060) 0 + primary-for QWidget (0x0x7b9f3a04a8c0) +QPaintDevice (0x0x7b9f3a0850c0) 16 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 512) + +Class QSplashScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplashScreen::QPrivateSignal (0x0x7b9f3a085360) 0 empty + +Vtable for QSplashScreen +QSplashScreen::_ZTV13QSplashScreen: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSplashScreen) +16 (int (*)(...))QSplashScreen::metaObject +24 (int (*)(...))QSplashScreen::qt_metacast +32 (int (*)(...))QSplashScreen::qt_metacall +40 (int (*)(...))QSplashScreen::~QSplashScreen +48 (int (*)(...))QSplashScreen::~QSplashScreen +56 (int (*)(...))QSplashScreen::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplashScreen::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplashScreen::drawContents +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI13QSplashScreen) +456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev +464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplashScreen + size=40 align=8 + base size=40 base align=8 +QSplashScreen (0x0x7b9f3a039a28) 0 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16) +QWidget (0x0x7b9f3a04aa80) 0 + primary-for QSplashScreen (0x0x7b9f3a039a28) +QObject (0x0x7b9f3a0852a0) 0 + primary-for QWidget (0x0x7b9f3a04aa80) +QPaintDevice (0x0x7b9f3a085300) 16 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456) + +Class QSplitter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitter::QPrivateSignal (0x0x7b9f3a0855a0) 0 empty + +Vtable for QSplitter +QSplitter::_ZTV9QSplitter: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSplitter) +16 (int (*)(...))QSplitter::metaObject +24 (int (*)(...))QSplitter::qt_metacast +32 (int (*)(...))QSplitter::qt_metacall +40 (int (*)(...))QSplitter::~QSplitter +48 (int (*)(...))QSplitter::~QSplitter +56 (int (*)(...))QSplitter::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QSplitter::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitter::sizeHint +136 (int (*)(...))QSplitter::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitter::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QSplitter::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QSplitter::createHandle +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI9QSplitter) +464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev +472 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitter + size=40 align=8 + base size=40 base align=8 +QSplitter (0x0x7b9f3a039a90) 0 + vptr=((& QSplitter::_ZTV9QSplitter) + 16) +QFrame (0x0x7b9f3a039af8) 0 + primary-for QSplitter (0x0x7b9f3a039a90) +QWidget (0x0x7b9f3a04ac40) 0 + primary-for QFrame (0x0x7b9f3a039af8) +QObject (0x0x7b9f3a0854e0) 0 + primary-for QWidget (0x0x7b9f3a04ac40) +QPaintDevice (0x0x7b9f3a085540) 16 + vptr=((& QSplitter::_ZTV9QSplitter) + 464) + +Class QSplitterHandle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitterHandle::QPrivateSignal (0x0x7b9f3a0857e0) 0 empty + +Vtable for QSplitterHandle +QSplitterHandle::_ZTV15QSplitterHandle: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSplitterHandle) +16 (int (*)(...))QSplitterHandle::metaObject +24 (int (*)(...))QSplitterHandle::qt_metacast +32 (int (*)(...))QSplitterHandle::qt_metacall +40 (int (*)(...))QSplitterHandle::~QSplitterHandle +48 (int (*)(...))QSplitterHandle::~QSplitterHandle +56 (int (*)(...))QSplitterHandle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitterHandle::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplitterHandle::mousePressEvent +176 (int (*)(...))QSplitterHandle::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSplitterHandle::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSplitterHandle::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitterHandle::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI15QSplitterHandle) +448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev +456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitterHandle + size=40 align=8 + base size=40 base align=8 +QSplitterHandle (0x0x7b9f3a039b60) 0 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16) +QWidget (0x0x7b9f3a04ae00) 0 + primary-for QSplitterHandle (0x0x7b9f3a039b60) +QObject (0x0x7b9f3a085720) 0 + primary-for QWidget (0x0x7b9f3a04ae00) +QPaintDevice (0x0x7b9f3a085780) 16 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448) + +Class QStackedLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedLayout::QPrivateSignal (0x0x7b9f3a085a20) 0 empty + +Vtable for QStackedLayout +QStackedLayout::_ZTV14QStackedLayout: 54 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedLayout) +16 (int (*)(...))QStackedLayout::metaObject +24 (int (*)(...))QStackedLayout::qt_metacast +32 (int (*)(...))QStackedLayout::qt_metacall +40 (int (*)(...))QStackedLayout::~QStackedLayout +48 (int (*)(...))QStackedLayout::~QStackedLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::spacing +120 (int (*)(...))QLayout::setSpacing +128 (int (*)(...))QLayout::invalidate +136 (int (*)(...))QLayout::geometry +144 (int (*)(...))QStackedLayout::addItem +152 (int (*)(...))QLayout::expandingDirections +160 (int (*)(...))QStackedLayout::minimumSize +168 (int (*)(...))QLayout::maximumSize +176 (int (*)(...))QStackedLayout::setGeometry +184 (int (*)(...))QStackedLayout::itemAt +192 (int (*)(...))QStackedLayout::takeAt +200 (int (*)(...))QLayout::indexOf +208 (int (*)(...))QLayout::indexOf +216 (int (*)(...))QStackedLayout::count +224 (int (*)(...))QLayout::isEmpty +232 (int (*)(...))QLayout::controlTypes +240 (int (*)(...))QLayout::replaceWidget +248 (int (*)(...))QLayout::layout +256 (int (*)(...))QStackedLayout::sizeHint +264 (int (*)(...))QStackedLayout::hasHeightForWidth +272 (int (*)(...))QStackedLayout::heightForWidth +280 (int (*)(...))-16 +288 (int (*)(...))(& _ZTI14QStackedLayout) +296 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev +304 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev +312 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv +320 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +344 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect +352 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +360 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +368 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv +376 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi +384 (int (*)(...))QLayoutItem::minimumHeightForWidth +392 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +400 (int (*)(...))QLayoutItem::widget +408 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +416 (int (*)(...))QLayoutItem::spacerItem +424 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QStackedLayout + size=32 align=8 + base size=28 base align=8 +QStackedLayout (0x0x7b9f3a039bc8) 0 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16) +QLayout (0x0x7b9f3a0dd000) 0 + primary-for QStackedLayout (0x0x7b9f3a039bc8) +QObject (0x0x7b9f3a085960) 0 + primary-for QLayout (0x0x7b9f3a0dd000) +QLayoutItem (0x0x7b9f3a0859c0) 16 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 296) + +Class QStackedWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedWidget::QPrivateSignal (0x0x7b9f3a085d20) 0 empty + +Vtable for QStackedWidget +QStackedWidget::_ZTV14QStackedWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedWidget) +16 (int (*)(...))QStackedWidget::metaObject +24 (int (*)(...))QStackedWidget::qt_metacast +32 (int (*)(...))QStackedWidget::qt_metacall +40 (int (*)(...))QStackedWidget::~QStackedWidget +48 (int (*)(...))QStackedWidget::~QStackedWidget +56 (int (*)(...))QStackedWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI14QStackedWidget) +456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev +464 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStackedWidget + size=40 align=8 + base size=40 base align=8 +QStackedWidget (0x0x7b9f3a039c30) 0 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16) +QFrame (0x0x7b9f3a039c98) 0 + primary-for QStackedWidget (0x0x7b9f3a039c30) +QWidget (0x0x7b9f3a0dd380) 0 + primary-for QFrame (0x0x7b9f3a039c98) +QObject (0x0x7b9f3a085c60) 0 + primary-for QWidget (0x0x7b9f3a0dd380) +QPaintDevice (0x0x7b9f3a085cc0) 16 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 456) + +Class QStatusBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStatusBar::QPrivateSignal (0x0x7b9f3a085f60) 0 empty + +Vtable for QStatusBar +QStatusBar::_ZTV10QStatusBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QStatusBar) +16 (int (*)(...))QStatusBar::metaObject +24 (int (*)(...))QStatusBar::qt_metacast +32 (int (*)(...))QStatusBar::qt_metacall +40 (int (*)(...))QStatusBar::~QStatusBar +48 (int (*)(...))QStatusBar::~QStatusBar +56 (int (*)(...))QStatusBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QStatusBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QStatusBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QStatusBar::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QStatusBar) +448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev +456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStatusBar + size=40 align=8 + base size=40 base align=8 +QStatusBar (0x0x7b9f3a039d00) 0 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 16) +QWidget (0x0x7b9f3a0dd540) 0 + primary-for QStatusBar (0x0x7b9f3a039d00) +QObject (0x0x7b9f3a085ea0) 0 + primary-for QWidget (0x0x7b9f3a0dd540) +QPaintDevice (0x0x7b9f3a085f00) 16 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 448) + +Class QStyledItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyledItemDelegate::QPrivateSignal (0x0x7b9f3a11d180) 0 empty + +Vtable for QStyledItemDelegate +QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QStyledItemDelegate) +16 (int (*)(...))QStyledItemDelegate::metaObject +24 (int (*)(...))QStyledItemDelegate::qt_metacast +32 (int (*)(...))QStyledItemDelegate::qt_metacall +40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QStyledItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyledItemDelegate::paint +120 (int (*)(...))QStyledItemDelegate::sizeHint +128 (int (*)(...))QStyledItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QStyledItemDelegate::setEditorData +152 (int (*)(...))QStyledItemDelegate::setModelData +160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry +168 (int (*)(...))QStyledItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QStyledItemDelegate::displayText +200 (int (*)(...))QStyledItemDelegate::initStyleOption + +Class QStyledItemDelegate + size=16 align=8 + base size=16 base align=8 +QStyledItemDelegate (0x0x7b9f3a039d68) 0 + vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16) +QAbstractItemDelegate (0x0x7b9f3a039dd0) 0 + primary-for QStyledItemDelegate (0x0x7b9f3a039d68) +QObject (0x0x7b9f3a11d120) 0 + primary-for QAbstractItemDelegate (0x0x7b9f3a039dd0) + +Class QStyleFactory + size=1 align=1 + base size=0 base align=1 +QStyleFactory (0x0x7b9f3a11d300) 0 empty + +Class QStylePainter + size=24 align=8 + base size=24 base align=8 +QStylePainter (0x0x7b9f3a039e38) 0 +QPainter (0x0x7b9f3a11d360) 0 + +Class QStylePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStylePlugin::QPrivateSignal (0x0x7b9f3a11dba0) 0 empty + +Vtable for QStylePlugin +QStylePlugin::_ZTV12QStylePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QStylePlugin) +16 (int (*)(...))QStylePlugin::metaObject +24 (int (*)(...))QStylePlugin::qt_metacast +32 (int (*)(...))QStylePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QStylePlugin + size=16 align=8 + base size=16 base align=8 +QStylePlugin (0x0x7b9f3a039ea0) 0 + vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16) +QObject (0x0x7b9f3a11db40) 0 + primary-for QStylePlugin (0x0x7b9f3a039ea0) + +Class QSystemTrayIcon::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSystemTrayIcon::QPrivateSignal (0x0x7b9f3a11dcc0) 0 empty + +Vtable for QSystemTrayIcon +QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSystemTrayIcon) +16 (int (*)(...))QSystemTrayIcon::metaObject +24 (int (*)(...))QSystemTrayIcon::qt_metacast +32 (int (*)(...))QSystemTrayIcon::qt_metacall +40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +56 (int (*)(...))QSystemTrayIcon::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSystemTrayIcon + size=16 align=8 + base size=16 base align=8 +QSystemTrayIcon (0x0x7b9f3a039f08) 0 + vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16) +QObject (0x0x7b9f3a11dc60) 0 + primary-for QSystemTrayIcon (0x0x7b9f3a039f08) + +Class QTableView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableView::QPrivateSignal (0x0x7b9f3a168000) 0 empty + +Vtable for QTableView +QTableView::_ZTV10QTableView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTableView) +16 (int (*)(...))QTableView::metaObject +24 (int (*)(...))QTableView::qt_metacast +32 (int (*)(...))QTableView::qt_metacall +40 (int (*)(...))QTableView::~QTableView +48 (int (*)(...))QTableView::~QTableView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QTableView::scrollContentsBy +464 (int (*)(...))QTableView::viewportSizeHint +472 (int (*)(...))QTableView::setModel +480 (int (*)(...))QTableView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QTableView::visualRect +504 (int (*)(...))QTableView::scrollTo +512 (int (*)(...))QTableView::indexAt +520 (int (*)(...))QTableView::sizeHintForRow +528 (int (*)(...))QTableView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QAbstractItemView::reset +552 (int (*)(...))QTableView::setRootIndex +560 (int (*)(...))QTableView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QAbstractItemView::dataChanged +584 (int (*)(...))QAbstractItemView::rowsInserted +592 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +600 (int (*)(...))QTableView::selectionChanged +608 (int (*)(...))QTableView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QTableView::updateGeometries +640 (int (*)(...))QTableView::verticalScrollbarAction +648 (int (*)(...))QTableView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QTableView::moveCursor +704 (int (*)(...))QTableView::horizontalOffset +712 (int (*)(...))QTableView::verticalOffset +720 (int (*)(...))QTableView::isIndexHidden +728 (int (*)(...))QTableView::setSelection +736 (int (*)(...))QTableView::visualRegionForSelection +744 (int (*)(...))QTableView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QTableView::initViewItemOption +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI10QTableView) +800 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev +808 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableView + size=40 align=8 + base size=40 base align=8 +QTableView (0x0x7b9f3a039f70) 0 + vptr=((& QTableView::_ZTV10QTableView) + 16) +QAbstractItemView (0x0x7b9f3a166000) 0 + primary-for QTableView (0x0x7b9f3a039f70) +QAbstractScrollArea (0x0x7b9f3a166068) 0 + primary-for QAbstractItemView (0x0x7b9f3a166000) +QFrame (0x0x7b9f3a1660d0) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a166068) +QWidget (0x0x7b9f3a146770) 0 + primary-for QFrame (0x0x7b9f3a1660d0) +QObject (0x0x7b9f3a11df00) 0 + primary-for QWidget (0x0x7b9f3a146770) +QPaintDevice (0x0x7b9f3a11df60) 16 + vptr=((& QTableView::_ZTV10QTableView) + 800) + +Class QTableWidgetSelectionRange + size=16 align=4 + base size=16 base align=4 +QTableWidgetSelectionRange (0x0x7b9f3a168180) 0 + +Vtable for QTableWidgetItem +QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QTableWidgetItem) +16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +32 (int (*)(...))QTableWidgetItem::clone +40 (int (*)(...))QTableWidgetItem::data +48 (int (*)(...))QTableWidgetItem::setData +56 (int (*)(...))QTableWidgetItem::operator< +64 (int (*)(...))QTableWidgetItem::read +72 (int (*)(...))QTableWidgetItem::write + +Class QTableWidgetItem + size=64 align=8 + base size=60 base align=8 +QTableWidgetItem (0x0x7b9f3a168660) 0 + vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16) + +Class QTableWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableWidget::QPrivateSignal (0x0x7b9f39e1a900) 0 empty + +Vtable for QTableWidget +QTableWidget::_ZTV12QTableWidget: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTableWidget) +16 (int (*)(...))QTableWidget::metaObject +24 (int (*)(...))QTableWidget::qt_metacast +32 (int (*)(...))QTableWidget::qt_metacall +40 (int (*)(...))QTableWidget::~QTableWidget +48 (int (*)(...))QTableWidget::~QTableWidget +56 (int (*)(...))QTableWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTableWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QTableView::scrollContentsBy +464 (int (*)(...))QTableView::viewportSizeHint +472 (int (*)(...))QTableWidget::setModel +480 (int (*)(...))QTableView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QTableView::visualRect +504 (int (*)(...))QTableView::scrollTo +512 (int (*)(...))QTableView::indexAt +520 (int (*)(...))QTableView::sizeHintForRow +528 (int (*)(...))QTableView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QAbstractItemView::reset +552 (int (*)(...))QTableView::setRootIndex +560 (int (*)(...))QTableView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QAbstractItemView::dataChanged +584 (int (*)(...))QAbstractItemView::rowsInserted +592 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +600 (int (*)(...))QTableView::selectionChanged +608 (int (*)(...))QTableView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QTableView::updateGeometries +640 (int (*)(...))QTableView::verticalScrollbarAction +648 (int (*)(...))QTableView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QTableView::moveCursor +704 (int (*)(...))QTableView::horizontalOffset +712 (int (*)(...))QTableView::verticalOffset +720 (int (*)(...))QTableView::isIndexHidden +728 (int (*)(...))QTableView::setSelection +736 (int (*)(...))QTableView::visualRegionForSelection +744 (int (*)(...))QTableView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QTableView::initViewItemOption +784 (int (*)(...))QTableWidget::mimeTypes +792 (int (*)(...))QTableWidget::mimeData +800 (int (*)(...))QTableWidget::dropMimeData +808 (int (*)(...))QTableWidget::supportedDropActions +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI12QTableWidget) +832 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev +840 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableWidget + size=40 align=8 + base size=40 base align=8 +QTableWidget (0x0x7b9f3a166820) 0 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 16) +QTableView (0x0x7b9f3a166888) 0 + primary-for QTableWidget (0x0x7b9f3a166820) +QAbstractItemView (0x0x7b9f3a1668f0) 0 + primary-for QTableView (0x0x7b9f3a166888) +QAbstractScrollArea (0x0x7b9f3a166958) 0 + primary-for QAbstractItemView (0x0x7b9f3a1668f0) +QFrame (0x0x7b9f3a1669c0) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a166958) +QWidget (0x0x7b9f39e14bd0) 0 + primary-for QFrame (0x0x7b9f3a1669c0) +QObject (0x0x7b9f39e1a840) 0 + primary-for QWidget (0x0x7b9f39e14bd0) +QPaintDevice (0x0x7b9f39e1a8a0) 16 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 832) + +Class QTextBrowser::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBrowser::QPrivateSignal (0x0x7b9f39e1acc0) 0 empty + +Vtable for QTextBrowser +QTextBrowser::_ZTV12QTextBrowser: 79 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTextBrowser) +16 (int (*)(...))QTextBrowser::metaObject +24 (int (*)(...))QTextBrowser::qt_metacast +32 (int (*)(...))QTextBrowser::qt_metacall +40 (int (*)(...))QTextBrowser::~QTextBrowser +48 (int (*)(...))QTextBrowser::~QTextBrowser +56 (int (*)(...))QTextBrowser::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextBrowser::mousePressEvent +176 (int (*)(...))QTextBrowser::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextBrowser::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextBrowser::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextBrowser::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextBrowser::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextBrowser::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractScrollArea::viewportEvent +456 (int (*)(...))QTextEdit::scrollContentsBy +464 (int (*)(...))QAbstractScrollArea::viewportSizeHint +472 (int (*)(...))QTextBrowser::loadResource +480 (int (*)(...))QTextEdit::createMimeDataFromSelection +488 (int (*)(...))QTextEdit::canInsertFromMimeData +496 (int (*)(...))QTextEdit::insertFromMimeData +504 (int (*)(...))QTextEdit::doSetTextCursor +512 (int (*)(...))QTextBrowser::backward +520 (int (*)(...))QTextBrowser::forward +528 (int (*)(...))QTextBrowser::home +536 (int (*)(...))QTextBrowser::reload +544 (int (*)(...))QTextBrowser::doSetSource +552 (int (*)(...))-16 +560 (int (*)(...))(& _ZTI12QTextBrowser) +568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev +576 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +616 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +624 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextBrowser + size=40 align=8 + base size=40 base align=8 +QTextBrowser (0x0x7b9f3a166a28) 0 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16) +QTextEdit (0x0x7b9f3a166a90) 0 + primary-for QTextBrowser (0x0x7b9f3a166a28) +QAbstractScrollArea (0x0x7b9f3a166af8) 0 + primary-for QTextEdit (0x0x7b9f3a166a90) +QFrame (0x0x7b9f3a166b60) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a166af8) +QWidget (0x0x7b9f39e14f50) 0 + primary-for QFrame (0x0x7b9f3a166b60) +QObject (0x0x7b9f39e1ac00) 0 + primary-for QWidget (0x0x7b9f39e14f50) +QPaintDevice (0x0x7b9f39e1ac60) 16 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 568) + +Class QToolBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBar::QPrivateSignal (0x0x7b9f39e1af00) 0 empty + +Vtable for QToolBar +QToolBar::_ZTV8QToolBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBar) +16 (int (*)(...))QToolBar::metaObject +24 (int (*)(...))QToolBar::qt_metacast +32 (int (*)(...))QToolBar::qt_metacall +40 (int (*)(...))QToolBar::~QToolBar +48 (int (*)(...))QToolBar::~QToolBar +56 (int (*)(...))QToolBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QToolBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolBar::initStyleOption +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI8QToolBar) +456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev +464 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBar + size=40 align=8 + base size=40 base align=8 +QToolBar (0x0x7b9f3a166bc8) 0 + vptr=((& QToolBar::_ZTV8QToolBar) + 16) +QWidget (0x0x7b9f39e7f150) 0 + primary-for QToolBar (0x0x7b9f3a166bc8) +QObject (0x0x7b9f39e1ae40) 0 + primary-for QWidget (0x0x7b9f39e7f150) +QPaintDevice (0x0x7b9f39e1aea0) 16 + vptr=((& QToolBar::_ZTV8QToolBar) + 456) + +Class QToolBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBox::QPrivateSignal (0x0x7b9f39ea5240) 0 empty + +Vtable for QToolBox +QToolBox::_ZTV8QToolBox: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBox) +16 (int (*)(...))QToolBox::metaObject +24 (int (*)(...))QToolBox::qt_metacast +32 (int (*)(...))QToolBox::qt_metacall +40 (int (*)(...))QToolBox::~QToolBox +48 (int (*)(...))QToolBox::~QToolBox +56 (int (*)(...))QToolBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QToolBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QToolBox::itemInserted +448 (int (*)(...))QToolBox::itemRemoved +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI8QToolBox) +472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev +480 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBox + size=40 align=8 + base size=40 base align=8 +QToolBox (0x0x7b9f3a166c30) 0 + vptr=((& QToolBox::_ZTV8QToolBox) + 16) +QFrame (0x0x7b9f3a166c98) 0 + primary-for QToolBox (0x0x7b9f3a166c30) +QWidget (0x0x7b9f39e7f3f0) 0 + primary-for QFrame (0x0x7b9f3a166c98) +QObject (0x0x7b9f39ea5180) 0 + primary-for QWidget (0x0x7b9f39e7f3f0) +QPaintDevice (0x0x7b9f39ea51e0) 16 + vptr=((& QToolBox::_ZTV8QToolBox) + 472) + +Class QToolButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolButton::QPrivateSignal (0x0x7b9f39ea55a0) 0 empty + +Vtable for QToolButton +QToolButton::_ZTV11QToolButton: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QToolButton) +16 (int (*)(...))QToolButton::metaObject +24 (int (*)(...))QToolButton::qt_metacast +32 (int (*)(...))QToolButton::qt_metacall +40 (int (*)(...))QToolButton::~QToolButton +48 (int (*)(...))QToolButton::~QToolButton +56 (int (*)(...))QToolButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QToolButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QToolButton::sizeHint +136 (int (*)(...))QToolButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QToolButton::mousePressEvent +176 (int (*)(...))QToolButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QToolButton::enterEvent +248 (int (*)(...))QToolButton::leaveEvent +256 (int (*)(...))QToolButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolButton::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolButton::hitButton +440 (int (*)(...))QToolButton::checkStateSet +448 (int (*)(...))QToolButton::nextCheckState +456 (int (*)(...))QToolButton::initStyleOption +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI11QToolButton) +480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev +488 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolButton + size=40 align=8 + base size=40 base align=8 +QToolButton (0x0x7b9f3a166d00) 0 + vptr=((& QToolButton::_ZTV11QToolButton) + 16) +QAbstractButton (0x0x7b9f3a166d68) 0 + primary-for QToolButton (0x0x7b9f3a166d00) +QWidget (0x0x7b9f39e7f700) 0 + primary-for QAbstractButton (0x0x7b9f3a166d68) +QObject (0x0x7b9f39ea54e0) 0 + primary-for QWidget (0x0x7b9f39e7f700) +QPaintDevice (0x0x7b9f39ea5540) 16 + vptr=((& QToolButton::_ZTV11QToolButton) + 480) + +Class QToolTip + size=1 align=1 + base size=0 base align=1 +QToolTip (0x0x7b9f39ea57e0) 0 empty + +Class QTreeView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeView::QPrivateSignal (0x0x7b9f39ea5960) 0 empty + +Vtable for QTreeView +QTreeView::_ZTV9QTreeView: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTreeView) +16 (int (*)(...))QTreeView::metaObject +24 (int (*)(...))QTreeView::qt_metacast +32 (int (*)(...))QTreeView::qt_metacall +40 (int (*)(...))QTreeView::~QTreeView +48 (int (*)(...))QTreeView::~QTreeView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTreeView::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QTreeView::viewportEvent +456 (int (*)(...))QTreeView::scrollContentsBy +464 (int (*)(...))QTreeView::viewportSizeHint +472 (int (*)(...))QTreeView::setModel +480 (int (*)(...))QTreeView::setSelectionModel +488 (int (*)(...))QTreeView::keyboardSearch +496 (int (*)(...))QTreeView::visualRect +504 (int (*)(...))QTreeView::scrollTo +512 (int (*)(...))QTreeView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QTreeView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QTreeView::reset +552 (int (*)(...))QTreeView::setRootIndex +560 (int (*)(...))QTreeView::doItemsLayout +568 (int (*)(...))QTreeView::selectAll +576 (int (*)(...))QTreeView::dataChanged +584 (int (*)(...))QTreeView::rowsInserted +592 (int (*)(...))QTreeView::rowsAboutToBeRemoved +600 (int (*)(...))QTreeView::selectionChanged +608 (int (*)(...))QTreeView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QTreeView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QTreeView::horizontalScrollbarAction +656 (int (*)(...))QTreeView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QTreeView::moveCursor +704 (int (*)(...))QTreeView::horizontalOffset +712 (int (*)(...))QTreeView::verticalOffset +720 (int (*)(...))QTreeView::isIndexHidden +728 (int (*)(...))QTreeView::setSelection +736 (int (*)(...))QTreeView::visualRegionForSelection +744 (int (*)(...))QTreeView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))QTreeView::drawRow +792 (int (*)(...))QTreeView::drawBranches +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI9QTreeView) +816 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev +824 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeView + size=40 align=8 + base size=40 base align=8 +QTreeView (0x0x7b9f3a166dd0) 0 + vptr=((& QTreeView::_ZTV9QTreeView) + 16) +QAbstractItemView (0x0x7b9f3a166e38) 0 + primary-for QTreeView (0x0x7b9f3a166dd0) +QAbstractScrollArea (0x0x7b9f3a166ea0) 0 + primary-for QAbstractItemView (0x0x7b9f3a166e38) +QFrame (0x0x7b9f3a166f08) 0 + primary-for QAbstractScrollArea (0x0x7b9f3a166ea0) +QWidget (0x0x7b9f39e7fb60) 0 + primary-for QFrame (0x0x7b9f3a166f08) +QObject (0x0x7b9f39ea58a0) 0 + primary-for QWidget (0x0x7b9f39e7fb60) +QPaintDevice (0x0x7b9f39ea5900) 16 + vptr=((& QTreeView::_ZTV9QTreeView) + 816) + +Class QTreeWidgetItemIterator + size=24 align=8 + base size=20 base align=8 +QTreeWidgetItemIterator (0x0x7b9f39ea5ae0) 0 + +Vtable for QTreeWidgetItem +QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTreeWidgetItem) +16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +32 (int (*)(...))QTreeWidgetItem::clone +40 (int (*)(...))QTreeWidgetItem::data +48 (int (*)(...))QTreeWidgetItem::setData +56 (int (*)(...))QTreeWidgetItem::operator< +64 (int (*)(...))QTreeWidgetItem::read +72 (int (*)(...))QTreeWidgetItem::write + +Class QTreeWidgetItem + size=96 align=8 + base size=92 base align=8 +QTreeWidgetItem (0x0x7b9f39f48360) 0 + vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16) + +Class QTreeWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeWidget::QPrivateSignal (0x0x7b9f39cd9000) 0 empty + +Vtable for QTreeWidget +QTreeWidget::_ZTV11QTreeWidget: 114 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTreeWidget) +16 (int (*)(...))QTreeWidget::metaObject +24 (int (*)(...))QTreeWidget::qt_metacast +32 (int (*)(...))QTreeWidget::qt_metacall +40 (int (*)(...))QTreeWidget::~QTreeWidget +48 (int (*)(...))QTreeWidget::~QTreeWidget +56 (int (*)(...))QTreeWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTreeWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTreeView::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QTreeView::viewportEvent +456 (int (*)(...))QTreeView::scrollContentsBy +464 (int (*)(...))QTreeView::viewportSizeHint +472 (int (*)(...))QTreeWidget::setModel +480 (int (*)(...))QTreeWidget::setSelectionModel +488 (int (*)(...))QTreeView::keyboardSearch +496 (int (*)(...))QTreeView::visualRect +504 (int (*)(...))QTreeView::scrollTo +512 (int (*)(...))QTreeView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QTreeView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QTreeView::reset +552 (int (*)(...))QTreeView::setRootIndex +560 (int (*)(...))QTreeView::doItemsLayout +568 (int (*)(...))QTreeView::selectAll +576 (int (*)(...))QTreeView::dataChanged +584 (int (*)(...))QTreeView::rowsInserted +592 (int (*)(...))QTreeView::rowsAboutToBeRemoved +600 (int (*)(...))QTreeView::selectionChanged +608 (int (*)(...))QTreeView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QTreeView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QTreeView::horizontalScrollbarAction +656 (int (*)(...))QTreeView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QTreeView::moveCursor +704 (int (*)(...))QTreeView::horizontalOffset +712 (int (*)(...))QTreeView::verticalOffset +720 (int (*)(...))QTreeView::isIndexHidden +728 (int (*)(...))QTreeView::setSelection +736 (int (*)(...))QTreeView::visualRegionForSelection +744 (int (*)(...))QTreeView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))QTreeView::drawRow +792 (int (*)(...))QTreeView::drawBranches +800 (int (*)(...))QTreeWidget::mimeTypes +808 (int (*)(...))QTreeWidget::mimeData +816 (int (*)(...))QTreeWidget::dropMimeData +824 (int (*)(...))QTreeWidget::supportedDropActions +832 (int (*)(...))-16 +840 (int (*)(...))(& _ZTI11QTreeWidget) +848 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev +856 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +896 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +904 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeWidget + size=40 align=8 + base size=40 base align=8 +QTreeWidget (0x0x7b9f39bb3ea0) 0 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16) +QTreeView (0x0x7b9f39bb3f08) 0 + primary-for QTreeWidget (0x0x7b9f39bb3ea0) +QAbstractItemView (0x0x7b9f39bb3f70) 0 + primary-for QTreeView (0x0x7b9f39bb3f08) +QAbstractScrollArea (0x0x7b9f39bb3750) 0 + primary-for QAbstractItemView (0x0x7b9f39bb3f70) +QFrame (0x0x7b9f39bb3e38) 0 + primary-for QAbstractScrollArea (0x0x7b9f39bb3750) +QWidget (0x0x7b9f39c7de70) 0 + primary-for QFrame (0x0x7b9f39bb3e38) +QObject (0x0x7b9f39c28f60) 0 + primary-for QWidget (0x0x7b9f39c7de70) +QPaintDevice (0x0x7b9f39c282a0) 16 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 848) + +Class QUndoView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoView::QPrivateSignal (0x0x7b9f39cd9420) 0 empty + +Vtable for QUndoView +QUndoView::_ZTV9QUndoView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QUndoView) +16 (int (*)(...))QUndoView::metaObject +24 (int (*)(...))QUndoView::qt_metacast +32 (int (*)(...))QUndoView::qt_metacall +40 (int (*)(...))QUndoView::~QUndoView +48 (int (*)(...))QUndoView::~QUndoView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QListView::scrollContentsBy +464 (int (*)(...))QListView::viewportSizeHint +472 (int (*)(...))QAbstractItemView::setModel +480 (int (*)(...))QAbstractItemView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QListView::visualRect +504 (int (*)(...))QListView::scrollTo +512 (int (*)(...))QListView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QListView::reset +552 (int (*)(...))QListView::setRootIndex +560 (int (*)(...))QListView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QListView::dataChanged +584 (int (*)(...))QListView::rowsInserted +592 (int (*)(...))QListView::rowsAboutToBeRemoved +600 (int (*)(...))QListView::selectionChanged +608 (int (*)(...))QListView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QListView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QListView::moveCursor +704 (int (*)(...))QListView::horizontalOffset +712 (int (*)(...))QListView::verticalOffset +720 (int (*)(...))QListView::isIndexHidden +728 (int (*)(...))QListView::setSelection +736 (int (*)(...))QListView::visualRegionForSelection +744 (int (*)(...))QListView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QListView::startDrag +776 (int (*)(...))QListView::initViewItemOption +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI9QUndoView) +800 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev +808 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QUndoView + size=40 align=8 + base size=40 base align=8 +QUndoView (0x0x7b9f39d20000) 0 + vptr=((& QUndoView::_ZTV9QUndoView) + 16) +QListView (0x0x7b9f39d20068) 0 + primary-for QUndoView (0x0x7b9f39d20000) +QAbstractItemView (0x0x7b9f39d200d0) 0 + primary-for QListView (0x0x7b9f39d20068) +QAbstractScrollArea (0x0x7b9f39d20138) 0 + primary-for QAbstractItemView (0x0x7b9f39d200d0) +QFrame (0x0x7b9f39d201a0) 0 + primary-for QAbstractScrollArea (0x0x7b9f39d20138) +QWidget (0x0x7b9f39cfc2a0) 0 + primary-for QFrame (0x0x7b9f39d201a0) +QObject (0x0x7b9f39cd9360) 0 + primary-for QWidget (0x0x7b9f39cfc2a0) +QPaintDevice (0x0x7b9f39cd93c0) 16 + vptr=((& QUndoView::_ZTV9QUndoView) + 800) + +Class QWhatsThis + size=1 align=1 + base size=0 base align=1 +QWhatsThis (0x0x7b9f39cd95a0) 0 empty + +Class QWidgetAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidgetAction::QPrivateSignal (0x0x7b9f39cd9660) 0 empty + +Vtable for QWidgetAction +QWidgetAction::_ZTV13QWidgetAction: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetAction) +16 (int (*)(...))QWidgetAction::metaObject +24 (int (*)(...))QWidgetAction::qt_metacast +32 (int (*)(...))QWidgetAction::qt_metacall +40 (int (*)(...))QWidgetAction::~QWidgetAction +48 (int (*)(...))QWidgetAction::~QWidgetAction +56 (int (*)(...))QWidgetAction::event +64 (int (*)(...))QWidgetAction::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidgetAction::createWidget +120 (int (*)(...))QWidgetAction::deleteWidget + +Class QWidgetAction + size=16 align=8 + base size=16 base align=8 +QWidgetAction (0x0x7b9f39d20208) 0 + vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16) +QAction (0x0x7b9f39d20270) 0 + primary-for QWidgetAction (0x0x7b9f39d20208) +QObject (0x0x7b9f39cd9600) 0 + primary-for QAction (0x0x7b9f39d20270) + +Class QWizard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizard::QPrivateSignal (0x0x7b9f39cd98a0) 0 empty + +Vtable for QWizard +QWizard::_ZTV7QWizard: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWizard) +16 (int (*)(...))QWizard::metaObject +24 (int (*)(...))QWizard::qt_metacast +32 (int (*)(...))QWizard::qt_metacall +40 (int (*)(...))QWizard::~QWizard +48 (int (*)(...))QWizard::~QWizard +56 (int (*)(...))QWizard::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWizard::setVisible +128 (int (*)(...))QWizard::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWizard::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWizard::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QWizard::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))QWizard::validateCurrentPage +480 (int (*)(...))QWizard::nextId +488 (int (*)(...))QWizard::initializePage +496 (int (*)(...))QWizard::cleanupPage +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI7QWizard) +520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev +528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizard + size=40 align=8 + base size=40 base align=8 +QWizard (0x0x7b9f39d202d8) 0 + vptr=((& QWizard::_ZTV7QWizard) + 16) +QDialog (0x0x7b9f39d20340) 0 + primary-for QWizard (0x0x7b9f39d202d8) +QWidget (0x0x7b9f39cfc5b0) 0 + primary-for QDialog (0x0x7b9f39d20340) +QObject (0x0x7b9f39cd97e0) 0 + primary-for QWidget (0x0x7b9f39cfc5b0) +QPaintDevice (0x0x7b9f39cd9840) 16 + vptr=((& QWizard::_ZTV7QWizard) + 520) + +Class QWizardPage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizardPage::QPrivateSignal (0x0x7b9f399be1e0) 0 empty + +Vtable for QWizardPage +QWizardPage::_ZTV11QWizardPage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWizardPage) +16 (int (*)(...))QWizardPage::metaObject +24 (int (*)(...))QWizardPage::qt_metacast +32 (int (*)(...))QWizardPage::qt_metacall +40 (int (*)(...))QWizardPage::~QWizardPage +48 (int (*)(...))QWizardPage::~QWizardPage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QWizardPage::initializePage +440 (int (*)(...))QWizardPage::cleanupPage +448 (int (*)(...))QWizardPage::validatePage +456 (int (*)(...))QWizardPage::isComplete +464 (int (*)(...))QWizardPage::nextId +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QWizardPage) +488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev +496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizardPage + size=40 align=8 + base size=40 base align=8 +QWizardPage (0x0x7b9f39d20478) 0 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 16) +QWidget (0x0x7b9f39d4bee0) 0 + primary-for QWizardPage (0x0x7b9f39d20478) +QObject (0x0x7b9f399be120) 0 + primary-for QWidget (0x0x7b9f39d4bee0) +QPaintDevice (0x0x7b9f399be180) 16 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 488) + +Vtable for QDesignerCustomWidgetInterface +QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerCustomWidgetInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QDesignerCustomWidgetInterface::isInitialized +104 (int (*)(...))QDesignerCustomWidgetInterface::initialize +112 (int (*)(...))QDesignerCustomWidgetInterface::domXml +120 (int (*)(...))QDesignerCustomWidgetInterface::codeTemplate + +Class QDesignerCustomWidgetInterface + size=8 align=8 + base size=8 base align=8 +QDesignerCustomWidgetInterface (0x0x7b9f399be360) 0 nearly-empty + vptr=((& QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface) + 16) + +Vtable for QDesignerCustomWidgetCollectionInterface +QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI40QDesignerCustomWidgetCollectionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QDesignerCustomWidgetCollectionInterface + size=8 align=8 + base size=8 base align=8 +QDesignerCustomWidgetCollectionInterface (0x0x7b9f39a0f2a0) 0 nearly-empty + vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 16) + +Class QDomImplementation + size=8 align=8 + base size=8 base align=8 +QDomImplementation (0x0x7b9f39a0f6c0) 0 + +Class QDomNode + size=8 align=8 + base size=8 base align=8 +QDomNode (0x0x7b9f39a0f720) 0 + +Class QDomNodeList + size=8 align=8 + base size=8 base align=8 +QDomNodeList (0x0x7b9f39a0f780) 0 + +Class QDomDocumentType + size=8 align=8 + base size=8 base align=8 +QDomDocumentType (0x0x7b9f39a05c30) 0 +QDomNode (0x0x7b9f39a0f960) 0 + +Class QDomDocument::ParseResult + size=40 align=8 + base size=40 base align=8 +QDomDocument::ParseResult (0x0x7b9f39a0fa80) 0 + +Class QDomDocument + size=8 align=8 + base size=8 base align=8 +QDomDocument (0x0x7b9f39a05c98) 0 +QDomNode (0x0x7b9f39a0fa20) 0 + +Class QDomNamedNodeMap + size=8 align=8 + base size=8 base align=8 +QDomNamedNodeMap (0x0x7b9f39a0fde0) 0 + +Class QDomDocumentFragment + size=8 align=8 + base size=8 base align=8 +QDomDocumentFragment (0x0x7b9f39a05dd0) 0 +QDomNode (0x0x7b9f39a0ff60) 0 + +Class QDomCharacterData + size=8 align=8 + base size=8 base align=8 +QDomCharacterData (0x0x7b9f39a05e38) 0 +QDomNode (0x0x7b9f39a96060) 0 + +Class QDomAttr + size=8 align=8 + base size=8 base align=8 +QDomAttr (0x0x7b9f39a05ea0) 0 +QDomNode (0x0x7b9f39a960c0) 0 + +Class QDomElement + size=8 align=8 + base size=8 base align=8 +QDomElement (0x0x7b9f39a05f08) 0 +QDomNode (0x0x7b9f39a96180) 0 + +Class QDomText + size=8 align=8 + base size=8 base align=8 +QDomText (0x0x7b9f39a05f70) 0 +QDomCharacterData (0x0x7b9f39ab7000) 0 +QDomNode (0x0x7b9f39a963c0) 0 + +Class QDomComment + size=8 align=8 + base size=8 base align=8 +QDomComment (0x0x7b9f39ab7068) 0 +QDomCharacterData (0x0x7b9f39ab70d0) 0 +QDomNode (0x0x7b9f39a96480) 0 + +Class QDomCDATASection + size=8 align=8 + base size=8 base align=8 +QDomCDATASection (0x0x7b9f39ab7138) 0 +QDomText (0x0x7b9f39ab71a0) 0 +QDomCharacterData (0x0x7b9f39ab7208) 0 +QDomNode (0x0x7b9f39a96540) 0 + +Class QDomNotation + size=8 align=8 + base size=8 base align=8 +QDomNotation (0x0x7b9f39ab7270) 0 +QDomNode (0x0x7b9f39a96600) 0 + +Class QDomEntity + size=8 align=8 + base size=8 base align=8 +QDomEntity (0x0x7b9f39ab72d8) 0 +QDomNode (0x0x7b9f39a966c0) 0 + +Class QDomEntityReference + size=8 align=8 + base size=8 base align=8 +QDomEntityReference (0x0x7b9f39ab7340) 0 +QDomNode (0x0x7b9f39a96780) 0 + +Class QDomProcessingInstruction + size=8 align=8 + base size=8 base align=8 +QDomProcessingInstruction (0x0x7b9f39ab73a8) 0 +QDomNode (0x0x7b9f39a96840) 0 + +Class QOpenGLBuffer + size=8 align=8 + base size=8 base align=8 +QOpenGLBuffer (0x0x7b9f39a96900) 0 + +Class QOpenGLDebugMessage + size=8 align=8 + base size=8 base align=8 +QOpenGLDebugMessage (0x0x7b9f39b17f00) 0 + +Class QOpenGLDebugLogger::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLDebugLogger::QPrivateSignal (0x0x7b9f39838b40) 0 empty + +Vtable for QOpenGLDebugLogger +QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger) +16 (int (*)(...))QOpenGLDebugLogger::metaObject +24 (int (*)(...))QOpenGLDebugLogger::qt_metacast +32 (int (*)(...))QOpenGLDebugLogger::qt_metacall +40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLDebugLogger + size=16 align=8 + base size=16 base align=8 +QOpenGLDebugLogger (0x0x7b9f397ebaf8) 0 + vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16) +QObject (0x0x7b9f39838ae0) 0 + primary-for QOpenGLDebugLogger (0x0x7b9f397ebaf8) + +Vtable for QOpenGLFramebufferObject +QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject) +16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject +24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject + +Class QOpenGLFramebufferObject + size=16 align=8 + base size=16 base align=8 +QOpenGLFramebufferObject (0x0x7b9f39942900) 0 + vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16) + +Class QOpenGLFramebufferObjectFormat + size=8 align=8 + base size=8 base align=8 +QOpenGLFramebufferObjectFormat (0x0x7b9f39942ba0) 0 + +Vtable for QOpenGLPaintDevice +QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice) +16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +32 (int (*)(...))QOpenGLPaintDevice::devType +40 (int (*)(...))QOpenGLPaintDevice::paintEngine +48 (int (*)(...))QOpenGLPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget + +Class QOpenGLPaintDevice + size=24 align=8 + base size=24 base align=8 +QOpenGLPaintDevice (0x0x7b9f399461a0) 0 + vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16) +QPaintDevice (0x0x7b9f39942c00) 0 + primary-for QOpenGLPaintDevice (0x0x7b9f399461a0) + +Class QOpenGLPixelTransferOptions + size=8 align=8 + base size=8 base align=8 +QOpenGLPixelTransferOptions (0x0x7b9f39942e40) 0 + +Class QOpenGLShader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShader::QPrivateSignal (0x0x7b9f4a5e1a80) 0 empty + +Vtable for QOpenGLShader +QOpenGLShader::_ZTV13QOpenGLShader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLShader) +16 (int (*)(...))QOpenGLShader::metaObject +24 (int (*)(...))QOpenGLShader::qt_metacast +32 (int (*)(...))QOpenGLShader::qt_metacall +40 (int (*)(...))QOpenGLShader::~QOpenGLShader +48 (int (*)(...))QOpenGLShader::~QOpenGLShader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLShader + size=16 align=8 + base size=16 base align=8 +QOpenGLShader (0x0x7b9f4ad4ec98) 0 + vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16) +QObject (0x0x7b9f4a5e1a20) 0 + primary-for QOpenGLShader (0x0x7b9f4ad4ec98) + +Class QOpenGLShaderProgram::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShaderProgram::QPrivateSignal (0x0x7b9f484490c0) 0 empty + +Vtable for QOpenGLShaderProgram +QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram) +16 (int (*)(...))QOpenGLShaderProgram::metaObject +24 (int (*)(...))QOpenGLShaderProgram::qt_metacast +32 (int (*)(...))QOpenGLShaderProgram::qt_metacall +40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOpenGLShaderProgram::link + +Class QOpenGLShaderProgram + size=16 align=8 + base size=16 base align=8 +QOpenGLShaderProgram (0x0x7b9f4ad4c000) 0 + vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16) +QObject (0x0x7b9f48449000) 0 + primary-for QOpenGLShaderProgram (0x0x7b9f4ad4c000) + +Class QOpenGLTexture + size=8 align=8 + base size=8 base align=8 +QOpenGLTexture (0x0x7b9f484494e0) 0 + +Class QOpenGLTextureBlitter + size=8 align=8 + base size=8 base align=8 +QOpenGLTextureBlitter (0x0x7b9f4608ccc0) 0 + +Class QOpenGLTimerQuery::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimerQuery::QPrivateSignal (0x0x7b9f45c21120) 0 empty + +Vtable for QOpenGLTimerQuery +QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery) +16 (int (*)(...))QOpenGLTimerQuery::metaObject +24 (int (*)(...))QOpenGLTimerQuery::qt_metacast +32 (int (*)(...))QOpenGLTimerQuery::qt_metacall +40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimerQuery + size=16 align=8 + base size=16 base align=8 +QOpenGLTimerQuery (0x0x7b9f4ad4b0d0) 0 + vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16) +QObject (0x0x7b9f45c210c0) 0 + primary-for QOpenGLTimerQuery (0x0x7b9f4ad4b0d0) + +Class QOpenGLTimeMonitor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimeMonitor::QPrivateSignal (0x0x7b9f45c21600) 0 empty + +Vtable for QOpenGLTimeMonitor +QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor) +16 (int (*)(...))QOpenGLTimeMonitor::metaObject +24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast +32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall +40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimeMonitor + size=16 align=8 + base size=16 base align=8 +QOpenGLTimeMonitor (0x0x7b9f4ad4b3a8) 0 + vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16) +QObject (0x0x7b9f45c21540) 0 + primary-for QOpenGLTimeMonitor (0x0x7b9f4ad4b3a8) + +Class QOpenGLVersionStatus + size=12 align=4 + base size=12 base align=4 +QOpenGLVersionStatus (0x0x7b9f446fcc00) 0 + +Class QOpenGLVersionFunctionsBackend + size=16 align=8 + base size=12 base align=8 +QOpenGLVersionFunctionsBackend (0x0x7b9f426cfae0) 0 + +Class QOpenGLVersionFunctionsStorage + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionFunctionsStorage (0x0x7b9f426cfd80) 0 + +Class QAbstractOpenGLFunctionsPrivate + size=16 align=8 + base size=9 base align=8 +QAbstractOpenGLFunctionsPrivate (0x0x7b9f426cfde0) 0 + +Vtable for QAbstractOpenGLFunctions +QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions) +16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions + +Class QAbstractOpenGLFunctions + size=16 align=8 + base size=16 base align=8 +QAbstractOpenGLFunctions (0x0x7b9f426d92a0) 0 + vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16) + +Class QOpenGLFunctions_1_0_CoreBackend::Functions + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7b9f426d9cc0) 0 + +Class QOpenGLFunctions_1_0_CoreBackend + size=400 align=8 + base size=400 base align=8 +QOpenGLFunctions_1_0_CoreBackend (0x0x7b9f4afe12d8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f426d9c00) 0 + +Class QOpenGLFunctions_1_1_CoreBackend::Functions + size=128 align=8 + base size=128 base align=8 +QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7b9f42389180) 0 + +Class QOpenGLFunctions_1_1_CoreBackend + size=144 align=8 + base size=144 base align=8 +QOpenGLFunctions_1_1_CoreBackend (0x0x7b9f4afdf1a0) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f42705ba0) 0 + +Class QOpenGLFunctions_1_2_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7b9f423e9c60) 0 + +Class QOpenGLFunctions_1_2_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_1_2_CoreBackend (0x0x7b9f4afdf208) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f423e9c00) 0 + +Class QOpenGLFunctions_1_3_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7b9f424645a0) 0 + +Class QOpenGLFunctions_1_3_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_1_3_CoreBackend (0x0x7b9f4afdf478) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f42464540) 0 + +Class QOpenGLFunctions_1_4_CoreBackend::Functions + size=56 align=8 + base size=56 base align=8 +QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7b9f424703c0) 0 + +Class QOpenGLFunctions_1_4_CoreBackend + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_4_CoreBackend (0x0x7b9f4afdf6e8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f42470360) 0 + +Class QOpenGLFunctions_1_5_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7b9f424f51e0) 0 + +Class QOpenGLFunctions_1_5_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_1_5_CoreBackend (0x0x7b9f4afdfa28) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f424f5180) 0 + +Class QOpenGLFunctions_2_0_CoreBackend::Functions + size=744 align=8 + base size=744 base align=8 +QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7b9f422a8a80) 0 + +Class QOpenGLFunctions_2_0_CoreBackend + size=760 align=8 + base size=760 base align=8 +QOpenGLFunctions_2_0_CoreBackend (0x0x7b9f4afdfaf8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f422a8a20) 0 + +Class QOpenGLFunctions_2_1_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7b9f422e3660) 0 + +Class QOpenGLFunctions_2_1_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_2_1_CoreBackend (0x0x7b9f4afdfb60) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f422e35a0) 0 + +Class QOpenGLFunctions_3_0_CoreBackend::Functions + size=672 align=8 + base size=672 base align=8 +QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7b9f41d513c0) 0 + +Class QOpenGLFunctions_3_0_CoreBackend + size=688 align=8 + base size=688 base align=8 +QOpenGLFunctions_3_0_CoreBackend (0x0x7b9f4afdfdd0) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f41d51360) 0 + +Class QOpenGLFunctions_3_1_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7b9f41f0d480) 0 + +Class QOpenGLFunctions_3_1_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_3_1_CoreBackend (0x0x7b9f4afdfe38) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f41f0d3c0) 0 + +Class QOpenGLFunctions_3_2_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7b9f41b6af00) 0 + +Class QOpenGLFunctions_3_2_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_3_2_CoreBackend (0x0x7b9f4afdff70) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f41b429c0) 0 + +Class QOpenGLFunctions_3_3_CoreBackend::Functions + size=464 align=8 + base size=464 base align=8 +QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7b9f41bcb8a0) 0 + +Class QOpenGLFunctions_3_3_CoreBackend + size=480 align=8 + base size=480 base align=8 +QOpenGLFunctions_3_3_CoreBackend (0x0x7b9f4afdd138) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f41bcb7e0) 0 + +Class QOpenGLFunctions_4_0_CoreBackend::Functions + size=368 align=8 + base size=368 base align=8 +QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7b9f4191f9c0) 0 + +Class QOpenGLFunctions_4_0_CoreBackend + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_4_0_CoreBackend (0x0x7b9f4afdd208) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f4191f960) 0 + +Class QOpenGLFunctions_4_1_CoreBackend::Functions + size=704 align=8 + base size=704 base align=8 +QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7b9f41986720) 0 + +Class QOpenGLFunctions_4_1_CoreBackend + size=720 align=8 + base size=720 base align=8 +QOpenGLFunctions_4_1_CoreBackend (0x0x7b9f4afdd2d8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f419866c0) 0 + +Class QOpenGLFunctions_4_2_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7b9f40e3f300) 0 + +Class QOpenGLFunctions_4_2_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_2_CoreBackend (0x0x7b9f4afdd6e8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f41a12cc0) 0 + +Class QOpenGLFunctions_4_3_CoreBackend::Functions + size=344 align=8 + base size=344 base align=8 +QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7b9f40e3fae0) 0 + +Class QOpenGLFunctions_4_3_CoreBackend + size=360 align=8 + base size=360 base align=8 +QOpenGLFunctions_4_3_CoreBackend (0x0x7b9f4afdd750) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40e3f900) 0 + +Class QOpenGLFunctions_4_4_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7b9f40f3fba0) 0 + +Class QOpenGLFunctions_4_4_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_4_4_CoreBackend (0x0x7b9f4af8d340) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40e53120) 0 + +Class QOpenGLFunctions_4_5_CoreBackend::Functions + size=848 align=8 + base size=848 base align=8 +QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7b9f40c2b660) 0 + +Class QOpenGLFunctions_4_5_CoreBackend + size=864 align=8 + base size=864 base align=8 +QOpenGLFunctions_4_5_CoreBackend (0x0x7b9f4af8d3a8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40c2b5a0) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions + size=2064 align=8 + base size=2064 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7b9f40d61300) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend + size=2080 align=8 + base size=2080 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7b9f4af8dbc8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40d610c0) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions + size=136 align=8 + base size=136 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7b9f40d7ee40) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7b9f4af89d00) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40d7ede0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7b9f40a874e0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend + size=272 align=8 + base size=272 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7b9f4af89dd0) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40a30000) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions + size=296 align=8 + base size=296 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7b9f40aff0c0) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend + size=312 align=8 + base size=312 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7b9f4af79478) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40aff060) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7b9f409549c0) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend + size=320 align=8 + base size=320 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7b9f4af794e0) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f409548a0) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions + size=288 align=8 + base size=288 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7b9f409af5a0) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7b9f4af79750) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f409af540) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions + size=160 align=8 + base size=160 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7b9f40a06600) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend + size=176 align=8 + base size=176 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7b9f4af76680) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40a065a0) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions + size=240 align=8 + base size=240 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7b9f40a06cc0) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7b9f4af766e8) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f40a06a80) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7b9f4061b960) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7b9f4af69ea0) 0 +QOpenGLVersionFunctionsBackend (0x0x7b9f4061b8a0) 0 + +Class QOpenGLVersionProfile + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionProfile (0x0x7b9f4065a600) 0 + +Class QOpenGLVersionFunctionsFactory + size=1 align=1 + base size=0 base align=1 +QOpenGLVersionFunctionsFactory (0x0x7b9f4065a840) 0 empty + +Class QOpenGLVertexArrayObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLVertexArrayObject::QPrivateSignal (0x0x7b9f4065aba0) 0 empty + +Class QOpenGLVertexArrayObject::Binder + size=8 align=8 + base size=8 base align=8 +QOpenGLVertexArrayObject::Binder (0x0x7b9f4065ac60) 0 + +Vtable for QOpenGLVertexArrayObject +QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject) +16 (int (*)(...))QOpenGLVertexArrayObject::metaObject +24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast +32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall +40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLVertexArrayObject + size=16 align=8 + base size=16 base align=8 +QOpenGLVertexArrayObject (0x0x7b9f4af69f08) 0 + vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16) +QObject (0x0x7b9f4065aae0) 0 + primary-for QOpenGLVertexArrayObject (0x0x7b9f4af69f08) + +Class QOpenGLWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWindow::QPrivateSignal (0x0x7b9f406c0ea0) 0 empty + +Vtable for QOpenGLWindow +QOpenGLWindow::_ZTV13QOpenGLWindow: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWindow) +16 (int (*)(...))QOpenGLWindow::metaObject +24 (int (*)(...))QOpenGLWindow::qt_metacast +32 (int (*)(...))QOpenGLWindow::qt_metacall +40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QOpenGLWindow::resizeEvent +168 (int (*)(...))QOpenGLWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QWindow::focusInEvent +192 (int (*)(...))QWindow::focusOutEvent +200 (int (*)(...))QWindow::showEvent +208 (int (*)(...))QWindow::hideEvent +216 (int (*)(...))QWindow::closeEvent +224 (int (*)(...))QWindow::keyPressEvent +232 (int (*)(...))QWindow::keyReleaseEvent +240 (int (*)(...))QWindow::mousePressEvent +248 (int (*)(...))QWindow::mouseReleaseEvent +256 (int (*)(...))QWindow::mouseDoubleClickEvent +264 (int (*)(...))QWindow::mouseMoveEvent +272 (int (*)(...))QWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))QOpenGLWindow::metric +320 (int (*)(...))QPaintDeviceWindow::paintEngine +328 (int (*)(...))QOpenGLWindow::initializeGL +336 (int (*)(...))QOpenGLWindow::resizeGL +344 (int (*)(...))QOpenGLWindow::paintGL +352 (int (*)(...))QOpenGLWindow::paintUnderGL +360 (int (*)(...))QOpenGLWindow::paintOverGL +368 (int (*)(...))QOpenGLWindow::redirected +376 (int (*)(...))-16 +384 (int (*)(...))(& _ZTI13QOpenGLWindow) +392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev +400 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev +408 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +416 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +424 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +432 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +440 (int (*)(...))-40 +448 (int (*)(...))(& _ZTI13QOpenGLWindow) +456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev +464 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev +472 (int (*)(...))QPaintDevice::devType +480 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +488 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QPaintDevice::initPainter +504 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint +512 (int (*)(...))QPaintDevice::sharedPainter + +Class QOpenGLWindow + size=56 align=8 + base size=50 base align=8 +QOpenGLWindow (0x0x7b9f4af61270) 0 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16) +QPaintDeviceWindow (0x0x7b9f422f01c0) 0 + primary-for QOpenGLWindow (0x0x7b9f4af61270) +QWindow (0x0x7b9f422f0230) 0 + primary-for QPaintDeviceWindow (0x0x7b9f422f01c0) +QObject (0x0x7b9f406c0480) 0 + primary-for QWindow (0x0x7b9f422f0230) +QSurface (0x0x7b9f406c04e0) 16 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 392) +QPaintDevice (0x0x7b9f406c0e40) 40 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 456) + +Class QOpenGLWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWidget::QPrivateSignal (0x0x7b9f406fa5a0) 0 empty + +Vtable for QOpenGLWidget +QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWidget) +16 (int (*)(...))QOpenGLWidget::metaObject +24 (int (*)(...))QOpenGLWidget::qt_metacast +32 (int (*)(...))QOpenGLWidget::qt_metacall +40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +56 (int (*)(...))QOpenGLWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QOpenGLWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QOpenGLWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QOpenGLWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QOpenGLWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QOpenGLWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QOpenGLWidget::initializeGL +440 (int (*)(...))QOpenGLWidget::resizeGL +448 (int (*)(...))QOpenGLWidget::paintGL +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI13QOpenGLWidget) +472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev +480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv +504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QOpenGLWidget + size=40 align=8 + base size=40 base align=8 +QOpenGLWidget (0x0x7b9f4af617b8) 0 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16) +QWidget (0x0x7b9f41dcac40) 0 + primary-for QOpenGLWidget (0x0x7b9f4af617b8) +QObject (0x0x7b9f406fa480) 0 + primary-for QWidget (0x0x7b9f41dcac40) +QPaintDevice (0x0x7b9f406fa4e0) 16 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472) + +Class QDesignerActionEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerActionEditorInterface::QPrivateSignal (0x0x7b9f4073ede0) 0 empty + +Vtable for QDesignerActionEditorInterface +QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface) +16 (int (*)(...))QDesignerActionEditorInterface::metaObject +24 (int (*)(...))QDesignerActionEditorInterface::qt_metacast +32 (int (*)(...))QDesignerActionEditorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerActionEditorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface) +480 0 +488 0 +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerActionEditorInterface + size=40 align=8 + base size=40 base align=8 +QDesignerActionEditorInterface (0x0x7b9f4af61bc8) 0 + vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 16) +QWidget (0x0x7b9f41b69d90) 0 + primary-for QDesignerActionEditorInterface (0x0x7b9f4af61bc8) +QObject (0x0x7b9f4073ecc0) 0 + primary-for QWidget (0x0x7b9f41b69d90) +QPaintDevice (0x0x7b9f4073ed80) 16 + vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 480) + +Vtable for QDesignerDnDItemInterface +QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QDesignerDnDItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerDnDItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerDnDItemInterface (0x0x7b9f407550c0) 0 nearly-empty + vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 16) + +Vtable for QAbstractFormBuilder +QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAbstractFormBuilder) +16 (int (*)(...))QAbstractFormBuilder::~QAbstractFormBuilder +24 (int (*)(...))QAbstractFormBuilder::~QAbstractFormBuilder +32 (int (*)(...))QAbstractFormBuilder::load +40 (int (*)(...))QAbstractFormBuilder::save +48 (int (*)(...))QAbstractFormBuilder::loadExtraInfo +56 (int (*)(...))QAbstractFormBuilder::create +64 (int (*)(...))QAbstractFormBuilder::create +72 (int (*)(...))QAbstractFormBuilder::create +80 (int (*)(...))QAbstractFormBuilder::create +88 (int (*)(...))QAbstractFormBuilder::create +96 (int (*)(...))QAbstractFormBuilder::create +104 (int (*)(...))QAbstractFormBuilder::addMenuAction +112 (int (*)(...))QAbstractFormBuilder::applyProperties +120 (int (*)(...))QAbstractFormBuilder::applyTabStops +128 (int (*)(...))QAbstractFormBuilder::createWidget +136 (int (*)(...))QAbstractFormBuilder::createLayout +144 (int (*)(...))QAbstractFormBuilder::createAction +152 (int (*)(...))QAbstractFormBuilder::createActionGroup +160 (int (*)(...))QAbstractFormBuilder::createCustomWidgets +168 (int (*)(...))QAbstractFormBuilder::createConnections +176 (int (*)(...))QAbstractFormBuilder::createResources +184 (int (*)(...))QAbstractFormBuilder::addItem +192 (int (*)(...))QAbstractFormBuilder::addItem +200 (int (*)(...))QAbstractFormBuilder::saveExtraInfo +208 (int (*)(...))QAbstractFormBuilder::saveDom +216 (int (*)(...))QAbstractFormBuilder::createActionRefDom +224 (int (*)(...))QAbstractFormBuilder::createDom +232 (int (*)(...))QAbstractFormBuilder::createDom +240 (int (*)(...))QAbstractFormBuilder::createDom +248 (int (*)(...))QAbstractFormBuilder::createDom +256 (int (*)(...))QAbstractFormBuilder::createDom +264 (int (*)(...))QAbstractFormBuilder::createDom +272 (int (*)(...))QAbstractFormBuilder::saveConnections +280 (int (*)(...))QAbstractFormBuilder::saveCustomWidgets +288 (int (*)(...))QAbstractFormBuilder::saveTabStops +296 (int (*)(...))QAbstractFormBuilder::saveResources +304 (int (*)(...))QAbstractFormBuilder::computeProperties +312 (int (*)(...))QAbstractFormBuilder::checkProperty +320 (int (*)(...))QAbstractFormBuilder::createProperty +328 (int (*)(...))QAbstractFormBuilder::layoutInfo + +Class QAbstractFormBuilder + size=16 align=8 + base size=16 base align=8 +QAbstractFormBuilder (0x0x7b9f40755180) 0 + vptr=((& QAbstractFormBuilder::_ZTV20QAbstractFormBuilder) + 16) + +Class QDesignerFormEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormEditorInterface::QPrivateSignal (0x0x7b9f40755c00) 0 empty + +Vtable for QDesignerFormEditorInterface +QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QDesignerFormEditorInterface) +16 (int (*)(...))QDesignerFormEditorInterface::metaObject +24 (int (*)(...))QDesignerFormEditorInterface::qt_metacast +32 (int (*)(...))QDesignerFormEditorInterface::qt_metacall +40 (int (*)(...))QDesignerFormEditorInterface::~QDesignerFormEditorInterface +48 (int (*)(...))QDesignerFormEditorInterface::~QDesignerFormEditorInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDesignerFormEditorInterface + size=24 align=8 + base size=24 base align=8 +QDesignerFormEditorInterface (0x0x7b9f4af61ea0) 0 + vptr=((& QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface) + 16) +QObject (0x0x7b9f40755b40) 0 + primary-for QDesignerFormEditorInterface (0x0x7b9f4af61ea0) + +Vtable for QDesignerFormEditorPluginInterface +QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerFormEditorPluginInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormEditorPluginInterface + size=8 align=8 + base size=8 base align=8 +QDesignerFormEditorPluginInterface (0x0x7b9f407d8900) 0 nearly-empty + vptr=((& QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface) + 16) + +Class QDesignerFormWindowInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowInterface::QPrivateSignal (0x0x7b9f40805420) 0 empty + +Vtable for QDesignerFormWindowInterface +QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 121 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface) +16 (int (*)(...))QDesignerFormWindowInterface::metaObject +24 (int (*)(...))QDesignerFormWindowInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))__cxa_pure_virtual +520 (int (*)(...))__cxa_pure_virtual +528 (int (*)(...))__cxa_pure_virtual +536 (int (*)(...))__cxa_pure_virtual +544 (int (*)(...))__cxa_pure_virtual +552 (int (*)(...))__cxa_pure_virtual +560 (int (*)(...))__cxa_pure_virtual +568 (int (*)(...))__cxa_pure_virtual +576 (int (*)(...))__cxa_pure_virtual +584 (int (*)(...))__cxa_pure_virtual +592 (int (*)(...))__cxa_pure_virtual +600 (int (*)(...))__cxa_pure_virtual +608 (int (*)(...))__cxa_pure_virtual +616 (int (*)(...))__cxa_pure_virtual +624 (int (*)(...))__cxa_pure_virtual +632 (int (*)(...))QDesignerFormWindowInterface::core +640 (int (*)(...))__cxa_pure_virtual +648 (int (*)(...))__cxa_pure_virtual +656 (int (*)(...))__cxa_pure_virtual +664 (int (*)(...))__cxa_pure_virtual +672 (int (*)(...))__cxa_pure_virtual +680 (int (*)(...))__cxa_pure_virtual +688 (int (*)(...))__cxa_pure_virtual +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))__cxa_pure_virtual +736 (int (*)(...))__cxa_pure_virtual +744 (int (*)(...))__cxa_pure_virtual +752 (int (*)(...))__cxa_pure_virtual +760 (int (*)(...))__cxa_pure_virtual +768 (int (*)(...))__cxa_pure_virtual +776 (int (*)(...))__cxa_pure_virtual +784 (int (*)(...))__cxa_pure_virtual +792 (int (*)(...))__cxa_pure_virtual +800 (int (*)(...))__cxa_pure_virtual +808 (int (*)(...))__cxa_pure_virtual +816 (int (*)(...))__cxa_pure_virtual +824 (int (*)(...))__cxa_pure_virtual +832 (int (*)(...))__cxa_pure_virtual +840 (int (*)(...))__cxa_pure_virtual +848 (int (*)(...))__cxa_pure_virtual +856 (int (*)(...))__cxa_pure_virtual +864 (int (*)(...))__cxa_pure_virtual +872 (int (*)(...))__cxa_pure_virtual +880 (int (*)(...))__cxa_pure_virtual +888 (int (*)(...))-16 +896 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface) +904 0 +912 0 +920 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +928 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +936 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +944 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +952 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +960 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerFormWindowInterface + size=40 align=8 + base size=40 base align=8 +QDesignerFormWindowInterface (0x0x7b9f4af5c3a8) 0 + vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 16) +QWidget (0x0x7b9f419a6b60) 0 + primary-for QDesignerFormWindowInterface (0x0x7b9f4af5c3a8) +QObject (0x0x7b9f40805120) 0 + primary-for QWidget (0x0x7b9f419a6b60) +QPaintDevice (0x0x7b9f408053c0) 16 + vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 904) + +Vtable for QDesignerFormWindowCursorInterface +QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerFormWindowCursorInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowCursorInterface + size=8 align=8 + base size=8 base align=8 +QDesignerFormWindowCursorInterface (0x0x7b9f40805b40) 0 nearly-empty + vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 16) + +Class QDesignerFormWindowManagerInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowManagerInterface::QPrivateSignal (0x0x7b9f40468060) 0 empty + +Vtable for QDesignerFormWindowManagerInterface +QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface: 29 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI35QDesignerFormWindowManagerInterface) +16 (int (*)(...))QDesignerFormWindowManagerInterface::metaObject +24 (int (*)(...))QDesignerFormWindowManagerInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowManagerInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowManagerInterface + size=16 align=8 + base size=16 base align=8 +QDesignerFormWindowManagerInterface (0x0x7b9f4af5c410) 0 + vptr=((& QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface) + 16) +QObject (0x0x7b9f40805c00) 0 + primary-for QDesignerFormWindowManagerInterface (0x0x7b9f4af5c410) + +Class QDesignerFormWindowToolInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowToolInterface::QPrivateSignal (0x0x7b9f4047ff60) 0 empty + +Vtable for QDesignerFormWindowToolInterface +QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerFormWindowToolInterface) +16 (int (*)(...))QDesignerFormWindowToolInterface::metaObject +24 (int (*)(...))QDesignerFormWindowToolInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowToolInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QDesignerFormWindowToolInterface::saveToDom +168 (int (*)(...))QDesignerFormWindowToolInterface::loadFromDom +176 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowToolInterface + size=16 align=8 + base size=16 base align=8 +QDesignerFormWindowToolInterface (0x0x7b9f4af5c6e8) 0 + vptr=((& QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface) + 16) +QObject (0x0x7b9f4047ff00) 0 + primary-for QDesignerFormWindowToolInterface (0x0x7b9f4af5c6e8) + +Class QDesignerIntegrationInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerIntegrationInterface::QPrivateSignal (0x0x7b9f405e11e0) 0 empty + +Vtable for QDesignerIntegrationInterface +QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerIntegrationInterface) +16 (int (*)(...))QDesignerIntegrationInterface::metaObject +24 (int (*)(...))QDesignerIntegrationInterface::qt_metacast +32 (int (*)(...))QDesignerIntegrationInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual + +Class QDesignerIntegrationInterface + size=24 align=8 + base size=24 base align=8 +QDesignerIntegrationInterface (0x0x7b9f4af5c750) 0 + vptr=((& QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface) + 16) +QObject (0x0x7b9f405e1180) 0 + primary-for QDesignerIntegrationInterface (0x0x7b9f4af5c750) + +Class QDesignerIntegration::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerIntegration::QPrivateSignal (0x0x7b9f405e18a0) 0 empty + +Vtable for QDesignerIntegration +QDesignerIntegration::_ZTV20QDesignerIntegration: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDesignerIntegration) +16 (int (*)(...))QDesignerIntegration::metaObject +24 (int (*)(...))QDesignerIntegration::qt_metacast +32 (int (*)(...))QDesignerIntegration::qt_metacall +40 (int (*)(...))QDesignerIntegration::~QDesignerIntegration +48 (int (*)(...))QDesignerIntegration::~QDesignerIntegration +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDesignerIntegration::containerWindow +120 (int (*)(...))QDesignerIntegration::createResourceBrowser +128 (int (*)(...))QDesignerIntegration::headerSuffix +136 (int (*)(...))QDesignerIntegration::setHeaderSuffix +144 (int (*)(...))QDesignerIntegration::isHeaderLowercase +152 (int (*)(...))QDesignerIntegration::setHeaderLowercase +160 (int (*)(...))QDesignerIntegration::features +168 (int (*)(...))QDesignerIntegration::resourceFileWatcherBehaviour +176 (int (*)(...))QDesignerIntegration::setResourceFileWatcherBehaviour +184 (int (*)(...))QDesignerIntegration::contextHelpId +192 (int (*)(...))QDesignerIntegration::setFeatures +200 (int (*)(...))QDesignerIntegration::updateProperty +208 (int (*)(...))QDesignerIntegration::updateProperty +216 (int (*)(...))QDesignerIntegration::resetProperty +224 (int (*)(...))QDesignerIntegration::addDynamicProperty +232 (int (*)(...))QDesignerIntegration::removeDynamicProperty +240 (int (*)(...))QDesignerIntegration::updateActiveFormWindow +248 (int (*)(...))QDesignerIntegration::setupFormWindow +256 (int (*)(...))QDesignerIntegration::updateSelection +264 (int (*)(...))QDesignerIntegration::updateCustomWidgetPlugins + +Class QDesignerIntegration + size=32 align=8 + base size=32 base align=8 +QDesignerIntegration (0x0x7b9f4af5ca90) 0 + vptr=((& QDesignerIntegration::_ZTV20QDesignerIntegration) + 16) +QDesignerIntegrationInterface (0x0x7b9f4af5caf8) 0 + primary-for QDesignerIntegration (0x0x7b9f4af5ca90) +QObject (0x0x7b9f405e1840) 0 + primary-for QDesignerIntegrationInterface (0x0x7b9f4af5caf8) + +Vtable for QAbstractExtensionFactory +QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAbstractExtensionFactory) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractExtensionFactory + size=8 align=8 + base size=8 base align=8 +QAbstractExtensionFactory (0x0x7b9f4033fde0) 0 nearly-empty + vptr=((& QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory) + 16) + +Vtable for QAbstractExtensionManager +QAbstractExtensionManager::_ZTV25QAbstractExtensionManager: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAbstractExtensionManager) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAbstractExtensionManager + size=8 align=8 + base size=8 base align=8 +QAbstractExtensionManager (0x0x7b9f40030240) 0 nearly-empty + vptr=((& QAbstractExtensionManager::_ZTV25QAbstractExtensionManager) + 16) + +Vtable for QDesignerLanguageExtension +QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerLanguageExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual + +Class QDesignerLanguageExtension + size=8 align=8 + base size=8 base align=8 +QDesignerLanguageExtension (0x0x7b9f4015c420) 0 nearly-empty + vptr=((& QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension) + 16) + +Vtable for QDesignerMetaDataBaseItemInterface +QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerMetaDataBaseItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMetaDataBaseItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerMetaDataBaseItemInterface (0x0x7b9f3fe36ae0) 0 nearly-empty + vptr=((& QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface) + 16) + +Class QDesignerMetaDataBaseInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerMetaDataBaseInterface::QPrivateSignal (0x0x7b9f3fe58300) 0 empty + +Vtable for QDesignerMetaDataBaseInterface +QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerMetaDataBaseInterface) +16 (int (*)(...))QDesignerMetaDataBaseInterface::metaObject +24 (int (*)(...))QDesignerMetaDataBaseInterface::qt_metacast +32 (int (*)(...))QDesignerMetaDataBaseInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMetaDataBaseInterface + size=16 align=8 + base size=16 base align=8 +QDesignerMetaDataBaseInterface (0x0x7b9f4b184820) 0 + vptr=((& QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface) + 16) +QObject (0x0x7b9f3fe36b40) 0 + primary-for QDesignerMetaDataBaseInterface (0x0x7b9f4b184820) + +Class QDesignerNewFormWidgetInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerNewFormWidgetInterface::QPrivateSignal (0x0x7b9f3ff04420) 0 empty + +Vtable for QDesignerNewFormWidgetInterface +QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerNewFormWidgetInterface) +16 (int (*)(...))QDesignerNewFormWidgetInterface::metaObject +24 (int (*)(...))QDesignerNewFormWidgetInterface::qt_metacast +32 (int (*)(...))QDesignerNewFormWidgetInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI31QDesignerNewFormWidgetInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerNewFormWidgetInterface + size=40 align=8 + base size=40 base align=8 +QDesignerNewFormWidgetInterface (0x0x7b9f4b184888) 0 + vptr=((& QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface) + 16) +QWidget (0x0x7b9f40e4bc40) 0 + primary-for QDesignerNewFormWidgetInterface (0x0x7b9f4b184888) +QObject (0x0x7b9f3ff042a0) 0 + primary-for QWidget (0x0x7b9f40e4bc40) +QPaintDevice (0x0x7b9f3ff04300) 16 + vptr=((& QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface) + 464) + +Class QDesignerObjectInspectorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerObjectInspectorInterface::QPrivateSignal (0x0x7b9f3ff24060) 0 empty + +Vtable for QDesignerObjectInspectorInterface +QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface) +16 (int (*)(...))QDesignerObjectInspectorInterface::metaObject +24 (int (*)(...))QDesignerObjectInspectorInterface::qt_metacast +32 (int (*)(...))QDesignerObjectInspectorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerObjectInspectorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerObjectInspectorInterface + size=40 align=8 + base size=40 base align=8 +QDesignerObjectInspectorInterface (0x0x7b9f4b1715b0) 0 + vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 16) +QWidget (0x0x7b9f40e4be00) 0 + primary-for QDesignerObjectInspectorInterface (0x0x7b9f4b1715b0) +QObject (0x0x7b9f3ff04a80) 0 + primary-for QWidget (0x0x7b9f40e4be00) +QPaintDevice (0x0x7b9f3ff04ae0) 16 + vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 464) + +Vtable for QDesignerOptionsPageInterface +QDesignerOptionsPageInterface::_ZTV29QDesignerOptionsPageInterface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerOptionsPageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QDesignerOptionsPageInterface + size=8 align=8 + base size=8 base align=8 +QDesignerOptionsPageInterface (0x0x7b9f3ff5d180) 0 nearly-empty + vptr=((& QDesignerOptionsPageInterface::_ZTV29QDesignerOptionsPageInterface) + 16) + +Class QDesignerPromotionInterface::PromotedClass + size=16 align=8 + base size=16 base align=8 +QDesignerPromotionInterface::PromotedClass (0x0x7b9f3ff5d2a0) 0 + +Vtable for QDesignerPromotionInterface +QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerPromotionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual + +Class QDesignerPromotionInterface + size=8 align=8 + base size=8 base align=8 +QDesignerPromotionInterface (0x0x7b9f3ff5d1e0) 0 nearly-empty + vptr=((& QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface) + 16) + +Class QDesignerPropertyEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerPropertyEditorInterface::QPrivateSignal (0x0x7b9f3ff5dc60) 0 empty + +Vtable for QDesignerPropertyEditorInterface +QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface) +16 (int (*)(...))QDesignerPropertyEditorInterface::metaObject +24 (int (*)(...))QDesignerPropertyEditorInterface::qt_metacast +32 (int (*)(...))QDesignerPropertyEditorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerPropertyEditorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface) +504 0 +512 0 +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerPropertyEditorInterface + size=40 align=8 + base size=40 base align=8 +QDesignerPropertyEditorInterface (0x0x7b9f4b171bc8) 0 + vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 16) +QWidget (0x0x7b9f40e4bee0) 0 + primary-for QDesignerPropertyEditorInterface (0x0x7b9f4b171bc8) +QObject (0x0x7b9f3ff5d780) 0 + primary-for QWidget (0x0x7b9f40e4bee0) +QPaintDevice (0x0x7b9f3ff5d7e0) 16 + vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 504) + +Class QDesignerResourceBrowserInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerResourceBrowserInterface::QPrivateSignal (0x0x7b9f3ff88960) 0 empty + +Vtable for QDesignerResourceBrowserInterface +QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface) +16 (int (*)(...))QDesignerResourceBrowserInterface::metaObject +24 (int (*)(...))QDesignerResourceBrowserInterface::qt_metacast +32 (int (*)(...))QDesignerResourceBrowserInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerResourceBrowserInterface + size=40 align=8 + base size=40 base align=8 +QDesignerResourceBrowserInterface (0x0x7b9f4b171c30) 0 + vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 16) +QWidget (0x0x7b9f40e54150) 0 + primary-for QDesignerResourceBrowserInterface (0x0x7b9f4b171c30) +QObject (0x0x7b9f3ff88180) 0 + primary-for QWidget (0x0x7b9f40e54150) +QPaintDevice (0x0x7b9f3ff881e0) 16 + vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 464) + +Vtable for QDesignerSettingsInterface +QDesignerSettingsInterface::_ZTV26QDesignerSettingsInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerSettingsInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerSettingsInterface + size=8 align=8 + base size=8 base align=8 +QDesignerSettingsInterface (0x0x7b9f3ffe40c0) 0 nearly-empty + vptr=((& QDesignerSettingsInterface::_ZTV26QDesignerSettingsInterface) + 16) + +Class QDesignerWidgetBoxInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetBoxInterface::QPrivateSignal (0x0x7b9f3ffe42a0) 0 empty + +Class QDesignerWidgetBoxInterface::Widget + size=8 align=8 + base size=8 base align=8 +QDesignerWidgetBoxInterface::Widget (0x0x7b9f3ffe48a0) 0 + +Class QDesignerWidgetBoxInterface::Category + size=56 align=8 + base size=56 base align=8 +QDesignerWidgetBoxInterface::Category (0x0x7b9f3ffe4e40) 0 + +Vtable for QDesignerWidgetBoxInterface +QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface: 77 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface) +16 (int (*)(...))QDesignerWidgetBoxInterface::metaObject +24 (int (*)(...))QDesignerWidgetBoxInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetBoxInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))__cxa_pure_virtual +520 (int (*)(...))__cxa_pure_virtual +528 (int (*)(...))__cxa_pure_virtual +536 (int (*)(...))-16 +544 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface) +552 0 +560 0 +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerWidgetBoxInterface + size=40 align=8 + base size=40 base align=8 +QDesignerWidgetBoxInterface (0x0x7b9f4b171d00) 0 + vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 16) +QWidget (0x0x7b9f40e54310) 0 + primary-for QDesignerWidgetBoxInterface (0x0x7b9f4b171d00) +QObject (0x0x7b9f3ffe4120) 0 + primary-for QWidget (0x0x7b9f40e54310) +QPaintDevice (0x0x7b9f3ffe4240) 16 + vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 552) + +Vtable for QDesignerWidgetDataBaseItemInterface +QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI36QDesignerWidgetDataBaseItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual + +Class QDesignerWidgetDataBaseItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerWidgetDataBaseItemInterface (0x0x7b9f3ef88d20) 0 nearly-empty + vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 16) + +Class QDesignerWidgetDataBaseInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetDataBaseInterface::QPrivateSignal (0x0x7b9f3ec755a0) 0 empty + +Vtable for QDesignerWidgetDataBaseInterface +QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerWidgetDataBaseInterface) +16 (int (*)(...))QDesignerWidgetDataBaseInterface::metaObject +24 (int (*)(...))QDesignerWidgetDataBaseInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetDataBaseInterface::qt_metacall +40 (int (*)(...))QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface +48 (int (*)(...))QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDesignerWidgetDataBaseInterface::count +120 (int (*)(...))QDesignerWidgetDataBaseInterface::item +128 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOf +136 (int (*)(...))QDesignerWidgetDataBaseInterface::insert +144 (int (*)(...))QDesignerWidgetDataBaseInterface::append +152 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOfObject +160 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOfClassName +168 (int (*)(...))QDesignerWidgetDataBaseInterface::core + +Class QDesignerWidgetDataBaseInterface + size=40 align=8 + base size=40 base align=8 +QDesignerWidgetDataBaseInterface (0x0x7b9f423f28f0) 0 + vptr=((& QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface) + 16) +QObject (0x0x7b9f3ec75540) 0 + primary-for QDesignerWidgetDataBaseInterface (0x0x7b9f423f28f0) + +Class QDesignerWidgetFactoryInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetFactoryInterface::QPrivateSignal (0x0x7b9f3edb1600) 0 empty + +Vtable for QDesignerWidgetFactoryInterface +QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface: 21 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerWidgetFactoryInterface) +16 (int (*)(...))QDesignerWidgetFactoryInterface::metaObject +24 (int (*)(...))QDesignerWidgetFactoryInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetFactoryInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual + +Class QDesignerWidgetFactoryInterface + size=16 align=8 + base size=16 base align=8 +QDesignerWidgetFactoryInterface (0x0x7b9f42434478) 0 + vptr=((& QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface) + 16) +QObject (0x0x7b9f3edb15a0) 0 + primary-for QDesignerWidgetFactoryInterface (0x0x7b9f42434478) + +Vtable for QDesignerContainerExtension +QDesignerContainerExtension::_ZTV27QDesignerContainerExtension: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerContainerExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual + +Class QDesignerContainerExtension + size=8 align=8 + base size=8 base align=8 +QDesignerContainerExtension (0x0x7b9f3ea893c0) 0 nearly-empty + vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 16) + +Vtable for QDesignerDynamicPropertySheetExtension +QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI38QDesignerDynamicPropertySheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QDesignerDynamicPropertySheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerDynamicPropertySheetExtension (0x0x7b9f3eb5ac60) 0 nearly-empty + vptr=((& QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension) + 16) + +Vtable for QDesignerExtraInfoExtension +QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerExtraInfoExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerExtraInfoExtension + size=32 align=8 + base size=32 base align=8 +QDesignerExtraInfoExtension (0x0x7b9f3ebc3c00) 0 + vptr=((& QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension) + 16) + +Vtable for QFormBuilder +QFormBuilder::_ZTV12QFormBuilder: 43 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QFormBuilder) +16 (int (*)(...))QFormBuilder::~QFormBuilder +24 (int (*)(...))QFormBuilder::~QFormBuilder +32 (int (*)(...))QAbstractFormBuilder::load +40 (int (*)(...))QAbstractFormBuilder::save +48 (int (*)(...))QAbstractFormBuilder::loadExtraInfo +56 (int (*)(...))QFormBuilder::create +64 (int (*)(...))QFormBuilder::create +72 (int (*)(...))QFormBuilder::create +80 (int (*)(...))QFormBuilder::create +88 (int (*)(...))QFormBuilder::create +96 (int (*)(...))QFormBuilder::create +104 (int (*)(...))QAbstractFormBuilder::addMenuAction +112 (int (*)(...))QFormBuilder::applyProperties +120 (int (*)(...))QAbstractFormBuilder::applyTabStops +128 (int (*)(...))QFormBuilder::createWidget +136 (int (*)(...))QFormBuilder::createLayout +144 (int (*)(...))QAbstractFormBuilder::createAction +152 (int (*)(...))QAbstractFormBuilder::createActionGroup +160 (int (*)(...))QAbstractFormBuilder::createCustomWidgets +168 (int (*)(...))QFormBuilder::createConnections +176 (int (*)(...))QAbstractFormBuilder::createResources +184 (int (*)(...))QFormBuilder::addItem +192 (int (*)(...))QFormBuilder::addItem +200 (int (*)(...))QAbstractFormBuilder::saveExtraInfo +208 (int (*)(...))QAbstractFormBuilder::saveDom +216 (int (*)(...))QAbstractFormBuilder::createActionRefDom +224 (int (*)(...))QAbstractFormBuilder::createDom +232 (int (*)(...))QAbstractFormBuilder::createDom +240 (int (*)(...))QAbstractFormBuilder::createDom +248 (int (*)(...))QAbstractFormBuilder::createDom +256 (int (*)(...))QAbstractFormBuilder::createDom +264 (int (*)(...))QAbstractFormBuilder::createDom +272 (int (*)(...))QAbstractFormBuilder::saveConnections +280 (int (*)(...))QAbstractFormBuilder::saveCustomWidgets +288 (int (*)(...))QAbstractFormBuilder::saveTabStops +296 (int (*)(...))QAbstractFormBuilder::saveResources +304 (int (*)(...))QAbstractFormBuilder::computeProperties +312 (int (*)(...))QAbstractFormBuilder::checkProperty +320 (int (*)(...))QAbstractFormBuilder::createProperty +328 (int (*)(...))QAbstractFormBuilder::layoutInfo +336 (int (*)(...))QFormBuilder::updateCustomWidgets + +Class QFormBuilder + size=16 align=8 + base size=16 base align=8 +QFormBuilder (0x0x7b9f4243e068) 0 + vptr=((& QFormBuilder::_ZTV12QFormBuilder) + 16) +QAbstractFormBuilder (0x0x7b9f3ebe1ae0) 0 + primary-for QFormBuilder (0x0x7b9f4243e068) + +Vtable for QDesignerLayoutDecorationExtension +QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerLayoutDecorationExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual + +Class QDesignerLayoutDecorationExtension + size=8 align=8 + base size=8 base align=8 +QDesignerLayoutDecorationExtension (0x0x7b9f3ebe1ba0) 0 nearly-empty + vptr=((& QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension) + 16) + +Vtable for QDesignerMemberSheetExtension +QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerMemberSheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMemberSheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerMemberSheetExtension (0x0x7b9f3e838a80) 0 nearly-empty + vptr=((& QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension) + 16) + +Vtable for QDesignerPropertySheetExtension +QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerPropertySheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual + +Class QDesignerPropertySheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerPropertySheetExtension (0x0x7b9f3e877ba0) 0 nearly-empty + vptr=((& QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension) + 16) + +Class QExtensionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QExtensionManager::QPrivateSignal (0x0x7b9f3e89d4e0) 0 empty + +Vtable for QExtensionManager +QExtensionManager::_ZTV17QExtensionManager: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QExtensionManager) +16 (int (*)(...))QExtensionManager::metaObject +24 (int (*)(...))QExtensionManager::qt_metacast +32 (int (*)(...))QExtensionManager::qt_metacall +40 (int (*)(...))QExtensionManager::~QExtensionManager +48 (int (*)(...))QExtensionManager::~QExtensionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QExtensionManager::registerExtensions +120 (int (*)(...))QExtensionManager::unregisterExtensions +128 (int (*)(...))QExtensionManager::extension +136 (int (*)(...))-16 +144 (int (*)(...))(& _ZTI17QExtensionManager) +152 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManagerD1Ev +160 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManagerD0Ev +168 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManager18registerExtensionsEP25QAbstractExtensionFactoryRK7QString +176 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManager20unregisterExtensionsEP25QAbstractExtensionFactoryRK7QString +184 (int (*)(...))QExtensionManager::_ZThn16_NK17QExtensionManager9extensionEP7QObjectRK7QString + +Class QExtensionManager + size=56 align=8 + base size=56 base align=8 +QExtensionManager (0x0x7b9f4062dcb0) 0 + vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 16) +QObject (0x0x7b9f3e89d360) 0 + primary-for QExtensionManager (0x0x7b9f4062dcb0) +QAbstractExtensionManager (0x0x7b9f3e89d420) 16 nearly-empty + vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 152) + +Vtable for QDesignerTaskMenuExtension +QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerTaskMenuExtension) +16 0 +24 0 +32 (int (*)(...))QDesignerTaskMenuExtension::preferredEditAction +40 (int (*)(...))__cxa_pure_virtual + +Class QDesignerTaskMenuExtension + size=8 align=8 + base size=8 base align=8 +QDesignerTaskMenuExtension (0x0x7b9f3e909840) 0 nearly-empty + vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 16) + +Vtable for QSqlDriverCreatorBase +QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QSqlDriverCreatorBase + size=8 align=8 + base size=8 base align=8 +QSqlDriverCreatorBase (0x0x7b9f3e99f900) 0 nearly-empty + vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16) + +Class QSqlDatabase + size=8 align=8 + base size=8 base align=8 +QSqlDatabase (0x0x7b9f3e9cba20) 0 + +Class QSqlDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlDriver::QPrivateSignal (0x0x7b9f3e9cbb40) 0 empty + +Vtable for QSqlDriver +QSqlDriver::_ZTV10QSqlDriver: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSqlDriver) +16 (int (*)(...))QSqlDriver::metaObject +24 (int (*)(...))QSqlDriver::qt_metacast +32 (int (*)(...))QSqlDriver::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSqlDriver::isOpen +120 (int (*)(...))QSqlDriver::beginTransaction +128 (int (*)(...))QSqlDriver::commitTransaction +136 (int (*)(...))QSqlDriver::rollbackTransaction +144 (int (*)(...))QSqlDriver::tables +152 (int (*)(...))QSqlDriver::primaryIndex +160 (int (*)(...))QSqlDriver::record +168 (int (*)(...))QSqlDriver::formatValue +176 (int (*)(...))QSqlDriver::escapeIdentifier +184 (int (*)(...))QSqlDriver::sqlStatement +192 (int (*)(...))QSqlDriver::handle +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))QSqlDriver::subscribeToNotification +240 (int (*)(...))QSqlDriver::unsubscribeFromNotification +248 (int (*)(...))QSqlDriver::subscribedToNotifications +256 (int (*)(...))QSqlDriver::isIdentifierEscaped +264 (int (*)(...))QSqlDriver::stripDelimiters +272 (int (*)(...))QSqlDriver::maximumIdentifierLength +280 (int (*)(...))QSqlDriver::cancelQuery +288 (int (*)(...))QSqlDriver::setOpen +296 (int (*)(...))QSqlDriver::setOpenError +304 (int (*)(...))QSqlDriver::setLastError + +Class QSqlDriver + size=16 align=8 + base size=16 base align=8 +QSqlDriver (0x0x7b9f424ab208) 0 + vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16) +QObject (0x0x7b9f3e9cbae0) 0 + primary-for QSqlDriver (0x0x7b9f424ab208) + +Class QSqlDriverPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlDriverPlugin::QPrivateSignal (0x0x7b9f3e9e72a0) 0 empty + +Vtable for QSqlDriverPlugin +QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QSqlDriverPlugin) +16 (int (*)(...))QSqlDriverPlugin::metaObject +24 (int (*)(...))QSqlDriverPlugin::qt_metacast +32 (int (*)(...))QSqlDriverPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSqlDriverPlugin + size=16 align=8 + base size=16 base align=8 +QSqlDriverPlugin (0x0x7b9f424ab4e0) 0 + vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16) +QObject (0x0x7b9f3e9e7000) 0 + primary-for QSqlDriverPlugin (0x0x7b9f424ab4e0) + +Class QSqlError + size=8 align=8 + base size=8 base align=8 +QSqlError (0x0x7b9f3e9e78a0) 0 + +Class QSqlField + size=40 align=8 + base size=40 base align=8 +QSqlField (0x0x7b9f3dfe9240) 0 + +Class QSqlRecord + size=8 align=8 + base size=8 base align=8 +QSqlRecord (0x0x7b9f3c78b0c0) 0 + +Class QSqlIndex + size=80 align=8 + base size=80 base align=8 +QSqlIndex (0x0x7b9f4076ca28) 0 +QSqlRecord (0x0x7b9f3ac72480) 0 + +Class QSqlQuery + size=8 align=8 + base size=8 base align=8 +QSqlQuery (0x0x7b9f3ba10900) 0 + +Class QSqlQueryModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlQueryModel::QPrivateSignal (0x0x7b9f3ba10cc0) 0 empty + +Vtable for QSqlQueryModel +QSqlQueryModel::_ZTV14QSqlQueryModel: 54 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSqlQueryModel) +16 (int (*)(...))QSqlQueryModel::metaObject +24 (int (*)(...))QSqlQueryModel::qt_metacast +32 (int (*)(...))QSqlQueryModel::qt_metacall +40 (int (*)(...))QSqlQueryModel::~QSqlQueryModel +48 (int (*)(...))QSqlQueryModel::~QSqlQueryModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlQueryModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlQueryModel::data +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QSqlQueryModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractTableModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QSqlQueryModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QSqlQueryModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QSqlQueryModel::fetchMore +320 (int (*)(...))QSqlQueryModel::canFetchMore +328 (int (*)(...))QAbstractTableModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QSqlQueryModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QSqlQueryModel::clear +416 (int (*)(...))QSqlQueryModel::queryChange +424 (int (*)(...))QSqlQueryModel::indexInQuery + +Class QSqlQueryModel + size=16 align=8 + base size=16 base align=8 +QSqlQueryModel (0x0x7b9f400026e8) 0 + vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16) +QAbstractTableModel (0x0x7b9f40002750) 0 + primary-for QSqlQueryModel (0x0x7b9f400026e8) +QAbstractItemModel (0x0x7b9f40002888) 0 + primary-for QAbstractTableModel (0x0x7b9f40002750) +QObject (0x0x7b9f3ba10c60) 0 + primary-for QAbstractItemModel (0x0x7b9f40002888) + +Class QSqlTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlTableModel::QPrivateSignal (0x0x7b9f3ba10ea0) 0 empty + +Vtable for QSqlTableModel +QSqlTableModel::_ZTV14QSqlTableModel: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSqlTableModel) +16 (int (*)(...))QSqlTableModel::metaObject +24 (int (*)(...))QSqlTableModel::qt_metacast +32 (int (*)(...))QSqlTableModel::qt_metacall +40 (int (*)(...))QSqlTableModel::~QSqlTableModel +48 (int (*)(...))QSqlTableModel::~QSqlTableModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlTableModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlTableModel::data +168 (int (*)(...))QSqlTableModel::setData +176 (int (*)(...))QSqlTableModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QSqlTableModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractTableModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QSqlTableModel::insertRows +272 (int (*)(...))QSqlQueryModel::insertColumns +280 (int (*)(...))QSqlTableModel::removeRows +288 (int (*)(...))QSqlTableModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QSqlQueryModel::fetchMore +320 (int (*)(...))QSqlQueryModel::canFetchMore +328 (int (*)(...))QSqlTableModel::flags +336 (int (*)(...))QSqlTableModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QSqlQueryModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QSqlTableModel::submit +392 (int (*)(...))QSqlTableModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QSqlTableModel::clear +416 (int (*)(...))QSqlQueryModel::queryChange +424 (int (*)(...))QSqlTableModel::indexInQuery +432 (int (*)(...))QSqlTableModel::setTable +440 (int (*)(...))QSqlTableModel::setEditStrategy +448 (int (*)(...))QSqlTableModel::setSort +456 (int (*)(...))QSqlTableModel::setFilter +464 (int (*)(...))QSqlTableModel::revertRow +472 (int (*)(...))QSqlTableModel::select +480 (int (*)(...))QSqlTableModel::selectRow +488 (int (*)(...))QSqlTableModel::updateRowInTable +496 (int (*)(...))QSqlTableModel::insertRowIntoTable +504 (int (*)(...))QSqlTableModel::deleteRowFromTable +512 (int (*)(...))QSqlTableModel::orderByClause +520 (int (*)(...))QSqlTableModel::selectStatement + +Class QSqlTableModel + size=16 align=8 + base size=16 base align=8 +QSqlTableModel (0x0x7b9f3fc989c0) 0 + vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16) +QSqlQueryModel (0x0x7b9f3fc98a28) 0 + primary-for QSqlTableModel (0x0x7b9f3fc989c0) +QAbstractTableModel (0x0x7b9f3fc98d00) 0 + primary-for QSqlQueryModel (0x0x7b9f3fc98a28) +QAbstractItemModel (0x0x7b9f3fcad000) 0 + primary-for QAbstractTableModel (0x0x7b9f3fc98d00) +QObject (0x0x7b9f3ba10e40) 0 + primary-for QAbstractItemModel (0x0x7b9f3fcad000) + +Class QSqlRelation + size=72 align=8 + base size=72 base align=8 +QSqlRelation (0x0x7b9f3b8f3060) 0 + +Class QSqlRelationalTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlRelationalTableModel::QPrivateSignal (0x0x7b9f3b3ae360) 0 empty + +Vtable for QSqlRelationalTableModel +QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel) +16 (int (*)(...))QSqlRelationalTableModel::metaObject +24 (int (*)(...))QSqlRelationalTableModel::qt_metacast +32 (int (*)(...))QSqlRelationalTableModel::qt_metacall +40 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel +48 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlTableModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlRelationalTableModel::data +168 (int (*)(...))QSqlRelationalTableModel::setData +176 (int (*)(...))QSqlTableModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QSqlTableModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractTableModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QSqlTableModel::insertRows +272 (int (*)(...))QSqlQueryModel::insertColumns +280 (int (*)(...))QSqlTableModel::removeRows +288 (int (*)(...))QSqlRelationalTableModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QSqlQueryModel::fetchMore +320 (int (*)(...))QSqlQueryModel::canFetchMore +328 (int (*)(...))QSqlTableModel::flags +336 (int (*)(...))QSqlTableModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QSqlQueryModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QSqlTableModel::submit +392 (int (*)(...))QSqlTableModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData +408 (int (*)(...))QSqlRelationalTableModel::clear +416 (int (*)(...))QSqlQueryModel::queryChange +424 (int (*)(...))QSqlTableModel::indexInQuery +432 (int (*)(...))QSqlRelationalTableModel::setTable +440 (int (*)(...))QSqlTableModel::setEditStrategy +448 (int (*)(...))QSqlTableModel::setSort +456 (int (*)(...))QSqlTableModel::setFilter +464 (int (*)(...))QSqlRelationalTableModel::revertRow +472 (int (*)(...))QSqlRelationalTableModel::select +480 (int (*)(...))QSqlTableModel::selectRow +488 (int (*)(...))QSqlRelationalTableModel::updateRowInTable +496 (int (*)(...))QSqlRelationalTableModel::insertRowIntoTable +504 (int (*)(...))QSqlTableModel::deleteRowFromTable +512 (int (*)(...))QSqlRelationalTableModel::orderByClause +520 (int (*)(...))QSqlRelationalTableModel::selectStatement +528 (int (*)(...))QSqlRelationalTableModel::setRelation +536 (int (*)(...))QSqlRelationalTableModel::relationModel + +Class QSqlRelationalTableModel + size=16 align=8 + base size=16 base align=8 +QSqlRelationalTableModel (0x0x7b9f3f310a28) 0 + vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16) +QSqlTableModel (0x0x7b9f3f310a90) 0 + primary-for QSqlRelationalTableModel (0x0x7b9f3f310a28) +QSqlQueryModel (0x0x7b9f3f310bc8) 0 + primary-for QSqlTableModel (0x0x7b9f3f310a90) +QAbstractTableModel (0x0x7b9f3f3bfc30) 0 + primary-for QSqlQueryModel (0x0x7b9f3f310bc8) +QAbstractItemModel (0x0x7b9f3f3bfc98) 0 + primary-for QAbstractTableModel (0x0x7b9f3f3bfc30) +QObject (0x0x7b9f3b3ae300) 0 + primary-for QAbstractItemModel (0x0x7b9f3f3bfc98) + +Vtable for QSqlResult +QSqlResult::_ZTV10QSqlResult: 33 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSqlResult) +16 0 +24 0 +32 (int (*)(...))QSqlResult::handle +40 (int (*)(...))QSqlResult::setAt +48 (int (*)(...))QSqlResult::setActive +56 (int (*)(...))QSqlResult::setLastError +64 (int (*)(...))QSqlResult::setQuery +72 (int (*)(...))QSqlResult::setSelect +80 (int (*)(...))QSqlResult::setForwardOnly +88 (int (*)(...))QSqlResult::exec +96 (int (*)(...))QSqlResult::prepare +104 (int (*)(...))QSqlResult::savePrepare +112 (int (*)(...))QSqlResult::bindValue +120 (int (*)(...))QSqlResult::bindValue +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QSqlResult::fetchNext +168 (int (*)(...))QSqlResult::fetchPrevious +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QSqlResult::record +216 (int (*)(...))QSqlResult::lastInsertId +224 (int (*)(...))QSqlResult::virtual_hook +232 (int (*)(...))QSqlResult::execBatch +240 (int (*)(...))QSqlResult::detachFromResultSet +248 (int (*)(...))QSqlResult::setNumericalPrecisionPolicy +256 (int (*)(...))QSqlResult::nextResult + +Class QSqlResult + size=16 align=8 + base size=16 base align=8 +QSqlResult (0x0x7b9f3b3ae4e0) 0 + vptr=((& QSqlResult::_ZTV10QSqlResult) + 16) + +Class QHelpGlobal + size=1 align=1 + base size=0 base align=1 +QHelpGlobal (0x0x7b9f3b3ae600) 0 empty + +Class QCompressedHelpInfo + size=8 align=8 + base size=8 base align=8 +QCompressedHelpInfo (0x0x7b9f3b3ae660) 0 + +Class QHelpContentItem + size=8 align=8 + base size=8 base align=8 +QHelpContentItem (0x0x7b9f3b3ae780) 0 + +Class QHelpContentModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpContentModel::QPrivateSignal (0x0x7b9f3b3ae840) 0 empty + +Vtable for QHelpContentModel +QHelpContentModel::_ZTV17QHelpContentModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpContentModel) +16 (int (*)(...))QHelpContentModel::metaObject +24 (int (*)(...))QHelpContentModel::qt_metacast +32 (int (*)(...))QHelpContentModel::qt_metacall +40 (int (*)(...))QHelpContentModel::~QHelpContentModel +48 (int (*)(...))QHelpContentModel::~QHelpContentModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHelpContentModel::index +120 (int (*)(...))QHelpContentModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QHelpContentModel::rowCount +144 (int (*)(...))QHelpContentModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QHelpContentModel::data +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractItemModel::dropMimeData +248 (int (*)(...))QAbstractItemModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QAbstractItemModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QAbstractItemModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QAbstractItemModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QAbstractItemModel::flags +336 (int (*)(...))QAbstractItemModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QHelpContentModel + size=24 align=8 + base size=24 base align=8 +QHelpContentModel (0x0x7b9f3f3bff70) 0 + vptr=((& QHelpContentModel::_ZTV17QHelpContentModel) + 16) +QAbstractItemModel (0x0x7b9f3f3eb270) 0 + primary-for QHelpContentModel (0x0x7b9f3f3bff70) +QObject (0x0x7b9f3b3ae7e0) 0 + primary-for QAbstractItemModel (0x0x7b9f3f3eb270) + +Class QHelpContentWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpContentWidget::QPrivateSignal (0x0x7b9f3b3ae9c0) 0 empty + +Vtable for QHelpContentWidget +QHelpContentWidget::_ZTV18QHelpContentWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QHelpContentWidget) +16 (int (*)(...))QHelpContentWidget::metaObject +24 (int (*)(...))QHelpContentWidget::qt_metacast +32 (int (*)(...))QHelpContentWidget::qt_metacall +40 (int (*)(...))QHelpContentWidget::~QHelpContentWidget +48 (int (*)(...))QHelpContentWidget::~QHelpContentWidget +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTreeView::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QTreeView::viewportEvent +456 (int (*)(...))QTreeView::scrollContentsBy +464 (int (*)(...))QTreeView::viewportSizeHint +472 (int (*)(...))QTreeView::setModel +480 (int (*)(...))QTreeView::setSelectionModel +488 (int (*)(...))QTreeView::keyboardSearch +496 (int (*)(...))QTreeView::visualRect +504 (int (*)(...))QTreeView::scrollTo +512 (int (*)(...))QTreeView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QTreeView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QTreeView::reset +552 (int (*)(...))QTreeView::setRootIndex +560 (int (*)(...))QTreeView::doItemsLayout +568 (int (*)(...))QTreeView::selectAll +576 (int (*)(...))QTreeView::dataChanged +584 (int (*)(...))QTreeView::rowsInserted +592 (int (*)(...))QTreeView::rowsAboutToBeRemoved +600 (int (*)(...))QTreeView::selectionChanged +608 (int (*)(...))QTreeView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QTreeView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QTreeView::horizontalScrollbarAction +656 (int (*)(...))QTreeView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QTreeView::moveCursor +704 (int (*)(...))QTreeView::horizontalOffset +712 (int (*)(...))QTreeView::verticalOffset +720 (int (*)(...))QTreeView::isIndexHidden +728 (int (*)(...))QTreeView::setSelection +736 (int (*)(...))QTreeView::visualRegionForSelection +744 (int (*)(...))QTreeView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QAbstractItemView::startDrag +776 (int (*)(...))QAbstractItemView::initViewItemOption +784 (int (*)(...))QTreeView::drawRow +792 (int (*)(...))QTreeView::drawBranches +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI18QHelpContentWidget) +816 (int (*)(...))QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD1Ev +824 (int (*)(...))QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpContentWidget + size=64 align=8 + base size=64 base align=8 +QHelpContentWidget (0x0x7b9f3f3eb2d8) 0 + vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 16) +QTreeView (0x0x7b9f3f407138) 0 + primary-for QHelpContentWidget (0x0x7b9f3f3eb2d8) +QAbstractItemView (0x0x7b9f3f4071a0) 0 + primary-for QTreeView (0x0x7b9f3f407138) +QAbstractScrollArea (0x0x7b9f3f4072d8) 0 + primary-for QAbstractItemView (0x0x7b9f3f4071a0) +QFrame (0x0x7b9f3f407958) 0 + primary-for QAbstractScrollArea (0x0x7b9f3f4072d8) +QWidget (0x0x7b9f3eba8a80) 0 + primary-for QFrame (0x0x7b9f3f407958) +QObject (0x0x7b9f3b3ae900) 0 + primary-for QWidget (0x0x7b9f3eba8a80) +QPaintDevice (0x0x7b9f3b3ae960) 16 + vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 816) + +Class QHelpEngineCore::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpEngineCore::QPrivateSignal (0x0x7b9f3b3aeae0) 0 empty + +Vtable for QHelpEngineCore +QHelpEngineCore::_ZTV15QHelpEngineCore: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QHelpEngineCore) +16 (int (*)(...))QHelpEngineCore::metaObject +24 (int (*)(...))QHelpEngineCore::qt_metacast +32 (int (*)(...))QHelpEngineCore::qt_metacall +40 (int (*)(...))QHelpEngineCore::~QHelpEngineCore +48 (int (*)(...))QHelpEngineCore::~QHelpEngineCore +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpEngineCore + size=24 align=8 + base size=24 base align=8 +QHelpEngineCore (0x0x7b9f3f407a90) 0 + vptr=((& QHelpEngineCore::_ZTV15QHelpEngineCore) + 16) +QObject (0x0x7b9f3b3aea80) 0 + primary-for QHelpEngineCore (0x0x7b9f3f407a90) + +Class QHelpEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpEngine::QPrivateSignal (0x0x7b9f3b3aec00) 0 empty + +Vtable for QHelpEngine +QHelpEngine::_ZTV11QHelpEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHelpEngine) +16 (int (*)(...))QHelpEngine::metaObject +24 (int (*)(...))QHelpEngine::qt_metacast +32 (int (*)(...))QHelpEngine::qt_metacall +40 (int (*)(...))QHelpEngine::~QHelpEngine +48 (int (*)(...))QHelpEngine::~QHelpEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpEngine + size=32 align=8 + base size=32 base align=8 +QHelpEngine (0x0x7b9f3f407af8) 0 + vptr=((& QHelpEngine::_ZTV11QHelpEngine) + 16) +QHelpEngineCore (0x0x7b9f3f08a7b8) 0 + primary-for QHelpEngine (0x0x7b9f3f407af8) +QObject (0x0x7b9f3b3aeba0) 0 + primary-for QHelpEngineCore (0x0x7b9f3f08a7b8) + +Class QHelpFilterData + size=8 align=8 + base size=8 base align=8 +QHelpFilterData (0x0x7b9f3b3aecc0) 0 + +Class QHelpFilterEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpFilterEngine::QPrivateSignal (0x0x7b9f3b3aee40) 0 empty + +Vtable for QHelpFilterEngine +QHelpFilterEngine::_ZTV17QHelpFilterEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpFilterEngine) +16 (int (*)(...))QHelpFilterEngine::metaObject +24 (int (*)(...))QHelpFilterEngine::qt_metacast +32 (int (*)(...))QHelpFilterEngine::qt_metacall +40 (int (*)(...))QHelpFilterEngine::~QHelpFilterEngine +48 (int (*)(...))QHelpFilterEngine::~QHelpFilterEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpFilterEngine + size=24 align=8 + base size=24 base align=8 +QHelpFilterEngine (0x0x7b9f3f08a820) 0 + vptr=((& QHelpFilterEngine::_ZTV17QHelpFilterEngine) + 16) +QObject (0x0x7b9f3b3aede0) 0 + primary-for QHelpFilterEngine (0x0x7b9f3f08a820) + +Class QHelpFilterSettingsWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpFilterSettingsWidget::QPrivateSignal (0x0x7b9f3a410000) 0 empty + +Vtable for QHelpFilterSettingsWidget +QHelpFilterSettingsWidget::_ZTV25QHelpFilterSettingsWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QHelpFilterSettingsWidget) +16 (int (*)(...))QHelpFilterSettingsWidget::metaObject +24 (int (*)(...))QHelpFilterSettingsWidget::qt_metacast +32 (int (*)(...))QHelpFilterSettingsWidget::qt_metacall +40 (int (*)(...))QHelpFilterSettingsWidget::~QHelpFilterSettingsWidget +48 (int (*)(...))QHelpFilterSettingsWidget::~QHelpFilterSettingsWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI25QHelpFilterSettingsWidget) +448 (int (*)(...))QHelpFilterSettingsWidget::_ZThn16_N25QHelpFilterSettingsWidgetD1Ev +456 (int (*)(...))QHelpFilterSettingsWidget::_ZThn16_N25QHelpFilterSettingsWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpFilterSettingsWidget + size=48 align=8 + base size=48 base align=8 +QHelpFilterSettingsWidget (0x0x7b9f3f08a958) 0 + vptr=((& QHelpFilterSettingsWidget::_ZTV25QHelpFilterSettingsWidget) + 16) +QWidget (0x0x7b9f3e830620) 0 + primary-for QHelpFilterSettingsWidget (0x0x7b9f3f08a958) +QObject (0x0x7b9f3b3aef00) 0 + primary-for QWidget (0x0x7b9f3e830620) +QPaintDevice (0x0x7b9f3b3aef60) 16 + vptr=((& QHelpFilterSettingsWidget::_ZTV25QHelpFilterSettingsWidget) + 448) + +Class QHelpIndexModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpIndexModel::QPrivateSignal (0x0x7b9f3a4102a0) 0 empty + +Vtable for QHelpIndexModel +QHelpIndexModel::_ZTV15QHelpIndexModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QHelpIndexModel) +16 (int (*)(...))QHelpIndexModel::metaObject +24 (int (*)(...))QHelpIndexModel::qt_metacast +32 (int (*)(...))QHelpIndexModel::qt_metacall +40 (int (*)(...))QHelpIndexModel::~QHelpIndexModel +48 (int (*)(...))QHelpIndexModel::~QHelpIndexModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QStringListModel::clearItemData +216 (int (*)(...))QAbstractItemModel::mimeTypes +224 (int (*)(...))QAbstractItemModel::mimeData +232 (int (*)(...))QAbstractItemModel::canDropMimeData +240 (int (*)(...))QAbstractListModel::dropMimeData +248 (int (*)(...))QStringListModel::supportedDropActions +256 (int (*)(...))QAbstractItemModel::supportedDragActions +264 (int (*)(...))QStringListModel::insertRows +272 (int (*)(...))QAbstractItemModel::insertColumns +280 (int (*)(...))QStringListModel::removeRows +288 (int (*)(...))QAbstractItemModel::removeColumns +296 (int (*)(...))QStringListModel::moveRows +304 (int (*)(...))QAbstractItemModel::moveColumns +312 (int (*)(...))QAbstractItemModel::fetchMore +320 (int (*)(...))QAbstractItemModel::canFetchMore +328 (int (*)(...))QStringListModel::flags +336 (int (*)(...))QStringListModel::sort +344 (int (*)(...))QAbstractItemModel::buddy +352 (int (*)(...))QAbstractItemModel::match +360 (int (*)(...))QAbstractItemModel::span +368 (int (*)(...))QAbstractItemModel::roleNames +376 (int (*)(...))QAbstractItemModel::multiData +384 (int (*)(...))QAbstractItemModel::submit +392 (int (*)(...))QAbstractItemModel::revert +400 (int (*)(...))QAbstractItemModel::resetInternalData + +Class QHelpIndexModel + size=48 align=8 + base size=48 base align=8 +QHelpIndexModel (0x0x7b9f3f0a0000) 0 + vptr=((& QHelpIndexModel::_ZTV15QHelpIndexModel) + 16) +QStringListModel (0x0x7b9f3f0a0208) 0 + primary-for QHelpIndexModel (0x0x7b9f3f0a0000) +QAbstractListModel (0x0x7b9f3f0a0270) 0 + primary-for QStringListModel (0x0x7b9f3f0a0208) +QAbstractItemModel (0x0x7b9f3f0a0f08) 0 + primary-for QAbstractListModel (0x0x7b9f3f0a0270) +QObject (0x0x7b9f3a410240) 0 + primary-for QAbstractItemModel (0x0x7b9f3f0a0f08) + +Class QHelpIndexWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpIndexWidget::QPrivateSignal (0x0x7b9f3a410420) 0 empty + +Vtable for QHelpIndexWidget +QHelpIndexWidget::_ZTV16QHelpIndexWidget: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QHelpIndexWidget) +16 (int (*)(...))QHelpIndexWidget::metaObject +24 (int (*)(...))QHelpIndexWidget::qt_metacast +32 (int (*)(...))QHelpIndexWidget::qt_metacall +40 (int (*)(...))QHelpIndexWidget::~QHelpIndexWidget +48 (int (*)(...))QHelpIndexWidget::~QHelpIndexWidget +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QFrame::initStyleOption +440 (int (*)(...))QAbstractScrollArea::setupViewport +448 (int (*)(...))QAbstractItemView::viewportEvent +456 (int (*)(...))QListView::scrollContentsBy +464 (int (*)(...))QListView::viewportSizeHint +472 (int (*)(...))QAbstractItemView::setModel +480 (int (*)(...))QAbstractItemView::setSelectionModel +488 (int (*)(...))QAbstractItemView::keyboardSearch +496 (int (*)(...))QListView::visualRect +504 (int (*)(...))QListView::scrollTo +512 (int (*)(...))QListView::indexAt +520 (int (*)(...))QAbstractItemView::sizeHintForRow +528 (int (*)(...))QAbstractItemView::sizeHintForColumn +536 (int (*)(...))QAbstractItemView::itemDelegateForIndex +544 (int (*)(...))QListView::reset +552 (int (*)(...))QListView::setRootIndex +560 (int (*)(...))QListView::doItemsLayout +568 (int (*)(...))QAbstractItemView::selectAll +576 (int (*)(...))QListView::dataChanged +584 (int (*)(...))QListView::rowsInserted +592 (int (*)(...))QListView::rowsAboutToBeRemoved +600 (int (*)(...))QListView::selectionChanged +608 (int (*)(...))QListView::currentChanged +616 (int (*)(...))QAbstractItemView::updateEditorData +624 (int (*)(...))QAbstractItemView::updateEditorGeometries +632 (int (*)(...))QListView::updateGeometries +640 (int (*)(...))QAbstractItemView::verticalScrollbarAction +648 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +656 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +664 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +672 (int (*)(...))QAbstractItemView::closeEditor +680 (int (*)(...))QAbstractItemView::commitData +688 (int (*)(...))QAbstractItemView::editorDestroyed +696 (int (*)(...))QListView::moveCursor +704 (int (*)(...))QListView::horizontalOffset +712 (int (*)(...))QListView::verticalOffset +720 (int (*)(...))QListView::isIndexHidden +728 (int (*)(...))QListView::setSelection +736 (int (*)(...))QListView::visualRegionForSelection +744 (int (*)(...))QListView::selectedIndexes +752 (int (*)(...))QAbstractItemView::edit +760 (int (*)(...))QAbstractItemView::selectionCommand +768 (int (*)(...))QListView::startDrag +776 (int (*)(...))QListView::initViewItemOption +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI16QHelpIndexWidget) +800 (int (*)(...))QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD1Ev +808 (int (*)(...))QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpIndexWidget + size=40 align=8 + base size=40 base align=8 +QHelpIndexWidget (0x0x7b9f3f0a0f70) 0 + vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 16) +QListView (0x0x7b9f3f150000) 0 + primary-for QHelpIndexWidget (0x0x7b9f3f0a0f70) +QAbstractItemView (0x0x7b9f3f150068) 0 + primary-for QListView (0x0x7b9f3f150000) +QAbstractScrollArea (0x0x7b9f3f1501a0) 0 + primary-for QAbstractItemView (0x0x7b9f3f150068) +QFrame (0x0x7b9f3f150820) 0 + primary-for QAbstractScrollArea (0x0x7b9f3f1501a0) +QWidget (0x0x7b9f3e830230) 0 + primary-for QFrame (0x0x7b9f3f150820) +QObject (0x0x7b9f3a410360) 0 + primary-for QWidget (0x0x7b9f3e830230) +QPaintDevice (0x0x7b9f3a4103c0) 16 + vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 800) + +Class QHelpLink + size=32 align=8 + base size=32 base align=8 +QHelpLink (0x0x7b9f3a4104e0) 0 + +Class QHelpSearchQuery + size=32 align=8 + base size=32 base align=8 +QHelpSearchQuery (0x0x7b9f3a410540) 0 + +Class QHelpSearchResult + size=8 align=8 + base size=8 base align=8 +QHelpSearchResult (0x0x7b9f3a410a20) 0 + +Class QHelpSearchEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchEngine::QPrivateSignal (0x0x7b9f3a410b40) 0 empty + +Vtable for QHelpSearchEngine +QHelpSearchEngine::_ZTV17QHelpSearchEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpSearchEngine) +16 (int (*)(...))QHelpSearchEngine::metaObject +24 (int (*)(...))QHelpSearchEngine::qt_metacast +32 (int (*)(...))QHelpSearchEngine::qt_metacall +40 (int (*)(...))QHelpSearchEngine::~QHelpSearchEngine +48 (int (*)(...))QHelpSearchEngine::~QHelpSearchEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpSearchEngine + size=24 align=8 + base size=24 base align=8 +QHelpSearchEngine (0x0x7b9f3ee1ad68) 0 + vptr=((& QHelpSearchEngine::_ZTV17QHelpSearchEngine) + 16) +QObject (0x0x7b9f3a410ae0) 0 + primary-for QHelpSearchEngine (0x0x7b9f3ee1ad68) + +Class QHelpSearchQueryWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchQueryWidget::QPrivateSignal (0x0x7b9f3a410cc0) 0 empty + +Vtable for QHelpSearchQueryWidget +QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget) +16 (int (*)(...))QHelpSearchQueryWidget::metaObject +24 (int (*)(...))QHelpSearchQueryWidget::qt_metacast +32 (int (*)(...))QHelpSearchQueryWidget::qt_metacall +40 (int (*)(...))QHelpSearchQueryWidget::~QHelpSearchQueryWidget +48 (int (*)(...))QHelpSearchQueryWidget::~QHelpSearchQueryWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QHelpSearchQueryWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QHelpSearchQueryWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget) +448 (int (*)(...))QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD1Ev +456 (int (*)(...))QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpSearchQueryWidget + size=48 align=8 + base size=48 base align=8 +QHelpSearchQueryWidget (0x0x7b9f3ee1add0) 0 + vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 16) +QWidget (0x0x7b9f3e8e80e0) 0 + primary-for QHelpSearchQueryWidget (0x0x7b9f3ee1add0) +QObject (0x0x7b9f3a410c00) 0 + primary-for QWidget (0x0x7b9f3e8e80e0) +QPaintDevice (0x0x7b9f3a410c60) 16 + vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 448) + +Class QHelpSearchResultWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchResultWidget::QPrivateSignal (0x0x7b9f3a410e40) 0 empty + +Vtable for QHelpSearchResultWidget +QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QHelpSearchResultWidget) +16 (int (*)(...))QHelpSearchResultWidget::metaObject +24 (int (*)(...))QHelpSearchResultWidget::qt_metacast +32 (int (*)(...))QHelpSearchResultWidget::qt_metacall +40 (int (*)(...))QHelpSearchResultWidget::~QHelpSearchResultWidget +48 (int (*)(...))QHelpSearchResultWidget::~QHelpSearchResultWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QHelpSearchResultWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI23QHelpSearchResultWidget) +448 (int (*)(...))QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD1Ev +456 (int (*)(...))QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpSearchResultWidget + size=48 align=8 + base size=48 base align=8 +QHelpSearchResultWidget (0x0x7b9f3ee3c3a8) 0 + vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 16) +QWidget (0x0x7b9f3e8e81c0) 0 + primary-for QHelpSearchResultWidget (0x0x7b9f3ee3c3a8) +QObject (0x0x7b9f3a410d80) 0 + primary-for QWidget (0x0x7b9f3e8e81c0) +QPaintDevice (0x0x7b9f3a410de0) 16 + vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 448) + +Class QNetworkRequest + size=8 align=8 + base size=8 base align=8 +QNetworkRequest (0x0x7b9f3a410f00) 0 + +Class QNetworkCacheMetaData + size=8 align=8 + base size=8 base align=8 +QNetworkCacheMetaData (0x0x7b9f41b7c960) 0 + +Class QAbstractNetworkCache::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractNetworkCache::QPrivateSignal (0x0x7b9f3d651720) 0 empty + +Vtable for QAbstractNetworkCache +QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractNetworkCache) +16 (int (*)(...))QAbstractNetworkCache::metaObject +24 (int (*)(...))QAbstractNetworkCache::qt_metacast +32 (int (*)(...))QAbstractNetworkCache::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNetworkCache + size=16 align=8 + base size=16 base align=8 +QAbstractNetworkCache (0x0x7b9f3d210b60) 0 + vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16) +QObject (0x0x7b9f3d6516c0) 0 + primary-for QAbstractNetworkCache (0x0x7b9f3d210b60) + +Class QAbstractSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSocket::QPrivateSignal (0x0x7b9f3d651960) 0 empty + +Vtable for QAbstractSocket +QAbstractSocket::_ZTV15QAbstractSocket: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSocket) +16 (int (*)(...))QAbstractSocket::metaObject +24 (int (*)(...))QAbstractSocket::qt_metacast +32 (int (*)(...))QAbstractSocket::qt_metacall +40 (int (*)(...))QAbstractSocket::~QAbstractSocket +48 (int (*)(...))QAbstractSocket::~QAbstractSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::skipData +240 (int (*)(...))QAbstractSocket::writeData +248 (int (*)(...))QAbstractSocket::resume +256 (int (*)(...))QAbstractSocket::bind +264 (int (*)(...))QAbstractSocket::connectToHost +272 (int (*)(...))QAbstractSocket::disconnectFromHost +280 (int (*)(...))QAbstractSocket::setReadBufferSize +288 (int (*)(...))QAbstractSocket::socketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketDescriptor +304 (int (*)(...))QAbstractSocket::setSocketOption +312 (int (*)(...))QAbstractSocket::socketOption +320 (int (*)(...))QAbstractSocket::waitForConnected +328 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QAbstractSocket + size=16 align=8 + base size=16 base align=8 +QAbstractSocket (0x0x7b9f3d210bc8) 0 + vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16) +QIODevice (0x0x7b9f3d183c40) 0 + primary-for QAbstractSocket (0x0x7b9f3d210bc8) +QObject (0x0x7b9f3d6518a0) 0 + primary-for QIODevice (0x0x7b9f3d183c40) +QIODeviceBase (0x0x7b9f3d651900) 0 empty + +Class QAuthenticator + size=8 align=8 + base size=8 base align=8 +QAuthenticator (0x0x7b9f3d6fb3c0) 0 + +Class QDnsDomainNameRecord + size=8 align=8 + base size=8 base align=8 +QDnsDomainNameRecord (0x0x7b9f3d6fb480) 0 + +Class QDnsHostAddressRecord + size=8 align=8 + base size=8 base align=8 +QDnsHostAddressRecord (0x0x7b9f3d72a180) 0 + +Class QDnsMailExchangeRecord + size=8 align=8 + base size=8 base align=8 +QDnsMailExchangeRecord (0x0x7b9f3d74ae40) 0 + +Class QDnsServiceRecord + size=8 align=8 + base size=8 base align=8 +QDnsServiceRecord (0x0x7b9f3d77db40) 0 + +Class QDnsTextRecord + size=8 align=8 + base size=8 base align=8 +QDnsTextRecord (0x0x7b9f3d7afde0) 0 + +Class QDnsLookup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDnsLookup::QPrivateSignal (0x0x7b9f3d7e9300) 0 empty + +Vtable for QDnsLookup +QDnsLookup::_ZTV10QDnsLookup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDnsLookup) +16 (int (*)(...))QDnsLookup::metaObject +24 (int (*)(...))QDnsLookup::qt_metacast +32 (int (*)(...))QDnsLookup::qt_metacall +40 (int (*)(...))QDnsLookup::~QDnsLookup +48 (int (*)(...))QDnsLookup::~QDnsLookup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDnsLookup + size=16 align=8 + base size=16 base align=8 +QDnsLookup (0x0x7b9f3d7e4f70) 0 + vptr=((& QDnsLookup::_ZTV10QDnsLookup) + 16) +QObject (0x0x7b9f3d7e92a0) 0 + primary-for QDnsLookup (0x0x7b9f3d7e4f70) + +Class QIPv6Address + size=16 align=1 + base size=16 base align=1 +QIPv6Address (0x0x7b9f3d7e9600) 0 + +Class QHostAddress + size=8 align=8 + base size=8 base align=8 +QHostAddress (0x0x7b9f3d7e9720) 0 + +Class QTcpSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTcpSocket::QPrivateSignal (0x0x7b9f3d453cc0) 0 empty + +Vtable for QTcpSocket +QTcpSocket::_ZTV10QTcpSocket: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTcpSocket) +16 (int (*)(...))QTcpSocket::metaObject +24 (int (*)(...))QTcpSocket::qt_metacast +32 (int (*)(...))QTcpSocket::qt_metacall +40 (int (*)(...))QTcpSocket::~QTcpSocket +48 (int (*)(...))QTcpSocket::~QTcpSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::skipData +240 (int (*)(...))QAbstractSocket::writeData +248 (int (*)(...))QAbstractSocket::resume +256 (int (*)(...))QAbstractSocket::bind +264 (int (*)(...))QAbstractSocket::connectToHost +272 (int (*)(...))QAbstractSocket::disconnectFromHost +280 (int (*)(...))QAbstractSocket::setReadBufferSize +288 (int (*)(...))QAbstractSocket::socketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketDescriptor +304 (int (*)(...))QAbstractSocket::setSocketOption +312 (int (*)(...))QAbstractSocket::socketOption +320 (int (*)(...))QAbstractSocket::waitForConnected +328 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QTcpSocket + size=16 align=8 + base size=16 base align=8 +QTcpSocket (0x0x7b9f3d456820) 0 + vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16) +QAbstractSocket (0x0x7b9f3d456888) 0 + primary-for QTcpSocket (0x0x7b9f3d456820) +QIODevice (0x0x7b9f3d4583f0) 0 + primary-for QAbstractSocket (0x0x7b9f3d456888) +QObject (0x0x7b9f3d453c00) 0 + primary-for QIODevice (0x0x7b9f3d4583f0) +QIODeviceBase (0x0x7b9f3d453c60) 0 empty + +Class QSslCertificate + size=8 align=8 + base size=8 base align=8 +QSslCertificate (0x0x7b9f3d470ae0) 0 + +Class QSslError + size=8 align=8 + base size=8 base align=8 +QSslError (0x0x7b9f3d4e59c0) 0 + +Class QSslSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSslSocket::QPrivateSignal (0x0x7b9f3d29b3c0) 0 empty + +Vtable for QSslSocket +QSslSocket::_ZTV10QSslSocket: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSslSocket) +16 (int (*)(...))QSslSocket::metaObject +24 (int (*)(...))QSslSocket::qt_metacast +32 (int (*)(...))QSslSocket::qt_metacall +40 (int (*)(...))QSslSocket::~QSslSocket +48 (int (*)(...))QSslSocket::~QSslSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QSslSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QSslSocket::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QSslSocket::bytesAvailable +184 (int (*)(...))QSslSocket::bytesToWrite +192 (int (*)(...))QSslSocket::canReadLine +200 (int (*)(...))QSslSocket::waitForReadyRead +208 (int (*)(...))QSslSocket::waitForBytesWritten +216 (int (*)(...))QSslSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QSslSocket::skipData +240 (int (*)(...))QSslSocket::writeData +248 (int (*)(...))QSslSocket::resume +256 (int (*)(...))QAbstractSocket::bind +264 (int (*)(...))QSslSocket::connectToHost +272 (int (*)(...))QSslSocket::disconnectFromHost +280 (int (*)(...))QSslSocket::setReadBufferSize +288 (int (*)(...))QAbstractSocket::socketDescriptor +296 (int (*)(...))QSslSocket::setSocketDescriptor +304 (int (*)(...))QSslSocket::setSocketOption +312 (int (*)(...))QSslSocket::socketOption +320 (int (*)(...))QSslSocket::waitForConnected +328 (int (*)(...))QSslSocket::waitForDisconnected + +Class QSslSocket + size=16 align=8 + base size=16 base align=8 +QSslSocket (0x0x7b9f3d298618) 0 + vptr=((& QSslSocket::_ZTV10QSslSocket) + 16) +QTcpSocket (0x0x7b9f3d298680) 0 + primary-for QSslSocket (0x0x7b9f3d298618) +QAbstractSocket (0x0x7b9f3d2986e8) 0 + primary-for QTcpSocket (0x0x7b9f3d298680) +QIODevice (0x0x7b9f3d592ee0) 0 + primary-for QAbstractSocket (0x0x7b9f3d2986e8) +QObject (0x0x7b9f3d29b300) 0 + primary-for QIODevice (0x0x7b9f3d592ee0) +QIODeviceBase (0x0x7b9f3d29b360) 0 empty + +Class QDtlsClientVerifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDtlsClientVerifier::QPrivateSignal (0x0x7b9f3d29b720) 0 empty + +Class QDtlsClientVerifier::GeneratorParameters + size=32 align=8 + base size=32 base align=8 +QDtlsClientVerifier::GeneratorParameters (0x0x7b9f3d29b780) 0 + +Vtable for QDtlsClientVerifier +QDtlsClientVerifier::_ZTV19QDtlsClientVerifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QDtlsClientVerifier) +16 (int (*)(...))QDtlsClientVerifier::metaObject +24 (int (*)(...))QDtlsClientVerifier::qt_metacast +32 (int (*)(...))QDtlsClientVerifier::qt_metacall +40 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier +48 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDtlsClientVerifier + size=16 align=8 + base size=16 base align=8 +QDtlsClientVerifier (0x0x7b9f3d298750) 0 + vptr=((& QDtlsClientVerifier::_ZTV19QDtlsClientVerifier) + 16) +QObject (0x0x7b9f3d29b6c0) 0 + primary-for QDtlsClientVerifier (0x0x7b9f3d298750) + +Class QDtls::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDtls::QPrivateSignal (0x0x7b9f3d29b960) 0 empty + +Vtable for QDtls +QDtls::_ZTV5QDtls: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDtls) +16 (int (*)(...))QDtls::metaObject +24 (int (*)(...))QDtls::qt_metacast +32 (int (*)(...))QDtls::qt_metacall +40 (int (*)(...))QDtls::~QDtls +48 (int (*)(...))QDtls::~QDtls +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDtls + size=16 align=8 + base size=16 base align=8 +QDtls (0x0x7b9f3d2987b8) 0 + vptr=((& QDtls::_ZTV5QDtls) + 16) +QObject (0x0x7b9f3d29b900) 0 + primary-for QDtls (0x0x7b9f3d2987b8) + +Class QHostInfo + size=8 align=8 + base size=8 base align=8 +QHostInfo (0x0x7b9f3d29bae0) 0 + +Class QHstsPolicy + size=8 align=8 + base size=8 base align=8 +QHstsPolicy (0x0x7b9f3d3ea720) 0 + +Class QHttp1Configuration::ShortData + size=8 align=1 + base size=8 base align=1 +QHttp1Configuration::ShortData (0x0x7b9f3d01db40) 0 + +Class QHttp1Configuration::U + size=8 align=8 + base size=8 base align=8 +QHttp1Configuration::U (0x0x7b9f3d01dba0) 0 + +Class QHttp1Configuration + size=8 align=8 + base size=8 base align=8 +QHttp1Configuration (0x0x7b9f3d01dae0) 0 + +Class QHttp2Configuration + size=8 align=8 + base size=8 base align=8 +QHttp2Configuration (0x0x7b9f4096fd20) 0 + +Class QHttpHeaders + size=8 align=8 + base size=8 base align=8 +QHttpHeaders (0x0x7b9f3dccfb40) 0 + +Class QHttpPart + size=8 align=8 + base size=8 base align=8 +QHttpPart (0x0x7b9f3fb58b40) 0 + +Class QHttpMultiPart::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHttpMultiPart::QPrivateSignal (0x0x7b9f3fbabb40) 0 empty + +Vtable for QHttpMultiPart +QHttpMultiPart::_ZTV14QHttpMultiPart: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QHttpMultiPart) +16 (int (*)(...))QHttpMultiPart::metaObject +24 (int (*)(...))QHttpMultiPart::qt_metacast +32 (int (*)(...))QHttpMultiPart::qt_metacall +40 (int (*)(...))QHttpMultiPart::~QHttpMultiPart +48 (int (*)(...))QHttpMultiPart::~QHttpMultiPart +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHttpMultiPart + size=16 align=8 + base size=16 base align=8 +QHttpMultiPart (0x0x7b9f3fbacaf8) 0 + vptr=((& QHttpMultiPart::_ZTV14QHttpMultiPart) + 16) +QObject (0x0x7b9f3fbabae0) 0 + primary-for QHttpMultiPart (0x0x7b9f3fbacaf8) + +Class QLocalServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLocalServer::QPrivateSignal (0x0x7b9f3fbabd20) 0 empty + +Vtable for QLocalServer +QLocalServer::_ZTV12QLocalServer: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QLocalServer) +16 (int (*)(...))QLocalServer::metaObject +24 (int (*)(...))QLocalServer::qt_metacast +32 (int (*)(...))QLocalServer::qt_metacall +40 (int (*)(...))QLocalServer::~QLocalServer +48 (int (*)(...))QLocalServer::~QLocalServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLocalServer::hasPendingConnections +120 (int (*)(...))QLocalServer::nextPendingConnection +128 (int (*)(...))QLocalServer::incomingConnection + +Class QLocalServer + size=16 align=8 + base size=16 base align=8 +QLocalServer (0x0x7b9f3fbacb60) 0 + vptr=((& QLocalServer::_ZTV12QLocalServer) + 16) +QObject (0x0x7b9f3fbabcc0) 0 + primary-for QLocalServer (0x0x7b9f3fbacb60) + +Class QLocalSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLocalSocket::QPrivateSignal (0x0x7b9f3fbc25a0) 0 empty + +Vtable for QLocalSocket +QLocalSocket::_ZTV12QLocalSocket: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QLocalSocket) +16 (int (*)(...))QLocalSocket::metaObject +24 (int (*)(...))QLocalSocket::qt_metacast +32 (int (*)(...))QLocalSocket::qt_metacall +40 (int (*)(...))QLocalSocket::~QLocalSocket +48 (int (*)(...))QLocalSocket::~QLocalSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLocalSocket::isSequential +120 (int (*)(...))QLocalSocket::open +128 (int (*)(...))QLocalSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QLocalSocket::bytesAvailable +184 (int (*)(...))QLocalSocket::bytesToWrite +192 (int (*)(...))QLocalSocket::canReadLine +200 (int (*)(...))QLocalSocket::waitForReadyRead +208 (int (*)(...))QLocalSocket::waitForBytesWritten +216 (int (*)(...))QLocalSocket::readData +224 (int (*)(...))QLocalSocket::readLineData +232 (int (*)(...))QLocalSocket::skipData +240 (int (*)(...))QLocalSocket::writeData + +Class QLocalSocket + size=16 align=8 + base size=16 base align=8 +QLocalSocket (0x0x7b9f3fbacc98) 0 + vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16) +QIODevice (0x0x7b9f3fbbd8c0) 0 + primary-for QLocalSocket (0x0x7b9f3fbacc98) +QObject (0x0x7b9f3fbc24e0) 0 + primary-for QIODevice (0x0x7b9f3fbbd8c0) +QIODeviceBase (0x0x7b9f3fbc2540) 0 empty + +Class QSslConfiguration + size=8 align=8 + base size=8 base align=8 +QSslConfiguration (0x0x7b9f3fbc2c60) 0 + +Class QSslPreSharedKeyAuthenticator + size=8 align=8 + base size=8 base align=8 +QSslPreSharedKeyAuthenticator (0x0x7b9f3da5a120) 0 + +Class QNetworkAccessManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkAccessManager::QPrivateSignal (0x0x7b9f3d6c5d20) 0 empty + +Vtable for QNetworkAccessManager +QNetworkAccessManager::_ZTV21QNetworkAccessManager: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QNetworkAccessManager) +16 (int (*)(...))QNetworkAccessManager::metaObject +24 (int (*)(...))QNetworkAccessManager::qt_metacast +32 (int (*)(...))QNetworkAccessManager::qt_metacall +40 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager +48 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkAccessManager::supportedSchemes +120 (int (*)(...))QNetworkAccessManager::createRequest + +Class QNetworkAccessManager + size=16 align=8 + base size=16 base align=8 +QNetworkAccessManager (0x0x7b9f3d79b000) 0 + vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16) +QObject (0x0x7b9f3d6c5cc0) 0 + primary-for QNetworkAccessManager (0x0x7b9f3d79b000) + +Class QNetworkCookie + size=8 align=8 + base size=8 base align=8 +QNetworkCookie (0x0x7b9f3d6c5ea0) 0 + +Class QNetworkCookieJar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkCookieJar::QPrivateSignal (0x0x7b9f3d29cf60) 0 empty + +Vtable for QNetworkCookieJar +QNetworkCookieJar::_ZTV17QNetworkCookieJar: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QNetworkCookieJar) +16 (int (*)(...))QNetworkCookieJar::metaObject +24 (int (*)(...))QNetworkCookieJar::qt_metacast +32 (int (*)(...))QNetworkCookieJar::qt_metacall +40 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar +48 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkCookieJar::cookiesForUrl +120 (int (*)(...))QNetworkCookieJar::setCookiesFromUrl +128 (int (*)(...))QNetworkCookieJar::insertCookie +136 (int (*)(...))QNetworkCookieJar::updateCookie +144 (int (*)(...))QNetworkCookieJar::deleteCookie +152 (int (*)(...))QNetworkCookieJar::validateCookie + +Class QNetworkCookieJar + size=16 align=8 + base size=16 base align=8 +QNetworkCookieJar (0x0x7b9f3d29ad68) 0 + vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16) +QObject (0x0x7b9f3d29cf00) 0 + primary-for QNetworkCookieJar (0x0x7b9f3d29ad68) + +Class QNetworkDatagram + size=8 align=8 + base size=8 base align=8 +QNetworkDatagram (0x0x7b9f3d014120) 0 + +Class QNetworkDiskCache::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkDiskCache::QPrivateSignal (0x0x7b9f3d05a4e0) 0 empty + +Vtable for QNetworkDiskCache +QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QNetworkDiskCache) +16 (int (*)(...))QNetworkDiskCache::metaObject +24 (int (*)(...))QNetworkDiskCache::qt_metacast +32 (int (*)(...))QNetworkDiskCache::qt_metacall +40 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache +48 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkDiskCache::metaData +120 (int (*)(...))QNetworkDiskCache::updateMetaData +128 (int (*)(...))QNetworkDiskCache::data +136 (int (*)(...))QNetworkDiskCache::remove +144 (int (*)(...))QNetworkDiskCache::cacheSize +152 (int (*)(...))QNetworkDiskCache::prepare +160 (int (*)(...))QNetworkDiskCache::insert +168 (int (*)(...))QNetworkDiskCache::clear +176 (int (*)(...))QNetworkDiskCache::expire + +Class QNetworkDiskCache + size=16 align=8 + base size=16 base align=8 +QNetworkDiskCache (0x0x7b9f3d049a90) 0 + vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16) +QAbstractNetworkCache (0x0x7b9f3d049af8) 0 + primary-for QNetworkDiskCache (0x0x7b9f3d049a90) +QObject (0x0x7b9f3d05a480) 0 + primary-for QAbstractNetworkCache (0x0x7b9f3d049af8) + +Class QNetworkInformation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkInformation::QPrivateSignal (0x0x7b9f3d05a6c0) 0 empty + +Vtable for QNetworkInformation +QNetworkInformation::_ZTV19QNetworkInformation: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QNetworkInformation) +16 (int (*)(...))QNetworkInformation::metaObject +24 (int (*)(...))QNetworkInformation::qt_metacast +32 (int (*)(...))QNetworkInformation::qt_metacall +40 (int (*)(...))QNetworkInformation::~QNetworkInformation +48 (int (*)(...))QNetworkInformation::~QNetworkInformation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QNetworkInformation + size=16 align=8 + base size=16 base align=8 +QNetworkInformation (0x0x7b9f3d049b60) 0 + vptr=((& QNetworkInformation::_ZTV19QNetworkInformation) + 16) +QObject (0x0x7b9f3d05a660) 0 + primary-for QNetworkInformation (0x0x7b9f3d049b60) + +Class QNetworkAddressEntry + size=8 align=8 + base size=8 base align=8 +QNetworkAddressEntry (0x0x7b9f3d05af00) 0 + +Class QNetworkInterface + size=8 align=8 + base size=8 base align=8 +QNetworkInterface (0x0x7b9f3baa10c0) 0 + +Class QNetworkProxyQuery + size=8 align=8 + base size=8 base align=8 +QNetworkProxyQuery (0x0x7b9f3b6e6a20) 0 + +Class QNetworkProxy + size=8 align=8 + base size=8 base align=8 +QNetworkProxy (0x0x7b9f3b47a840) 0 + +Vtable for QNetworkProxyFactory +QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QNetworkProxyFactory) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QNetworkProxyFactory + size=8 align=8 + base size=8 base align=8 +QNetworkProxyFactory (0x0x7b9f3b577c00) 0 nearly-empty + vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16) + +Class QNetworkReply::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkReply::QPrivateSignal (0x0x7b9f3b2c87e0) 0 empty + +Vtable for QNetworkReply +QNetworkReply::_ZTV13QNetworkReply: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QNetworkReply) +16 (int (*)(...))QNetworkReply::metaObject +24 (int (*)(...))QNetworkReply::qt_metacast +32 (int (*)(...))QNetworkReply::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkReply::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QNetworkReply::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QIODevice::skipData +240 (int (*)(...))QNetworkReply::writeData +248 (int (*)(...))QNetworkReply::setReadBufferSize +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QNetworkReply::ignoreSslErrors +272 (int (*)(...))QNetworkReply::sslConfigurationImplementation +280 (int (*)(...))QNetworkReply::setSslConfigurationImplementation +288 (int (*)(...))QNetworkReply::ignoreSslErrorsImplementation + +Class QNetworkReply + size=16 align=8 + base size=16 base align=8 +QNetworkReply (0x0x7b9f3b232bc8) 0 + vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16) +QIODevice (0x0x7b9f3b2585b0) 0 + primary-for QNetworkReply (0x0x7b9f3b232bc8) +QObject (0x0x7b9f3b2c8720) 0 + primary-for QIODevice (0x0x7b9f3b2585b0) +QIODeviceBase (0x0x7b9f3b2c8780) 0 empty + +Class QNetworkRequestFactory + size=8 align=8 + base size=8 base align=8 +QNetworkRequestFactory (0x0x7b9f3b088540) 0 + +Class QOcspResponse + size=8 align=8 + base size=8 base align=8 +QOcspResponse (0x0x7b9f3af451e0) 0 + +Class QRestAccessManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRestAccessManager::QPrivateSignal (0x0x7b9f3ad44c00) 0 empty + +Vtable for QRestAccessManager +QRestAccessManager::_ZTV18QRestAccessManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QRestAccessManager) +16 (int (*)(...))QRestAccessManager::metaObject +24 (int (*)(...))QRestAccessManager::qt_metacast +32 (int (*)(...))QRestAccessManager::qt_metacall +40 (int (*)(...))QRestAccessManager::~QRestAccessManager +48 (int (*)(...))QRestAccessManager::~QRestAccessManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QRestAccessManager + size=16 align=8 + base size=16 base align=8 +QRestAccessManager (0x0x7b9f3ad37e38) 0 + vptr=((& QRestAccessManager::_ZTV18QRestAccessManager) + 16) +QObject (0x0x7b9f3ad44ba0) 0 + primary-for QRestAccessManager (0x0x7b9f3ad37e38) + +Class QRestReply + size=24 align=8 + base size=24 base align=8 +QRestReply (0x0x7b9f3a8a0180) 0 + +Class QSslCertificateExtension + size=8 align=8 + base size=8 base align=8 +QSslCertificateExtension (0x0x7b9f3a612840) 0 + +Class QSslCipher + size=8 align=8 + base size=8 base align=8 +QSslCipher (0x0x7b9f3a3dd480) 0 + +Class QSslDiffieHellmanParameters + size=8 align=8 + base size=8 base align=8 +QSslDiffieHellmanParameters (0x0x7b9f39d04900) 0 + +Class QSslEllipticCurve + size=4 align=4 + base size=4 base align=4 +QSslEllipticCurve (0x0x7b9f3999aa20) 0 + +Class QSslKey + size=8 align=8 + base size=8 base align=8 +QSslKey (0x0x7b9f39b609c0) 0 + +Class QTcpServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTcpServer::QPrivateSignal (0x0x7b9f3983d960) 0 empty + +Vtable for QTcpServer +QTcpServer::_ZTV10QTcpServer: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTcpServer) +16 (int (*)(...))QTcpServer::metaObject +24 (int (*)(...))QTcpServer::qt_metacast +32 (int (*)(...))QTcpServer::qt_metacall +40 (int (*)(...))QTcpServer::~QTcpServer +48 (int (*)(...))QTcpServer::~QTcpServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTcpServer::hasPendingConnections +120 (int (*)(...))QTcpServer::nextPendingConnection +128 (int (*)(...))QTcpServer::incomingConnection + +Class QTcpServer + size=16 align=8 + base size=16 base align=8 +QTcpServer (0x0x7b9f398408f0) 0 + vptr=((& QTcpServer::_ZTV10QTcpServer) + 16) +QObject (0x0x7b9f3983d900) 0 + primary-for QTcpServer (0x0x7b9f398408f0) + +Class QSslServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSslServer::QPrivateSignal (0x0x7b9f3983db40) 0 empty + +Vtable for QSslServer +QSslServer::_ZTV10QSslServer: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSslServer) +16 (int (*)(...))QSslServer::metaObject +24 (int (*)(...))QSslServer::qt_metacast +32 (int (*)(...))QSslServer::qt_metacall +40 (int (*)(...))QSslServer::~QSslServer +48 (int (*)(...))QSslServer::~QSslServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTcpServer::hasPendingConnections +120 (int (*)(...))QTcpServer::nextPendingConnection +128 (int (*)(...))QSslServer::incomingConnection + +Class QSslServer + size=16 align=8 + base size=16 base align=8 +QSslServer (0x0x7b9f39840958) 0 + vptr=((& QSslServer::_ZTV10QSslServer) + 16) +QTcpServer (0x0x7b9f398409c0) 0 + primary-for QSslServer (0x0x7b9f39840958) +QObject (0x0x7b9f3983dae0) 0 + primary-for QTcpServer (0x0x7b9f398409c0) + +Class QUdpSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUdpSocket::QPrivateSignal (0x0x7b9f3983dd80) 0 empty + +Vtable for QUdpSocket +QUdpSocket::_ZTV10QUdpSocket: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUdpSocket) +16 (int (*)(...))QUdpSocket::metaObject +24 (int (*)(...))QUdpSocket::qt_metacast +32 (int (*)(...))QUdpSocket::qt_metacall +40 (int (*)(...))QUdpSocket::~QUdpSocket +48 (int (*)(...))QUdpSocket::~QUdpSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::skipData +240 (int (*)(...))QAbstractSocket::writeData +248 (int (*)(...))QAbstractSocket::resume +256 (int (*)(...))QAbstractSocket::bind +264 (int (*)(...))QAbstractSocket::connectToHost +272 (int (*)(...))QAbstractSocket::disconnectFromHost +280 (int (*)(...))QAbstractSocket::setReadBufferSize +288 (int (*)(...))QAbstractSocket::socketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketDescriptor +304 (int (*)(...))QAbstractSocket::setSocketOption +312 (int (*)(...))QAbstractSocket::socketOption +320 (int (*)(...))QAbstractSocket::waitForConnected +328 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QUdpSocket + size=16 align=8 + base size=16 base align=8 +QUdpSocket (0x0x7b9f39840a28) 0 + vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16) +QAbstractSocket (0x0x7b9f39840a90) 0 + primary-for QUdpSocket (0x0x7b9f39840a28) +QIODevice (0x0x7b9f39b51f50) 0 + primary-for QAbstractSocket (0x0x7b9f39840a90) +QObject (0x0x7b9f3983dcc0) 0 + primary-for QIODevice (0x0x7b9f39b51f50) +QIODeviceBase (0x0x7b9f3983dd20) 0 empty + +Class QAbstractPrintDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractPrintDialog::QPrivateSignal (0x0x7b9f398b20c0) 0 empty + +Vtable for QAbstractPrintDialog +QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAbstractPrintDialog) +16 (int (*)(...))QAbstractPrintDialog::metaObject +24 (int (*)(...))QAbstractPrintDialog::qt_metacast +32 (int (*)(...))QAbstractPrintDialog::qt_metacall +40 (int (*)(...))QAbstractPrintDialog::~QAbstractPrintDialog +48 (int (*)(...))QAbstractPrintDialog::~QAbstractPrintDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI20QAbstractPrintDialog) +488 (int (*)(...))QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD1Ev +496 (int (*)(...))QAbstractPrintDialog::_ZThn16_N20QAbstractPrintDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractPrintDialog + size=40 align=8 + base size=40 base align=8 +QAbstractPrintDialog (0x0x7b9f39840af8) 0 + vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16) +QDialog (0x0x7b9f39840b60) 0 + primary-for QAbstractPrintDialog (0x0x7b9f39840af8) +QWidget (0x0x7b9f398b0150) 0 + primary-for QDialog (0x0x7b9f39840b60) +QObject (0x0x7b9f398b2000) 0 + primary-for QWidget (0x0x7b9f398b0150) +QPaintDevice (0x0x7b9f398b2060) 16 + vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 488) + +Class QPageSetupDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPageSetupDialog::QPrivateSignal (0x0x7b9f398b2900) 0 empty + +Vtable for QPageSetupDialog +QPageSetupDialog::_ZTV16QPageSetupDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QPageSetupDialog) +16 (int (*)(...))QPageSetupDialog::metaObject +24 (int (*)(...))QPageSetupDialog::qt_metacast +32 (int (*)(...))QPageSetupDialog::qt_metacall +40 (int (*)(...))QPageSetupDialog::~QPageSetupDialog +48 (int (*)(...))QPageSetupDialog::~QPageSetupDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QPageSetupDialog::exec +448 (int (*)(...))QPageSetupDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI16QPageSetupDialog) +488 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev +496 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPageSetupDialog + size=40 align=8 + base size=40 base align=8 +QPageSetupDialog (0x0x7b9f39840c98) 0 + vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16) +QDialog (0x0x7b9f39840d00) 0 + primary-for QPageSetupDialog (0x0x7b9f39840c98) +QWidget (0x0x7b9f398b0c40) 0 + primary-for QDialog (0x0x7b9f39840d00) +QObject (0x0x7b9f398b2840) 0 + primary-for QWidget (0x0x7b9f398b0c40) +QPaintDevice (0x0x7b9f398b28a0) 16 + vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 488) + +Class QPrintDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPrintDialog::QPrivateSignal (0x0x7b9f398b2b40) 0 empty + +Vtable for QPrintDialog +QPrintDialog::_ZTV12QPrintDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPrintDialog) +16 (int (*)(...))QPrintDialog::metaObject +24 (int (*)(...))QPrintDialog::qt_metacast +32 (int (*)(...))QPrintDialog::qt_metacall +40 (int (*)(...))QPrintDialog::~QPrintDialog +48 (int (*)(...))QPrintDialog::~QPrintDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QPrintDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QPrintDialog::exec +448 (int (*)(...))QPrintDialog::done +456 (int (*)(...))QPrintDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QPrintDialog) +488 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD1Ev +496 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPrintDialog + size=40 align=8 + base size=40 base align=8 +QPrintDialog (0x0x7b9f39840d68) 0 + vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16) +QAbstractPrintDialog (0x0x7b9f39840dd0) 0 + primary-for QPrintDialog (0x0x7b9f39840d68) +QDialog (0x0x7b9f39840e38) 0 + primary-for QAbstractPrintDialog (0x0x7b9f39840dd0) +QWidget (0x0x7b9f398b0e00) 0 + primary-for QDialog (0x0x7b9f39840e38) +QObject (0x0x7b9f398b2a80) 0 + primary-for QWidget (0x0x7b9f398b0e00) +QPaintDevice (0x0x7b9f398b2ae0) 16 + vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 488) + +Vtable for QPrinter +QPrinter::_ZTV8QPrinter: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QPrinter) +16 (int (*)(...))QPrinter::~QPrinter +24 (int (*)(...))QPrinter::~QPrinter +32 (int (*)(...))QPrinter::devType +40 (int (*)(...))QPrinter::paintEngine +48 (int (*)(...))QPrinter::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QPrinter::newPage +88 (int (*)(...))QPagedPaintDevice::setPageLayout +96 (int (*)(...))QPagedPaintDevice::setPageSize +104 (int (*)(...))QPagedPaintDevice::setPageOrientation +112 (int (*)(...))QPagedPaintDevice::setPageMargins +120 (int (*)(...))QPagedPaintDevice::setPageRanges + +Class QPrinter + size=32 align=8 + base size=32 base align=8 +QPrinter (0x0x7b9f39840ea0) 0 + vptr=((& QPrinter::_ZTV8QPrinter) + 16) +QPagedPaintDevice (0x0x7b9f39840f08) 0 + primary-for QPrinter (0x0x7b9f39840ea0) +QPaintDevice (0x0x7b9f398b2cc0) 0 + primary-for QPagedPaintDevice (0x0x7b9f39840f08) + +Vtable for QPrintEngine +QPrintEngine::_ZTV12QPrintEngine: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPrintEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QPrintEngine + size=8 align=8 + base size=8 base align=8 +QPrintEngine (0x0x7b9f416ac8a0) 0 nearly-empty + vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16) + +Class QPrinterInfo + size=8 align=8 + base size=8 base align=8 +QPrinterInfo (0x0x7b9f416acae0) 0 + +Class QPrintPreviewDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPrintPreviewDialog::QPrivateSignal (0x0x7b9f416acd20) 0 empty + +Vtable for QPrintPreviewDialog +QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QPrintPreviewDialog) +16 (int (*)(...))QPrintPreviewDialog::metaObject +24 (int (*)(...))QPrintPreviewDialog::qt_metacast +32 (int (*)(...))QPrintPreviewDialog::qt_metacall +40 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog +48 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QPrintPreviewDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QPrintPreviewDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI19QPrintPreviewDialog) +488 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev +496 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPrintPreviewDialog + size=40 align=8 + base size=40 base align=8 +QPrintPreviewDialog (0x0x7b9f40f014e0) 0 + vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16) +QDialog (0x0x7b9f40f01548) 0 + primary-for QPrintPreviewDialog (0x0x7b9f40f014e0) +QWidget (0x0x7b9f40f21770) 0 + primary-for QDialog (0x0x7b9f40f01548) +QObject (0x0x7b9f416acc60) 0 + primary-for QWidget (0x0x7b9f40f21770) +QPaintDevice (0x0x7b9f416accc0) 16 + vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488) + +Class QPrintPreviewWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPrintPreviewWidget::QPrivateSignal (0x0x7b9f416acf60) 0 empty + +Vtable for QPrintPreviewWidget +QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QPrintPreviewWidget) +16 (int (*)(...))QPrintPreviewWidget::metaObject +24 (int (*)(...))QPrintPreviewWidget::qt_metacast +32 (int (*)(...))QPrintPreviewWidget::qt_metacall +40 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget +48 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QPrintPreviewWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI19QPrintPreviewWidget) +448 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev +456 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPrintPreviewWidget + size=40 align=8 + base size=40 base align=8 +QPrintPreviewWidget (0x0x7b9f40f015b0) 0 + vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16) +QWidget (0x0x7b9f40f21930) 0 + primary-for QPrintPreviewWidget (0x0x7b9f40f015b0) +QObject (0x0x7b9f416acea0) 0 + primary-for QWidget (0x0x7b9f40f21930) +QPaintDevice (0x0x7b9f416acf00) 16 + vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 448) + +Class QJSValue + size=8 align=8 + base size=8 base align=8 +QJSValue (0x0x7b9f41e6a120) 0 + +Class QJSNumberCoercion + size=8 align=8 + base size=8 base align=8 +QJSNumberCoercion (0x0x7b9f400d6d80) 0 + +Class QJSPrimitiveUndefined + size=1 align=1 + base size=0 base align=1 +QJSPrimitiveUndefined (0x0x7b9f400ec600) 0 empty + +Class QJSPrimitiveNull + size=1 align=1 + base size=0 base align=1 +QJSPrimitiveNull (0x0x7b9f400ec660) 0 empty + +Class QJSPrimitiveValue::AddOperators + size=1 align=1 + base size=0 base align=1 +QJSPrimitiveValue::AddOperators (0x0x7b9f400ec780) 0 empty + +Class QJSPrimitiveValue::SubOperators + size=1 align=1 + base size=1 base align=1 +QJSPrimitiveValue::SubOperators (0x0x7b9f400e1680) 0 empty +QJSPrimitiveValue::StringNaNOperators<QJSPrimitiveValue::SubOperators> (0x0x7b9f400ec840) 0 empty + +Class QJSPrimitiveValue::MulOperators + size=1 align=1 + base size=1 base align=1 +QJSPrimitiveValue::MulOperators (0x0x7b9f400e16e8) 0 empty +QJSPrimitiveValue::StringNaNOperators<QJSPrimitiveValue::MulOperators> (0x0x7b9f400ec900) 0 empty + +Class QJSPrimitiveValue::DivOperators + size=1 align=1 + base size=1 base align=1 +QJSPrimitiveValue::DivOperators (0x0x7b9f400e1750) 0 empty +QJSPrimitiveValue::StringNaNOperators<QJSPrimitiveValue::DivOperators> (0x0x7b9f400ec9c0) 0 empty + +Class QJSPrimitiveValue::QJSPrimitiveValuePrivate + size=32 align=8 + base size=25 base align=8 +QJSPrimitiveValue::QJSPrimitiveValuePrivate (0x0x7b9f400eca20) 0 + +Class QJSPrimitiveValue + size=32 align=8 + base size=32 base align=8 +QJSPrimitiveValue (0x0x7b9f400ec6c0) 0 + +Class QJSManagedValue + size=8 align=8 + base size=8 base align=8 +QJSManagedValue (0x0x7b9f3caa4060) 0 + +Class QQmlDebuggingEnabler + size=1 align=1 + base size=0 base align=1 +QQmlDebuggingEnabler (0x0x7b9f3caa4360) 0 empty + +Class {anonymous}::QQmlTriviallyDestructibleDebuggingEnabler + size=1 align=1 + base size=0 base align=1 +{anonymous}::QQmlTriviallyDestructibleDebuggingEnabler (0x0x7b9f3caa45a0) 0 empty + +Class QJSEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QJSEngine::QPrivateSignal (0x0x7b9f3c4dcd80) 0 empty + +Vtable for QJSEngine +QJSEngine::_ZTV9QJSEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QJSEngine) +16 (int (*)(...))QJSEngine::metaObject +24 (int (*)(...))QJSEngine::qt_metacast +32 (int (*)(...))QJSEngine::qt_metacall +40 (int (*)(...))QJSEngine::~QJSEngine +48 (int (*)(...))QJSEngine::~QJSEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QJSEngine + size=24 align=8 + base size=24 base align=8 +QJSEngine (0x0x7b9f3c209bc8) 0 + vptr=((& QJSEngine::_ZTV9QJSEngine) + 16) +QObject (0x0x7b9f3c4dcd20) 0 + primary-for QJSEngine (0x0x7b9f3c209bc8) + +Class QQmlListReference + size=8 align=8 + base size=8 base align=8 +QQmlListReference (0x0x7b9f3ba39720) 0 + +Class QJSListIndexClamp + size=1 align=1 + base size=0 base align=1 +QJSListIndexClamp (0x0x7b9f3bb17840) 0 empty + +Class QJSListForInIterator + size=8 align=4 + base size=8 base align=4 +QJSListForInIterator (0x0x7b9f3b471360) 0 + +Class QJSListForOfIterator + size=4 align=4 + base size=4 base align=4 +QJSListForOfIterator (0x0x7b9f3b471d80) 0 + +Class QJSValueIterator + size=8 align=8 + base size=8 base align=8 +QJSValueIterator (0x0x7b9f3b2487e0) 0 + +Vtable for QQmlParserStatus +QQmlParserStatus::_ZTV16QQmlParserStatus: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QQmlParserStatus) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QQmlParserStatus + size=16 align=8 + base size=16 base align=8 +QQmlParserStatus (0x0x7b9f3b2489c0) 0 + vptr=((& QQmlParserStatus::_ZTV16QQmlParserStatus) + 16) + +Vtable for QQmlPropertyValueSource +QQmlPropertyValueSource::_ZTV23QQmlPropertyValueSource: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QQmlPropertyValueSource) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QQmlPropertyValueSource + size=8 align=8 + base size=8 base align=8 +QQmlPropertyValueSource (0x0x7b9f3b248d80) 0 nearly-empty + vptr=((& QQmlPropertyValueSource::_ZTV23QQmlPropertyValueSource) + 16) + +Class QQmlPrivate::RegisterType + size=184 align=8 + base size=180 base align=8 +QQmlPrivate::RegisterType (0x0x7b9f3a9a1780) 0 + +Class QQmlPrivate::RegisterTypeAndRevisions + size=168 align=8 + base size=168 base align=8 +QQmlPrivate::RegisterTypeAndRevisions (0x0x7b9f3a9a1840) 0 + +Class QQmlPrivate::RegisterInterface + size=48 align=8 + base size=42 base align=8 +QQmlPrivate::RegisterInterface (0x0x7b9f3a9a18a0) 0 + +Class QQmlPrivate::RegisterAutoParent + size=16 align=8 + base size=16 base align=8 +QQmlPrivate::RegisterAutoParent (0x0x7b9f3a9a1900) 0 + +Class QQmlPrivate::RegisterSingletonType + size=136 align=8 + base size=130 base align=8 +QQmlPrivate::RegisterSingletonType (0x0x7b9f3a9a1960) 0 + +Class QQmlPrivate::RegisterSingletonTypeAndRevisions + size=104 align=8 + base size=104 base align=8 +QQmlPrivate::RegisterSingletonTypeAndRevisions (0x0x7b9f3a9a1cc0) 0 + +Class QQmlPrivate::RegisterCompositeType + size=40 align=8 + base size=40 base align=8 +QQmlPrivate::RegisterCompositeType (0x0x7b9f3a9a1d80) 0 + +Class QQmlPrivate::RegisterCompositeSingletonType + size=40 align=8 + base size=40 base align=8 +QQmlPrivate::RegisterCompositeSingletonType (0x0x7b9f3a9a1de0) 0 + +Class QQmlPrivate::RegisterSequentialContainer + size=56 align=8 + base size=50 base align=8 +QQmlPrivate::RegisterSequentialContainer (0x0x7b9f3a9a1e40) 0 + +Class QQmlPrivate::RegisterSequentialContainerAndRevisions + size=56 align=8 + base size=56 base align=8 +QQmlPrivate::RegisterSequentialContainerAndRevisions (0x0x7b9f3a9a1ea0) 0 + +Class QQmlPrivate::AOTCompiledContext + size=32 align=8 + base size=32 base align=8 +QQmlPrivate::AOTCompiledContext (0x0x7b9f3a9a1f00) 0 + +Class QQmlPrivate::AOTCompiledFunction + size=48 align=8 + base size=48 base align=8 +QQmlPrivate::AOTCompiledFunction (0x0x7b9f3a454060) 0 + +Class QQmlPrivate::CachedQmlUnit + size=24 align=8 + base size=24 base align=8 +QQmlPrivate::CachedQmlUnit (0x0x7b9f3a454900) 0 + +Class QQmlPrivate::RegisterQmlUnitCacheHook + size=16 align=8 + base size=16 base align=8 +QQmlPrivate::RegisterQmlUnitCacheHook (0x0x7b9f3a454960) 0 + +Class QQmlPrivate::SingletonFunctor + size=24 align=8 + base size=17 base align=8 +QQmlPrivate::SingletonFunctor (0x0x7b9f3a4549c0) 0 + +Class QQmlPrivate::SingletonInstanceFunctor + size=24 align=8 + base size=24 base align=8 +QQmlPrivate::SingletonInstanceFunctor (0x0x7b9f3a454c00) 0 + +Class QQmlTypeNotAvailable::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlTypeNotAvailable::QPrivateSignal (0x0x7b9f39897ae0) 0 empty + +Vtable for QQmlTypeNotAvailable +QQmlTypeNotAvailable::_ZTV20QQmlTypeNotAvailable: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QQmlTypeNotAvailable) +16 (int (*)(...))QQmlTypeNotAvailable::metaObject +24 (int (*)(...))QQmlTypeNotAvailable::qt_metacast +32 (int (*)(...))QQmlTypeNotAvailable::qt_metacall +40 (int (*)(...))QQmlTypeNotAvailable::~QQmlTypeNotAvailable +48 (int (*)(...))QQmlTypeNotAvailable::~QQmlTypeNotAvailable +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlTypeNotAvailable + size=16 align=8 + base size=16 base align=8 +QQmlTypeNotAvailable (0x0x7b9f398db548) 0 + vptr=((& QQmlTypeNotAvailable::_ZTV20QQmlTypeNotAvailable) + 16) +QObject (0x0x7b9f39897a80) 0 + primary-for QQmlTypeNotAvailable (0x0x7b9f398db548) + +Vtable for QQmlAbstractUrlInterceptor +QQmlAbstractUrlInterceptor::_ZTV26QQmlAbstractUrlInterceptor: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QQmlAbstractUrlInterceptor) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QQmlAbstractUrlInterceptor + size=8 align=8 + base size=8 base align=8 +QQmlAbstractUrlInterceptor (0x0x7b9f54906f00) 0 nearly-empty + vptr=((& QQmlAbstractUrlInterceptor::_ZTV26QQmlAbstractUrlInterceptor) + 16) + +Class QQmlError + size=8 align=8 + base size=8 base align=8 +QQmlError (0x0x7b9f54906f60) 0 + +Class QQmlImageProviderBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlImageProviderBase::QPrivateSignal (0x0x7b9f54958060) 0 empty + +Vtable for QQmlImageProviderBase +QQmlImageProviderBase::_ZTV21QQmlImageProviderBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QQmlImageProviderBase) +16 (int (*)(...))QQmlImageProviderBase::metaObject +24 (int (*)(...))QQmlImageProviderBase::qt_metacast +32 (int (*)(...))QQmlImageProviderBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QQmlImageProviderBase + size=16 align=8 + base size=16 base align=8 +QQmlImageProviderBase (0x0x7b9f5494ce38) 0 + vptr=((& QQmlImageProviderBase::_ZTV21QQmlImageProviderBase) + 16) +QObject (0x0x7b9f54958000) 0 + primary-for QQmlImageProviderBase (0x0x7b9f5494ce38) + +Class QQmlEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlEngine::QPrivateSignal (0x0x7b9f54958600) 0 empty + +Vtable for QQmlEngine +QQmlEngine::_ZTV10QQmlEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QQmlEngine) +16 (int (*)(...))QQmlEngine::metaObject +24 (int (*)(...))QQmlEngine::qt_metacast +32 (int (*)(...))QQmlEngine::qt_metacall +40 (int (*)(...))QQmlEngine::~QQmlEngine +48 (int (*)(...))QQmlEngine::~QQmlEngine +56 (int (*)(...))QQmlEngine::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlEngine + size=24 align=8 + base size=24 base align=8 +QQmlEngine (0x0x7b9f5494cf70) 0 + vptr=((& QQmlEngine::_ZTV10QQmlEngine) + 16) +QJSEngine (0x0x7b9f54978000) 0 + primary-for QQmlEngine (0x0x7b9f5494cf70) +QObject (0x0x7b9f549585a0) 0 + primary-for QJSEngine (0x0x7b9f54978000) + +Class QQmlApplicationEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlApplicationEngine::QPrivateSignal (0x0x7b9f54958960) 0 empty + +Vtable for QQmlApplicationEngine +QQmlApplicationEngine::_ZTV21QQmlApplicationEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QQmlApplicationEngine) +16 (int (*)(...))QQmlApplicationEngine::metaObject +24 (int (*)(...))QQmlApplicationEngine::qt_metacast +32 (int (*)(...))QQmlApplicationEngine::qt_metacall +40 (int (*)(...))QQmlApplicationEngine::~QQmlApplicationEngine +48 (int (*)(...))QQmlApplicationEngine::~QQmlApplicationEngine +56 (int (*)(...))QQmlEngine::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlApplicationEngine + size=24 align=8 + base size=24 base align=8 +QQmlApplicationEngine (0x0x7b9f54978068) 0 + vptr=((& QQmlApplicationEngine::_ZTV21QQmlApplicationEngine) + 16) +QQmlEngine (0x0x7b9f549780d0) 0 + primary-for QQmlApplicationEngine (0x0x7b9f54978068) +QJSEngine (0x0x7b9f54978138) 0 + primary-for QQmlEngine (0x0x7b9f549780d0) +QObject (0x0x7b9f54958900) 0 + primary-for QJSEngine (0x0x7b9f54978138) + +Class QQmlComponent::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlComponent::QPrivateSignal (0x0x7b9f54958b40) 0 empty + +Vtable for QQmlComponent +QQmlComponent::_ZTV13QQmlComponent: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QQmlComponent) +16 (int (*)(...))QQmlComponent::metaObject +24 (int (*)(...))QQmlComponent::qt_metacast +32 (int (*)(...))QQmlComponent::qt_metacall +40 (int (*)(...))QQmlComponent::~QQmlComponent +48 (int (*)(...))QQmlComponent::~QQmlComponent +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQmlComponent::create +120 (int (*)(...))QQmlComponent::beginCreate +128 (int (*)(...))QQmlComponent::completeCreate + +Class QQmlComponent + size=16 align=8 + base size=16 base align=8 +QQmlComponent (0x0x7b9f549781a0) 0 + vptr=((& QQmlComponent::_ZTV13QQmlComponent) + 16) +QObject (0x0x7b9f54958ae0) 0 + primary-for QQmlComponent (0x0x7b9f549781a0) + +Class QQmlContext::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlContext::QPrivateSignal (0x0x7b9f54958f60) 0 empty + +Class QQmlContext::PropertyPair + size=56 align=8 + base size=56 base align=8 +QQmlContext::PropertyPair (0x0x7b9f549b7000) 0 + +Vtable for QQmlContext +QQmlContext::_ZTV11QQmlContext: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QQmlContext) +16 (int (*)(...))QQmlContext::metaObject +24 (int (*)(...))QQmlContext::qt_metacast +32 (int (*)(...))QQmlContext::qt_metacall +40 (int (*)(...))QQmlContext::~QQmlContext +48 (int (*)(...))QQmlContext::~QQmlContext +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlContext + size=16 align=8 + base size=16 base align=8 +QQmlContext (0x0x7b9f54978208) 0 + vptr=((& QQmlContext::_ZTV11QQmlContext) + 16) +QObject (0x0x7b9f54958f00) 0 + primary-for QQmlContext (0x0x7b9f54978208) + +Class QQmlScriptString + size=8 align=8 + base size=8 base align=8 +QQmlScriptString (0x0x7b9f549b7180) 0 + +Class QQmlExpression::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlExpression::QPrivateSignal (0x0x7b9f549e03c0) 0 empty + +Vtable for QQmlExpression +QQmlExpression::_ZTV14QQmlExpression: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QQmlExpression) +16 (int (*)(...))QQmlExpression::metaObject +24 (int (*)(...))QQmlExpression::qt_metacast +32 (int (*)(...))QQmlExpression::qt_metacall +40 (int (*)(...))QQmlExpression::~QQmlExpression +48 (int (*)(...))QQmlExpression::~QQmlExpression +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlExpression + size=16 align=8 + base size=16 base align=8 +QQmlExpression (0x0x7b9f54978e38) 0 + vptr=((& QQmlExpression::_ZTV14QQmlExpression) + 16) +QObject (0x0x7b9f549e0360) 0 + primary-for QQmlExpression (0x0x7b9f54978e38) + +Vtable for QQmlTypesExtensionInterface +QQmlTypesExtensionInterface::_ZTV27QQmlTypesExtensionInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QQmlTypesExtensionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QQmlTypesExtensionInterface + size=8 align=8 + base size=8 base align=8 +QQmlTypesExtensionInterface (0x0x7b9f549e0540) 0 nearly-empty + vptr=((& QQmlTypesExtensionInterface::_ZTV27QQmlTypesExtensionInterface) + 16) + +Vtable for QQmlExtensionInterface +QQmlExtensionInterface::_ZTV22QQmlExtensionInterface: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QQmlExtensionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QQmlExtensionInterface + size=8 align=8 + base size=8 base align=8 +QQmlExtensionInterface (0x0x7b9f54978ea0) 0 nearly-empty + vptr=((& QQmlExtensionInterface::_ZTV22QQmlExtensionInterface) + 16) +QQmlTypesExtensionInterface (0x0x7b9f549e05a0) 0 nearly-empty + primary-for QQmlExtensionInterface (0x0x7b9f54978ea0) + +Vtable for QQmlEngineExtensionInterface +QQmlEngineExtensionInterface::_ZTV28QQmlEngineExtensionInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QQmlEngineExtensionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QQmlEngineExtensionInterface + size=8 align=8 + base size=8 base align=8 +QQmlEngineExtensionInterface (0x0x7b9f549e0600) 0 nearly-empty + vptr=((& QQmlEngineExtensionInterface::_ZTV28QQmlEngineExtensionInterface) + 16) + +Class QQmlExtensionPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlExtensionPlugin::QPrivateSignal (0x0x7b9f54a04180) 0 empty + +Vtable for QQmlExtensionPlugin +QQmlExtensionPlugin::_ZTV19QQmlExtensionPlugin: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QQmlExtensionPlugin) +16 (int (*)(...))QQmlExtensionPlugin::metaObject +24 (int (*)(...))QQmlExtensionPlugin::qt_metacast +32 (int (*)(...))QQmlExtensionPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QQmlExtensionPlugin::unregisterTypes +128 (int (*)(...))QQmlExtensionPlugin::initializeEngine +136 (int (*)(...))-16 +144 (int (*)(...))(& _ZTI19QQmlExtensionPlugin) +152 0 +160 0 +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))QQmlExtensionPlugin::_ZThn16_N19QQmlExtensionPlugin16initializeEngineEP10QQmlEnginePKc + +Class QQmlExtensionPlugin + size=24 align=8 + base size=24 base align=8 +QQmlExtensionPlugin (0x0x7b9f549af9a0) 0 + vptr=((& QQmlExtensionPlugin::_ZTV19QQmlExtensionPlugin) + 16) +QObject (0x0x7b9f54a040c0) 0 + primary-for QQmlExtensionPlugin (0x0x7b9f549af9a0) +QQmlExtensionInterface (0x0x7b9f549f91a0) 16 nearly-empty + vptr=((& QQmlExtensionPlugin::_ZTV19QQmlExtensionPlugin) + 152) +QQmlTypesExtensionInterface (0x0x7b9f54a04120) 16 nearly-empty + primary-for QQmlExtensionInterface (0x0x7b9f549f91a0) + +Class QQmlEngineExtensionPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlEngineExtensionPlugin::QPrivateSignal (0x0x7b9f54a043c0) 0 empty + +Vtable for QQmlEngineExtensionPlugin +QQmlEngineExtensionPlugin::_ZTV25QQmlEngineExtensionPlugin: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QQmlEngineExtensionPlugin) +16 (int (*)(...))QQmlEngineExtensionPlugin::metaObject +24 (int (*)(...))QQmlEngineExtensionPlugin::qt_metacast +32 (int (*)(...))QQmlEngineExtensionPlugin::qt_metacall +40 (int (*)(...))QQmlEngineExtensionPlugin::~QQmlEngineExtensionPlugin +48 (int (*)(...))QQmlEngineExtensionPlugin::~QQmlEngineExtensionPlugin +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQmlEngineExtensionPlugin::initializeEngine +120 (int (*)(...))-16 +128 (int (*)(...))(& _ZTI25QQmlEngineExtensionPlugin) +136 (int (*)(...))QQmlEngineExtensionPlugin::_ZThn16_N25QQmlEngineExtensionPluginD1Ev +144 (int (*)(...))QQmlEngineExtensionPlugin::_ZThn16_N25QQmlEngineExtensionPluginD0Ev +152 (int (*)(...))QQmlEngineExtensionPlugin::_ZThn16_N25QQmlEngineExtensionPlugin16initializeEngineEP10QQmlEnginePKc + +Class QQmlEngineExtensionPlugin + size=24 align=8 + base size=24 base align=8 +QQmlEngineExtensionPlugin (0x0x7b9f549afb60) 0 + vptr=((& QQmlEngineExtensionPlugin::_ZTV25QQmlEngineExtensionPlugin) + 16) +QObject (0x0x7b9f54a04300) 0 + primary-for QQmlEngineExtensionPlugin (0x0x7b9f549afb60) +QQmlEngineExtensionInterface (0x0x7b9f54a04360) 16 nearly-empty + vptr=((& QQmlEngineExtensionPlugin::_ZTV25QQmlEngineExtensionPlugin) + 136) + +Class QQmlFile + size=8 align=8 + base size=8 base align=8 +QQmlFile (0x0x7b9f54a04480) 0 + +Class QQmlFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlFileSelector::QPrivateSignal (0x0x7b9f54a04540) 0 empty + +Vtable for QQmlFileSelector +QQmlFileSelector::_ZTV16QQmlFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QQmlFileSelector) +16 (int (*)(...))QQmlFileSelector::metaObject +24 (int (*)(...))QQmlFileSelector::qt_metacast +32 (int (*)(...))QQmlFileSelector::qt_metacall +40 (int (*)(...))QQmlFileSelector::~QQmlFileSelector +48 (int (*)(...))QQmlFileSelector::~QQmlFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQmlFileSelector + size=16 align=8 + base size=16 base align=8 +QQmlFileSelector (0x0x7b9f549f9270) 0 + vptr=((& QQmlFileSelector::_ZTV16QQmlFileSelector) + 16) +QObject (0x0x7b9f54a044e0) 0 + primary-for QQmlFileSelector (0x0x7b9f549f9270) + +Vtable for QQmlIncubator +QQmlIncubator::_ZTV13QQmlIncubator: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QQmlIncubator) +16 (int (*)(...))QQmlIncubator::~QQmlIncubator +24 (int (*)(...))QQmlIncubator::~QQmlIncubator +32 (int (*)(...))QQmlIncubator::statusChanged +40 (int (*)(...))QQmlIncubator::setInitialState + +Class QQmlIncubator + size=16 align=8 + base size=16 base align=8 +QQmlIncubator (0x0x7b9f54a046c0) 0 + vptr=((& QQmlIncubator::_ZTV13QQmlIncubator) + 16) + +Vtable for QQmlIncubationController +QQmlIncubationController::_ZTV24QQmlIncubationController: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QQmlIncubationController) +16 (int (*)(...))QQmlIncubationController::~QQmlIncubationController +24 (int (*)(...))QQmlIncubationController::~QQmlIncubationController +32 (int (*)(...))QQmlIncubationController::incubatingObjectCountChanged + +Class QQmlIncubationController + size=16 align=8 + base size=16 base align=8 +QQmlIncubationController (0x0x7b9f54a04720) 0 + vptr=((& QQmlIncubationController::_ZTV24QQmlIncubationController) + 16) + +Class QQmlInfo + size=16 align=8 + base size=16 base align=8 +QQmlInfo (0x0x7b9f549f92d8) 0 +QDebug (0x0x7b9f549f9340) 0 +QIODeviceBase (0x0x7b9f54a04780) 0 empty + +Class QQmlModuleRegistration + size=8 align=8 + base size=8 base align=8 +QQmlModuleRegistration (0x0x7b9f54a691e0) 0 + +Vtable for QQmlNetworkAccessManagerFactory +QQmlNetworkAccessManagerFactory::_ZTV31QQmlNetworkAccessManagerFactory: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QQmlNetworkAccessManagerFactory) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QQmlNetworkAccessManagerFactory + size=8 align=8 + base size=8 base align=8 +QQmlNetworkAccessManagerFactory (0x0x7b9f54a69240) 0 nearly-empty + vptr=((& QQmlNetworkAccessManagerFactory::_ZTV31QQmlNetworkAccessManagerFactory) + 16) + +Class QQmlProperty + size=8 align=8 + base size=8 base align=8 +QQmlProperty (0x0x7b9f54a692a0) 0 + +Class QQmlPropertyMap::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQmlPropertyMap::QPrivateSignal (0x0x7b9f54aabba0) 0 empty + +Vtable for QQmlPropertyMap +QQmlPropertyMap::_ZTV15QQmlPropertyMap: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QQmlPropertyMap) +16 (int (*)(...))QQmlPropertyMap::metaObject +24 (int (*)(...))QQmlPropertyMap::qt_metacast +32 (int (*)(...))QQmlPropertyMap::qt_metacall +40 (int (*)(...))QQmlPropertyMap::~QQmlPropertyMap +48 (int (*)(...))QQmlPropertyMap::~QQmlPropertyMap +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQmlPropertyMap::updateValue + +Class QQmlPropertyMap + size=16 align=8 + base size=16 base align=8 +QQmlPropertyMap (0x0x7b9f54ab0a28) 0 + vptr=((& QQmlPropertyMap::_ZTV15QQmlPropertyMap) + 16) +QObject (0x0x7b9f54aabb40) 0 + primary-for QQmlPropertyMap (0x0x7b9f54ab0a28) + +Class QQuickTransform::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickTransform::QPrivateSignal (0x0x7b9f54aabde0) 0 empty + +Vtable for QQuickTransform +QQuickTransform::_ZTV15QQuickTransform: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QQuickTransform) +16 (int (*)(...))QQuickTransform::metaObject +24 (int (*)(...))QQuickTransform::qt_metacast +32 (int (*)(...))QQuickTransform::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QQuickTransform + size=16 align=8 + base size=16 base align=8 +QQuickTransform (0x0x7b9f54ab0a90) 0 + vptr=((& QQuickTransform::_ZTV15QQuickTransform) + 16) +QObject (0x0x7b9f54aabd80) 0 + primary-for QQuickTransform (0x0x7b9f54ab0a90) + +Class QQuickItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickItem::QPrivateSignal (0x0x7b9f54ad20c0) 0 empty + +Class QQuickItem::ItemChangeData + size=8 align=8 + base size=8 base align=8 +QQuickItem::ItemChangeData (0x0x7b9f54ad2120) 0 + +Class QQuickItem::UpdatePaintNodeData + size=8 align=8 + base size=8 base align=8 +QQuickItem::UpdatePaintNodeData (0x0x7b9f54ad2180) 0 + +Vtable for QQuickItem +QQuickItem::_ZTV10QQuickItem: 54 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QQuickItem) +16 (int (*)(...))QQuickItem::metaObject +24 (int (*)(...))QQuickItem::qt_metacast +32 (int (*)(...))QQuickItem::qt_metacall +40 (int (*)(...))QQuickItem::~QQuickItem +48 (int (*)(...))QQuickItem::~QQuickItem +56 (int (*)(...))QQuickItem::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickItem::boundingRect +120 (int (*)(...))QQuickItem::clipRect +128 (int (*)(...))QQuickItem::contains +136 (int (*)(...))QQuickItem::inputMethodQuery +144 (int (*)(...))QQuickItem::isTextureProvider +152 (int (*)(...))QQuickItem::textureProvider +160 (int (*)(...))QQuickItem::itemChange +168 (int (*)(...))QQuickItem::geometryChange +176 (int (*)(...))QQuickItem::classBegin +184 (int (*)(...))QQuickItem::componentComplete +192 (int (*)(...))QQuickItem::keyPressEvent +200 (int (*)(...))QQuickItem::keyReleaseEvent +208 (int (*)(...))QQuickItem::inputMethodEvent +216 (int (*)(...))QQuickItem::focusInEvent +224 (int (*)(...))QQuickItem::focusOutEvent +232 (int (*)(...))QQuickItem::mousePressEvent +240 (int (*)(...))QQuickItem::mouseMoveEvent +248 (int (*)(...))QQuickItem::mouseReleaseEvent +256 (int (*)(...))QQuickItem::mouseDoubleClickEvent +264 (int (*)(...))QQuickItem::mouseUngrabEvent +272 (int (*)(...))QQuickItem::touchUngrabEvent +280 (int (*)(...))QQuickItem::wheelEvent +288 (int (*)(...))QQuickItem::touchEvent +296 (int (*)(...))QQuickItem::hoverEnterEvent +304 (int (*)(...))QQuickItem::hoverMoveEvent +312 (int (*)(...))QQuickItem::hoverLeaveEvent +320 (int (*)(...))QQuickItem::dragEnterEvent +328 (int (*)(...))QQuickItem::dragMoveEvent +336 (int (*)(...))QQuickItem::dragLeaveEvent +344 (int (*)(...))QQuickItem::dropEvent +352 (int (*)(...))QQuickItem::childMouseEventFilter +360 (int (*)(...))QQuickItem::updatePaintNode +368 (int (*)(...))QQuickItem::releaseResources +376 (int (*)(...))QQuickItem::updatePolish +384 (int (*)(...))-16 +392 (int (*)(...))(& _ZTI10QQuickItem) +400 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItemD1Ev +408 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItemD0Ev +416 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem10classBeginEv +424 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem17componentCompleteEv + +Class QQuickItem + size=32 align=8 + base size=32 base align=8 +QQuickItem (0x0x7b9f54ad1000) 0 + vptr=((& QQuickItem::_ZTV10QQuickItem) + 16) +QObject (0x0x7b9f54ad2000) 0 + primary-for QQuickItem (0x0x7b9f54ad1000) +QQmlParserStatus (0x0x7b9f54ad2060) 16 + vptr=((& QQuickItem::_ZTV10QQuickItem) + 400) + +Class QQuickFramebufferObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickFramebufferObject::QPrivateSignal (0x0x7b9f5472c240) 0 empty + +Vtable for QQuickFramebufferObject::Renderer +QQuickFramebufferObject::Renderer::_ZTVN23QQuickFramebufferObject8RendererE: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN23QQuickFramebufferObject8RendererE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QQuickFramebufferObject::Renderer::createFramebufferObject +48 (int (*)(...))QQuickFramebufferObject::Renderer::synchronize + +Class QQuickFramebufferObject::Renderer + size=16 align=8 + base size=16 base align=8 +QQuickFramebufferObject::Renderer (0x0x7b9f5472c2a0) 0 + vptr=((& QQuickFramebufferObject::Renderer::_ZTVN23QQuickFramebufferObject8RendererE) + 16) + +Vtable for QQuickFramebufferObject +QQuickFramebufferObject::_ZTV23QQuickFramebufferObject: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QQuickFramebufferObject) +16 (int (*)(...))QQuickFramebufferObject::metaObject +24 (int (*)(...))QQuickFramebufferObject::qt_metacast +32 (int (*)(...))QQuickFramebufferObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QQuickItem::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickItem::boundingRect +120 (int (*)(...))QQuickItem::clipRect +128 (int (*)(...))QQuickItem::contains +136 (int (*)(...))QQuickItem::inputMethodQuery +144 (int (*)(...))QQuickFramebufferObject::isTextureProvider +152 (int (*)(...))QQuickFramebufferObject::textureProvider +160 (int (*)(...))QQuickItem::itemChange +168 (int (*)(...))QQuickFramebufferObject::geometryChange +176 (int (*)(...))QQuickItem::classBegin +184 (int (*)(...))QQuickItem::componentComplete +192 (int (*)(...))QQuickItem::keyPressEvent +200 (int (*)(...))QQuickItem::keyReleaseEvent +208 (int (*)(...))QQuickItem::inputMethodEvent +216 (int (*)(...))QQuickItem::focusInEvent +224 (int (*)(...))QQuickItem::focusOutEvent +232 (int (*)(...))QQuickItem::mousePressEvent +240 (int (*)(...))QQuickItem::mouseMoveEvent +248 (int (*)(...))QQuickItem::mouseReleaseEvent +256 (int (*)(...))QQuickItem::mouseDoubleClickEvent +264 (int (*)(...))QQuickItem::mouseUngrabEvent +272 (int (*)(...))QQuickItem::touchUngrabEvent +280 (int (*)(...))QQuickItem::wheelEvent +288 (int (*)(...))QQuickItem::touchEvent +296 (int (*)(...))QQuickItem::hoverEnterEvent +304 (int (*)(...))QQuickItem::hoverMoveEvent +312 (int (*)(...))QQuickItem::hoverLeaveEvent +320 (int (*)(...))QQuickItem::dragEnterEvent +328 (int (*)(...))QQuickItem::dragMoveEvent +336 (int (*)(...))QQuickItem::dragLeaveEvent +344 (int (*)(...))QQuickItem::dropEvent +352 (int (*)(...))QQuickItem::childMouseEventFilter +360 (int (*)(...))QQuickFramebufferObject::updatePaintNode +368 (int (*)(...))QQuickFramebufferObject::releaseResources +376 (int (*)(...))QQuickItem::updatePolish +384 (int (*)(...))__cxa_pure_virtual +392 (int (*)(...))-16 +400 (int (*)(...))(& _ZTI23QQuickFramebufferObject) +408 0 +416 0 +424 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem10classBeginEv +432 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem17componentCompleteEv + +Class QQuickFramebufferObject + size=32 align=8 + base size=32 base align=8 +QQuickFramebufferObject (0x0x7b9f54ab0bc8) 0 + vptr=((& QQuickFramebufferObject::_ZTV23QQuickFramebufferObject) + 16) +QQuickItem (0x0x7b9f5471d9a0) 0 + primary-for QQuickFramebufferObject (0x0x7b9f54ab0bc8) +QObject (0x0x7b9f5472c180) 0 + primary-for QQuickItem (0x0x7b9f5471d9a0) +QQmlParserStatus (0x0x7b9f5472c1e0) 16 + vptr=((& QQuickFramebufferObject::_ZTV23QQuickFramebufferObject) + 408) + +Class QQuickGraphicsConfiguration + size=8 align=8 + base size=8 base align=8 +QQuickGraphicsConfiguration (0x0x7b9f5472c420) 0 + +Class QQuickGraphicsDevice + size=8 align=8 + base size=8 base align=8 +QQuickGraphicsDevice (0x0x7b9f5472c480) 0 + +Class QQuickTextureFactory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickTextureFactory::QPrivateSignal (0x0x7b9f5472c540) 0 empty + +Vtable for QQuickTextureFactory +QQuickTextureFactory::_ZTV20QQuickTextureFactory: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QQuickTextureFactory) +16 (int (*)(...))QQuickTextureFactory::metaObject +24 (int (*)(...))QQuickTextureFactory::qt_metacast +32 (int (*)(...))QQuickTextureFactory::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))QQuickTextureFactory::image + +Class QQuickTextureFactory + size=16 align=8 + base size=16 base align=8 +QQuickTextureFactory (0x0x7b9f54ab0c30) 0 + vptr=((& QQuickTextureFactory::_ZTV20QQuickTextureFactory) + 16) +QObject (0x0x7b9f5472c4e0) 0 + primary-for QQuickTextureFactory (0x0x7b9f54ab0c30) + +Class QQuickImageResponse::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickImageResponse::QPrivateSignal (0x0x7b9f5472c660) 0 empty + +Vtable for QQuickImageResponse +QQuickImageResponse::_ZTV19QQuickImageResponse: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QQuickImageResponse) +16 (int (*)(...))QQuickImageResponse::metaObject +24 (int (*)(...))QQuickImageResponse::qt_metacast +32 (int (*)(...))QQuickImageResponse::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QQuickImageResponse::errorString +128 (int (*)(...))QQuickImageResponse::cancel + +Class QQuickImageResponse + size=16 align=8 + base size=16 base align=8 +QQuickImageResponse (0x0x7b9f54ab0c98) 0 + vptr=((& QQuickImageResponse::_ZTV19QQuickImageResponse) + 16) +QObject (0x0x7b9f5472c600) 0 + primary-for QQuickImageResponse (0x0x7b9f54ab0c98) + +Class QQuickImageProvider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickImageProvider::QPrivateSignal (0x0x7b9f5472c840) 0 empty + +Vtable for QQuickImageProvider +QQuickImageProvider::_ZTV19QQuickImageProvider: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QQuickImageProvider) +16 (int (*)(...))QQuickImageProvider::metaObject +24 (int (*)(...))QQuickImageProvider::qt_metacast +32 (int (*)(...))QQuickImageProvider::qt_metacall +40 (int (*)(...))QQuickImageProvider::~QQuickImageProvider +48 (int (*)(...))QQuickImageProvider::~QQuickImageProvider +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickImageProvider::imageType +120 (int (*)(...))QQuickImageProvider::flags +128 (int (*)(...))QQuickImageProvider::requestImage +136 (int (*)(...))QQuickImageProvider::requestPixmap +144 (int (*)(...))QQuickImageProvider::requestTexture + +Class QQuickImageProvider + size=24 align=8 + base size=24 base align=8 +QQuickImageProvider (0x0x7b9f54ab0d00) 0 + vptr=((& QQuickImageProvider::_ZTV19QQuickImageProvider) + 16) +QQmlImageProviderBase (0x0x7b9f54ab0d68) 0 + primary-for QQuickImageProvider (0x0x7b9f54ab0d00) +QObject (0x0x7b9f5472c7e0) 0 + primary-for QQmlImageProviderBase (0x0x7b9f54ab0d68) + +Vtable for QQuickAsyncImageProvider +QQuickAsyncImageProvider::_ZTV24QQuickAsyncImageProvider: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QQuickAsyncImageProvider) +16 (int (*)(...))QQuickImageProvider::metaObject +24 (int (*)(...))QQuickImageProvider::qt_metacast +32 (int (*)(...))QQuickImageProvider::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickImageProvider::imageType +120 (int (*)(...))QQuickImageProvider::flags +128 (int (*)(...))QQuickImageProvider::requestImage +136 (int (*)(...))QQuickImageProvider::requestPixmap +144 (int (*)(...))QQuickImageProvider::requestTexture +152 (int (*)(...))__cxa_pure_virtual + +Class QQuickAsyncImageProvider + size=32 align=8 + base size=32 base align=8 +QQuickAsyncImageProvider (0x0x7b9f54ab0dd0) 0 + vptr=((& QQuickAsyncImageProvider::_ZTV24QQuickAsyncImageProvider) + 16) +QQuickImageProvider (0x0x7b9f54ab0e38) 0 + primary-for QQuickAsyncImageProvider (0x0x7b9f54ab0dd0) +QQmlImageProviderBase (0x0x7b9f54ab0ea0) 0 + primary-for QQuickImageProvider (0x0x7b9f54ab0e38) +QObject (0x0x7b9f5472c900) 0 + primary-for QQmlImageProviderBase (0x0x7b9f54ab0ea0) + +Class QQuickItemGrabResult::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickItemGrabResult::QPrivateSignal (0x0x7b9f5472c9c0) 0 empty + +Vtable for QQuickItemGrabResult +QQuickItemGrabResult::_ZTV20QQuickItemGrabResult: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QQuickItemGrabResult) +16 (int (*)(...))QQuickItemGrabResult::metaObject +24 (int (*)(...))QQuickItemGrabResult::qt_metacast +32 (int (*)(...))QQuickItemGrabResult::qt_metacall +40 (int (*)(...))QQuickItemGrabResult::~QQuickItemGrabResult +48 (int (*)(...))QQuickItemGrabResult::~QQuickItemGrabResult +56 (int (*)(...))QQuickItemGrabResult::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQuickItemGrabResult + size=16 align=8 + base size=16 base align=8 +QQuickItemGrabResult (0x0x7b9f54ab0f08) 0 + vptr=((& QQuickItemGrabResult::_ZTV20QQuickItemGrabResult) + 16) +QObject (0x0x7b9f5472c960) 0 + primary-for QQuickItemGrabResult (0x0x7b9f54ab0f08) + +Class QQuickPaintedItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickPaintedItem::QPrivateSignal (0x0x7b9f5472cc60) 0 empty + +Vtable for QQuickPaintedItem +QQuickPaintedItem::_ZTV17QQuickPaintedItem: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QQuickPaintedItem) +16 (int (*)(...))QQuickPaintedItem::metaObject +24 (int (*)(...))QQuickPaintedItem::qt_metacast +32 (int (*)(...))QQuickPaintedItem::qt_metacall +40 0 +48 0 +56 (int (*)(...))QQuickItem::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickItem::boundingRect +120 (int (*)(...))QQuickItem::clipRect +128 (int (*)(...))QQuickItem::contains +136 (int (*)(...))QQuickItem::inputMethodQuery +144 (int (*)(...))QQuickPaintedItem::isTextureProvider +152 (int (*)(...))QQuickPaintedItem::textureProvider +160 (int (*)(...))QQuickPaintedItem::itemChange +168 (int (*)(...))QQuickItem::geometryChange +176 (int (*)(...))QQuickItem::classBegin +184 (int (*)(...))QQuickItem::componentComplete +192 (int (*)(...))QQuickItem::keyPressEvent +200 (int (*)(...))QQuickItem::keyReleaseEvent +208 (int (*)(...))QQuickItem::inputMethodEvent +216 (int (*)(...))QQuickItem::focusInEvent +224 (int (*)(...))QQuickItem::focusOutEvent +232 (int (*)(...))QQuickItem::mousePressEvent +240 (int (*)(...))QQuickItem::mouseMoveEvent +248 (int (*)(...))QQuickItem::mouseReleaseEvent +256 (int (*)(...))QQuickItem::mouseDoubleClickEvent +264 (int (*)(...))QQuickItem::mouseUngrabEvent +272 (int (*)(...))QQuickItem::touchUngrabEvent +280 (int (*)(...))QQuickItem::wheelEvent +288 (int (*)(...))QQuickItem::touchEvent +296 (int (*)(...))QQuickItem::hoverEnterEvent +304 (int (*)(...))QQuickItem::hoverMoveEvent +312 (int (*)(...))QQuickItem::hoverLeaveEvent +320 (int (*)(...))QQuickItem::dragEnterEvent +328 (int (*)(...))QQuickItem::dragMoveEvent +336 (int (*)(...))QQuickItem::dragLeaveEvent +344 (int (*)(...))QQuickItem::dropEvent +352 (int (*)(...))QQuickItem::childMouseEventFilter +360 (int (*)(...))QQuickPaintedItem::updatePaintNode +368 (int (*)(...))QQuickPaintedItem::releaseResources +376 (int (*)(...))QQuickItem::updatePolish +384 (int (*)(...))__cxa_pure_virtual +392 (int (*)(...))-16 +400 (int (*)(...))(& _ZTI17QQuickPaintedItem) +408 0 +416 0 +424 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem10classBeginEv +432 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem17componentCompleteEv + +Class QQuickPaintedItem + size=32 align=8 + base size=32 base align=8 +QQuickPaintedItem (0x0x7b9f54ab0f70) 0 + vptr=((& QQuickPaintedItem::_ZTV17QQuickPaintedItem) + 16) +QQuickItem (0x0x7b9f54765000) 0 + primary-for QQuickPaintedItem (0x0x7b9f54ab0f70) +QObject (0x0x7b9f5472cba0) 0 + primary-for QQuickItem (0x0x7b9f54765000) +QQmlParserStatus (0x0x7b9f5472cc00) 16 + vptr=((& QQuickPaintedItem::_ZTV17QQuickPaintedItem) + 408) + +Class QQuickRenderControl::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickRenderControl::QPrivateSignal (0x0x7b9f547854e0) 0 empty + +Vtable for QQuickRenderControl +QQuickRenderControl::_ZTV19QQuickRenderControl: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QQuickRenderControl) +16 (int (*)(...))QQuickRenderControl::metaObject +24 (int (*)(...))QQuickRenderControl::qt_metacast +32 (int (*)(...))QQuickRenderControl::qt_metacall +40 (int (*)(...))QQuickRenderControl::~QQuickRenderControl +48 (int (*)(...))QQuickRenderControl::~QQuickRenderControl +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickRenderControl::renderWindow + +Class QQuickRenderControl + size=16 align=8 + base size=16 base align=8 +QQuickRenderControl (0x0x7b9f5477b0d0) 0 + vptr=((& QQuickRenderControl::_ZTV19QQuickRenderControl) + 16) +QObject (0x0x7b9f54785480) 0 + primary-for QQuickRenderControl (0x0x7b9f5477b0d0) + +Class QQuickRenderTarget + size=8 align=8 + base size=8 base align=8 +QQuickRenderTarget (0x0x7b9f547856c0) 0 + +Vtable for QQuickRhiItemRenderer +QQuickRhiItemRenderer::_ZTV21QQuickRhiItemRenderer: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QQuickRhiItemRenderer) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QQuickRhiItemRenderer + size=16 align=8 + base size=16 base align=8 +QQuickRhiItemRenderer (0x0x7b9f547857e0) 0 + vptr=((& QQuickRhiItemRenderer::_ZTV21QQuickRhiItemRenderer) + 16) + +Class QQuickRhiItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickRhiItem::QPrivateSignal (0x0x7b9f54785900) 0 empty + +Vtable for QQuickRhiItem +QQuickRhiItem::_ZTV13QQuickRhiItem: 55 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QQuickRhiItem) +16 (int (*)(...))QQuickRhiItem::metaObject +24 (int (*)(...))QQuickRhiItem::qt_metacast +32 (int (*)(...))QQuickRhiItem::qt_metacall +40 0 +48 0 +56 (int (*)(...))QQuickRhiItem::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QQuickItem::boundingRect +120 (int (*)(...))QQuickItem::clipRect +128 (int (*)(...))QQuickItem::contains +136 (int (*)(...))QQuickItem::inputMethodQuery +144 (int (*)(...))QQuickRhiItem::isTextureProvider +152 (int (*)(...))QQuickRhiItem::textureProvider +160 (int (*)(...))QQuickItem::itemChange +168 (int (*)(...))QQuickRhiItem::geometryChange +176 (int (*)(...))QQuickItem::classBegin +184 (int (*)(...))QQuickItem::componentComplete +192 (int (*)(...))QQuickItem::keyPressEvent +200 (int (*)(...))QQuickItem::keyReleaseEvent +208 (int (*)(...))QQuickItem::inputMethodEvent +216 (int (*)(...))QQuickItem::focusInEvent +224 (int (*)(...))QQuickItem::focusOutEvent +232 (int (*)(...))QQuickItem::mousePressEvent +240 (int (*)(...))QQuickItem::mouseMoveEvent +248 (int (*)(...))QQuickItem::mouseReleaseEvent +256 (int (*)(...))QQuickItem::mouseDoubleClickEvent +264 (int (*)(...))QQuickItem::mouseUngrabEvent +272 (int (*)(...))QQuickItem::touchUngrabEvent +280 (int (*)(...))QQuickItem::wheelEvent +288 (int (*)(...))QQuickItem::touchEvent +296 (int (*)(...))QQuickItem::hoverEnterEvent +304 (int (*)(...))QQuickItem::hoverMoveEvent +312 (int (*)(...))QQuickItem::hoverLeaveEvent +320 (int (*)(...))QQuickItem::dragEnterEvent +328 (int (*)(...))QQuickItem::dragMoveEvent +336 (int (*)(...))QQuickItem::dragLeaveEvent +344 (int (*)(...))QQuickItem::dropEvent +352 (int (*)(...))QQuickItem::childMouseEventFilter +360 (int (*)(...))QQuickRhiItem::updatePaintNode +368 (int (*)(...))QQuickRhiItem::releaseResources +376 (int (*)(...))QQuickItem::updatePolish +384 (int (*)(...))__cxa_pure_virtual +392 (int (*)(...))-16 +400 (int (*)(...))(& _ZTI13QQuickRhiItem) +408 0 +416 0 +424 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem10classBeginEv +432 (int (*)(...))QQuickItem::_ZThn16_N10QQuickItem17componentCompleteEv + +Class QQuickRhiItem + size=32 align=8 + base size=32 base align=8 +QQuickRhiItem (0x0x7b9f5477b138) 0 + vptr=((& QQuickRhiItem::_ZTV13QQuickRhiItem) + 16) +QQuickItem (0x0x7b9f54765bd0) 0 + primary-for QQuickRhiItem (0x0x7b9f5477b138) +QObject (0x0x7b9f54785840) 0 + primary-for QQuickItem (0x0x7b9f54765bd0) +QQmlParserStatus (0x0x7b9f547858a0) 16 + vptr=((& QQuickRhiItem::_ZTV13QQuickRhiItem) + 408) + +Class QQuickTextDocument::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickTextDocument::QPrivateSignal (0x0x7b9f54785ba0) 0 empty + +Vtable for QQuickTextDocument +QQuickTextDocument::_ZTV18QQuickTextDocument: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QQuickTextDocument) +16 (int (*)(...))QQuickTextDocument::metaObject +24 (int (*)(...))QQuickTextDocument::qt_metacast +32 (int (*)(...))QQuickTextDocument::qt_metacall +40 (int (*)(...))QQuickTextDocument::~QQuickTextDocument +48 (int (*)(...))QQuickTextDocument::~QQuickTextDocument +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QQuickTextDocument + size=16 align=8 + base size=16 base align=8 +QQuickTextDocument (0x0x7b9f5477b1a0) 0 + vptr=((& QQuickTextDocument::_ZTV18QQuickTextDocument) + 16) +QObject (0x0x7b9f54785b40) 0 + primary-for QQuickTextDocument (0x0x7b9f5477b1a0) + +Class QSGGeometry::Attribute + size=16 align=4 + base size=16 base align=4 +QSGGeometry::Attribute (0x0x7b9f54785ea0) 0 + +Class QSGGeometry::AttributeSet + size=16 align=8 + base size=16 base align=8 +QSGGeometry::AttributeSet (0x0x7b9f54785f00) 0 + +Class QSGGeometry::Point2D + size=8 align=4 + base size=8 base align=4 +QSGGeometry::Point2D (0x0x7b9f54785f60) 0 + +Class QSGGeometry::TexturedPoint2D + size=16 align=4 + base size=16 base align=4 +QSGGeometry::TexturedPoint2D (0x0x7b9f547cf000) 0 + +Class QSGGeometry::ColoredPoint2D + size=12 align=4 + base size=12 base align=4 +QSGGeometry::ColoredPoint2D (0x0x7b9f547cf060) 0 + +Vtable for QSGGeometry +QSGGeometry::_ZTV11QSGGeometry: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSGGeometry) +16 (int (*)(...))QSGGeometry::~QSGGeometry +24 (int (*)(...))QSGGeometry::~QSGGeometry + +Class QSGGeometry + size=128 align=8 + base size=128 base align=8 +QSGGeometry (0x0x7b9f54785e40) 0 + vptr=((& QSGGeometry::_ZTV11QSGGeometry) + 16) + +Vtable for QSGNode +QSGNode::_ZTV7QSGNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QSGNode) +16 (int (*)(...))QSGNode::~QSGNode +24 (int (*)(...))QSGNode::~QSGNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGNode + size=72 align=8 + base size=72 base align=8 +QSGNode (0x0x7b9f547cfa20) 0 + vptr=((& QSGNode::_ZTV7QSGNode) + 16) + +Vtable for QSGBasicGeometryNode +QSGBasicGeometryNode::_ZTV20QSGBasicGeometryNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QSGBasicGeometryNode) +16 (int (*)(...))QSGBasicGeometryNode::~QSGBasicGeometryNode +24 (int (*)(...))QSGBasicGeometryNode::~QSGBasicGeometryNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGBasicGeometryNode + size=104 align=8 + base size=104 base align=8 +QSGBasicGeometryNode (0x0x7b9f5477b3a8) 0 + vptr=((& QSGBasicGeometryNode::_ZTV20QSGBasicGeometryNode) + 16) +QSGNode (0x0x7b9f5480d2a0) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f5477b3a8) + +Vtable for QSGGeometryNode +QSGGeometryNode::_ZTV15QSGGeometryNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSGGeometryNode) +16 (int (*)(...))QSGGeometryNode::~QSGGeometryNode +24 (int (*)(...))QSGGeometryNode::~QSGGeometryNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGGeometryNode + size=136 align=8 + base size=136 base align=8 +QSGGeometryNode (0x0x7b9f5477b410) 0 + vptr=((& QSGGeometryNode::_ZTV15QSGGeometryNode) + 16) +QSGBasicGeometryNode (0x0x7b9f5477b478) 0 + primary-for QSGGeometryNode (0x0x7b9f5477b410) +QSGNode (0x0x7b9f5480d540) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f5477b478) + +Vtable for QSGClipNode +QSGClipNode::_ZTV11QSGClipNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSGClipNode) +16 (int (*)(...))QSGClipNode::~QSGClipNode +24 (int (*)(...))QSGClipNode::~QSGClipNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGClipNode + size=144 align=8 + base size=144 base align=8 +QSGClipNode (0x0x7b9f5477b4e0) 0 + vptr=((& QSGClipNode::_ZTV11QSGClipNode) + 16) +QSGBasicGeometryNode (0x0x7b9f5477b548) 0 + primary-for QSGClipNode (0x0x7b9f5477b4e0) +QSGNode (0x0x7b9f5480d720) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f5477b548) + +Vtable for QSGTransformNode +QSGTransformNode::_ZTV16QSGTransformNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QSGTransformNode) +16 (int (*)(...))QSGTransformNode::~QSGTransformNode +24 (int (*)(...))QSGTransformNode::~QSGTransformNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGTransformNode + size=208 align=8 + base size=208 base align=8 +QSGTransformNode (0x0x7b9f5477b5b0) 0 + vptr=((& QSGTransformNode::_ZTV16QSGTransformNode) + 16) +QSGNode (0x0x7b9f5480d840) 0 + primary-for QSGTransformNode (0x0x7b9f5477b5b0) + +Vtable for QSGRootNode +QSGRootNode::_ZTV11QSGRootNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSGRootNode) +16 (int (*)(...))QSGRootNode::~QSGRootNode +24 (int (*)(...))QSGRootNode::~QSGRootNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGRootNode + size=96 align=8 + base size=96 base align=8 +QSGRootNode (0x0x7b9f5477b618) 0 + vptr=((& QSGRootNode::_ZTV11QSGRootNode) + 16) +QSGNode (0x0x7b9f5480d960) 0 + primary-for QSGRootNode (0x0x7b9f5477b618) + +Vtable for QSGOpacityNode +QSGOpacityNode::_ZTV14QSGOpacityNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSGOpacityNode) +16 (int (*)(...))QSGOpacityNode::~QSGOpacityNode +24 (int (*)(...))QSGOpacityNode::~QSGOpacityNode +32 (int (*)(...))QSGOpacityNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGOpacityNode + size=88 align=8 + base size=88 base align=8 +QSGOpacityNode (0x0x7b9f5477bd68) 0 + vptr=((& QSGOpacityNode::_ZTV14QSGOpacityNode) + 16) +QSGNode (0x0x7b9f5484b240) 0 + primary-for QSGOpacityNode (0x0x7b9f5477bd68) + +Vtable for QSGNodeVisitor +QSGNodeVisitor::_ZTV14QSGNodeVisitor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSGNodeVisitor) +16 (int (*)(...))QSGNodeVisitor::~QSGNodeVisitor +24 (int (*)(...))QSGNodeVisitor::~QSGNodeVisitor +32 (int (*)(...))QSGNodeVisitor::enterTransformNode +40 (int (*)(...))QSGNodeVisitor::leaveTransformNode +48 (int (*)(...))QSGNodeVisitor::enterClipNode +56 (int (*)(...))QSGNodeVisitor::leaveClipNode +64 (int (*)(...))QSGNodeVisitor::enterGeometryNode +72 (int (*)(...))QSGNodeVisitor::leaveGeometryNode +80 (int (*)(...))QSGNodeVisitor::enterOpacityNode +88 (int (*)(...))QSGNodeVisitor::leaveOpacityNode +96 (int (*)(...))QSGNodeVisitor::visitNode +104 (int (*)(...))QSGNodeVisitor::visitChildren + +Class QSGNodeVisitor + size=8 align=8 + base size=8 base align=8 +QSGNodeVisitor (0x0x7b9f5484b360) 0 nearly-empty + vptr=((& QSGNodeVisitor::_ZTV14QSGNodeVisitor) + 16) + +Vtable for QSGRendererInterface +QSGRendererInterface::_ZTV20QSGRendererInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QSGRendererInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QSGRendererInterface::getResource +48 (int (*)(...))QSGRendererInterface::getResource +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QSGRendererInterface + size=8 align=8 + base size=8 base align=8 +QSGRendererInterface (0x0x7b9f5484bc00) 0 nearly-empty + vptr=((& QSGRendererInterface::_ZTV20QSGRendererInterface) + 16) + +Class QQuickWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickWindow::QPrivateSignal (0x0x7b9f548b0600) 0 empty + +Class QQuickWindow::GraphicsStateInfo + size=8 align=4 + base size=8 base align=4 +QQuickWindow::GraphicsStateInfo (0x0x7b9f548b0660) 0 + +Vtable for QQuickWindow +QQuickWindow::_ZTV12QQuickWindow: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QQuickWindow) +16 (int (*)(...))QQuickWindow::metaObject +24 (int (*)(...))QQuickWindow::qt_metacast +32 (int (*)(...))QQuickWindow::qt_metacall +40 (int (*)(...))QQuickWindow::~QQuickWindow +48 (int (*)(...))QQuickWindow::~QQuickWindow +56 (int (*)(...))QQuickWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QQuickWindow::accessibleRoot +144 (int (*)(...))QQuickWindow::focusObject +152 (int (*)(...))QQuickWindow::exposeEvent +160 (int (*)(...))QQuickWindow::resizeEvent +168 (int (*)(...))QWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QQuickWindow::focusInEvent +192 (int (*)(...))QQuickWindow::focusOutEvent +200 (int (*)(...))QQuickWindow::showEvent +208 (int (*)(...))QQuickWindow::hideEvent +216 (int (*)(...))QQuickWindow::closeEvent +224 (int (*)(...))QQuickWindow::keyPressEvent +232 (int (*)(...))QQuickWindow::keyReleaseEvent +240 (int (*)(...))QQuickWindow::mousePressEvent +248 (int (*)(...))QQuickWindow::mouseReleaseEvent +256 (int (*)(...))QQuickWindow::mouseDoubleClickEvent +264 (int (*)(...))QQuickWindow::mouseMoveEvent +272 (int (*)(...))QQuickWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QQuickWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))-16 +320 (int (*)(...))(& _ZTI12QQuickWindow) +328 (int (*)(...))QQuickWindow::_ZThn16_N12QQuickWindowD1Ev +336 (int (*)(...))QQuickWindow::_ZThn16_N12QQuickWindowD0Ev +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QQuickWindow + size=40 align=8 + base size=40 base align=8 +QQuickWindow (0x0x7b9f5477bf70) 0 + vptr=((& QQuickWindow::_ZTV12QQuickWindow) + 16) +QWindow (0x0x7b9f54897930) 0 + primary-for QQuickWindow (0x0x7b9f5477bf70) +QObject (0x0x7b9f548b0540) 0 + primary-for QWindow (0x0x7b9f54897930) +QSurface (0x0x7b9f548b05a0) 16 + vptr=((& QQuickWindow::_ZTV12QQuickWindow) + 328) + +Class QQuickView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QQuickView::QPrivateSignal (0x0x7b9f53b01960) 0 empty + +Vtable for QQuickView +QQuickView::_ZTV10QQuickView: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QQuickView) +16 (int (*)(...))QQuickView::metaObject +24 (int (*)(...))QQuickView::qt_metacast +32 (int (*)(...))QQuickView::qt_metacall +40 (int (*)(...))QQuickView::~QQuickView +48 (int (*)(...))QQuickView::~QQuickView +56 (int (*)(...))QQuickWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QQuickView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QQuickWindow::accessibleRoot +144 (int (*)(...))QQuickWindow::focusObject +152 (int (*)(...))QQuickWindow::exposeEvent +160 (int (*)(...))QQuickView::resizeEvent +168 (int (*)(...))QWindow::paintEvent +176 (int (*)(...))QWindow::moveEvent +184 (int (*)(...))QQuickWindow::focusInEvent +192 (int (*)(...))QQuickWindow::focusOutEvent +200 (int (*)(...))QQuickWindow::showEvent +208 (int (*)(...))QQuickWindow::hideEvent +216 (int (*)(...))QQuickWindow::closeEvent +224 (int (*)(...))QQuickView::keyPressEvent +232 (int (*)(...))QQuickView::keyReleaseEvent +240 (int (*)(...))QQuickView::mousePressEvent +248 (int (*)(...))QQuickView::mouseReleaseEvent +256 (int (*)(...))QQuickWindow::mouseDoubleClickEvent +264 (int (*)(...))QQuickView::mouseMoveEvent +272 (int (*)(...))QQuickWindow::wheelEvent +280 (int (*)(...))QWindow::touchEvent +288 (int (*)(...))QQuickWindow::tabletEvent +296 (int (*)(...))QWindow::nativeEvent +304 (int (*)(...))QWindow::surfaceHandle +312 (int (*)(...))-16 +320 (int (*)(...))(& _ZTI10QQuickView) +328 (int (*)(...))QQuickView::_ZThn16_N10QQuickViewD1Ev +336 (int (*)(...))QQuickView::_ZThn16_N10QQuickViewD0Ev +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QQuickView + size=40 align=8 + base size=40 base align=8 +QQuickView (0x0x7b9f53b060d0) 0 + vptr=((& QQuickView::_ZTV10QQuickView) + 16) +QQuickWindow (0x0x7b9f53b06138) 0 + primary-for QQuickView (0x0x7b9f53b060d0) +QWindow (0x0x7b9f548d59a0) 0 + primary-for QQuickWindow (0x0x7b9f53b06138) +QObject (0x0x7b9f53b018a0) 0 + primary-for QWindow (0x0x7b9f548d59a0) +QSurface (0x0x7b9f53b01900) 16 + vptr=((& QQuickView::_ZTV10QQuickView) + 328) + +Class QSGMaterialType + size=1 align=1 + base size=0 base align=1 +QSGMaterialType (0x0x7b9f53b01c60) 0 empty + +Class QSGMaterialShader::RenderState + size=16 align=8 + base size=16 base align=8 +QSGMaterialShader::RenderState (0x0x7b9f53b01d20) 0 + +Class QSGMaterialShader::GraphicsPipelineState + size=52 align=4 + base size=52 base align=4 +QSGMaterialShader::GraphicsPipelineState (0x0x7b9f53b01f60) 0 + +Vtable for QSGMaterialShader +QSGMaterialShader::_ZTV17QSGMaterialShader: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSGMaterialShader) +16 (int (*)(...))QSGMaterialShader::~QSGMaterialShader +24 (int (*)(...))QSGMaterialShader::~QSGMaterialShader +32 (int (*)(...))QSGMaterialShader::updateUniformData +40 (int (*)(...))QSGMaterialShader::updateSampledImage +48 (int (*)(...))QSGMaterialShader::updateGraphicsPipelineState + +Class QSGMaterialShader + size=16 align=8 + base size=16 base align=8 +QSGMaterialShader (0x0x7b9f53b01cc0) 0 + vptr=((& QSGMaterialShader::_ZTV17QSGMaterialShader) + 16) + +Vtable for QSGMaterial +QSGMaterial::_ZTV11QSGMaterial: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSGMaterial) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QSGMaterial::compare + +Class QSGMaterial + size=24 align=8 + base size=24 base align=8 +QSGMaterial (0x0x7b9f53b34f60) 0 + vptr=((& QSGMaterial::_ZTV11QSGMaterial) + 16) + +Vtable for QSGFlatColorMaterial +QSGFlatColorMaterial::_ZTV20QSGFlatColorMaterial: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QSGFlatColorMaterial) +16 (int (*)(...))QSGFlatColorMaterial::~QSGFlatColorMaterial +24 (int (*)(...))QSGFlatColorMaterial::~QSGFlatColorMaterial +32 (int (*)(...))QSGFlatColorMaterial::type +40 (int (*)(...))QSGFlatColorMaterial::createShader +48 (int (*)(...))QSGFlatColorMaterial::compare + +Class QSGFlatColorMaterial + size=40 align=8 + base size=40 base align=8 +QSGFlatColorMaterial (0x0x7b9f53b064e0) 0 + vptr=((& QSGFlatColorMaterial::_ZTV20QSGFlatColorMaterial) + 16) +QSGMaterial (0x0x7b9f53b854e0) 0 + primary-for QSGFlatColorMaterial (0x0x7b9f53b064e0) + +Class QNativeInterface::QSGOpenGLTexture::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QSGOpenGLTexture::TypeInfo (0x0x7b9f53b85600) 0 empty + +Vtable for QNativeInterface::QSGOpenGLTexture +QNativeInterface::QSGOpenGLTexture::_ZTVN16QNativeInterface16QSGOpenGLTextureE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface16QSGOpenGLTextureE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QSGOpenGLTexture + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QSGOpenGLTexture (0x0x7b9f53b855a0) 0 nearly-empty + vptr=((& QNativeInterface::QSGOpenGLTexture::_ZTVN16QNativeInterface16QSGOpenGLTextureE) + 16) + +Class QNativeInterface::QSGVulkanTexture::TypeInfo + size=1 align=1 + base size=0 base align=1 +QNativeInterface::QSGVulkanTexture::TypeInfo (0x0x7b9f53b85720) 0 empty + +Vtable for QNativeInterface::QSGVulkanTexture +QNativeInterface::QSGVulkanTexture::_ZTVN16QNativeInterface16QSGVulkanTextureE: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN16QNativeInterface16QSGVulkanTextureE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QNativeInterface::QSGVulkanTexture + size=8 align=8 + base size=8 base align=8 +QNativeInterface::QSGVulkanTexture (0x0x7b9f53b856c0) 0 nearly-empty + vptr=((& QNativeInterface::QSGVulkanTexture::_ZTVN16QNativeInterface16QSGVulkanTextureE) + 16) + +Class QSGTexture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSGTexture::QPrivateSignal (0x0x7b9f53b85840) 0 empty + +Vtable for QSGTexture +QSGTexture::_ZTV10QSGTexture: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSGTexture) +16 (int (*)(...))QSGTexture::metaObject +24 (int (*)(...))QSGTexture::qt_metacast +32 (int (*)(...))QSGTexture::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QSGTexture::rhiTexture +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QSGTexture::normalizedTextureSubRect +160 (int (*)(...))QSGTexture::isAtlasTexture +168 (int (*)(...))QSGTexture::removedFromAtlas +176 (int (*)(...))QSGTexture::commitTextureOperations + +Class QSGTexture + size=16 align=8 + base size=16 base align=8 +QSGTexture (0x0x7b9f53b06548) 0 + vptr=((& QSGTexture::_ZTV10QSGTexture) + 16) +QObject (0x0x7b9f53b857e0) 0 + primary-for QSGTexture (0x0x7b9f53b06548) + +Class QSGDynamicTexture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSGDynamicTexture::QPrivateSignal (0x0x7b9f53b85ae0) 0 empty + +Vtable for QSGDynamicTexture +QSGDynamicTexture::_ZTV17QSGDynamicTexture: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSGDynamicTexture) +16 (int (*)(...))QSGDynamicTexture::metaObject +24 (int (*)(...))QSGDynamicTexture::qt_metacast +32 (int (*)(...))QSGDynamicTexture::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QSGTexture::rhiTexture +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QSGTexture::normalizedTextureSubRect +160 (int (*)(...))QSGTexture::isAtlasTexture +168 (int (*)(...))QSGTexture::removedFromAtlas +176 (int (*)(...))QSGTexture::commitTextureOperations +184 (int (*)(...))__cxa_pure_virtual + +Class QSGDynamicTexture + size=16 align=8 + base size=16 base align=8 +QSGDynamicTexture (0x0x7b9f53b065b0) 0 + vptr=((& QSGDynamicTexture::_ZTV17QSGDynamicTexture) + 16) +QSGTexture (0x0x7b9f53b06618) 0 + primary-for QSGDynamicTexture (0x0x7b9f53b065b0) +QObject (0x0x7b9f53b85a80) 0 + primary-for QSGTexture (0x0x7b9f53b06618) + +Vtable for QSGImageNode +QSGImageNode::_ZTV12QSGImageNode: 22 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QSGImageNode) +16 0 +24 0 +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual + +Class QSGImageNode + size=136 align=8 + base size=136 base align=8 +QSGImageNode (0x0x7b9f53b06680) 0 + vptr=((& QSGImageNode::_ZTV12QSGImageNode) + 16) +QSGGeometryNode (0x0x7b9f53b066e8) 0 + primary-for QSGImageNode (0x0x7b9f53b06680) +QSGBasicGeometryNode (0x0x7b9f53b06750) 0 + primary-for QSGGeometryNode (0x0x7b9f53b066e8) +QSGNode (0x0x7b9f53b85ba0) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f53b06750) + +Vtable for QSGNinePatchNode +QSGNinePatchNode::_ZTV16QSGNinePatchNode: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QSGNinePatchNode) +16 0 +24 0 +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual + +Class QSGNinePatchNode + size=136 align=8 + base size=136 base align=8 +QSGNinePatchNode (0x0x7b9f53b06888) 0 + vptr=((& QSGNinePatchNode::_ZTV16QSGNinePatchNode) + 16) +QSGGeometryNode (0x0x7b9f53b068f0) 0 + primary-for QSGNinePatchNode (0x0x7b9f53b06888) +QSGBasicGeometryNode (0x0x7b9f53b06958) 0 + primary-for QSGGeometryNode (0x0x7b9f53b068f0) +QSGNode (0x0x7b9f53be1180) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f53b06958) + +Vtable for QSGRectangleNode +QSGRectangleNode::_ZTV16QSGRectangleNode: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QSGRectangleNode) +16 0 +24 0 +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QSGRectangleNode + size=136 align=8 + base size=136 base align=8 +QSGRectangleNode (0x0x7b9f53b069c0) 0 + vptr=((& QSGRectangleNode::_ZTV16QSGRectangleNode) + 16) +QSGGeometryNode (0x0x7b9f53b06a28) 0 + primary-for QSGRectangleNode (0x0x7b9f53b069c0) +QSGBasicGeometryNode (0x0x7b9f53b06a90) 0 + primary-for QSGGeometryNode (0x0x7b9f53b06a28) +QSGNode (0x0x7b9f53be11e0) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f53b06a90) + +Vtable for QSGRenderNode::RenderState +QSGRenderNode::RenderState::_ZTVN13QSGRenderNode11RenderStateE: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QSGRenderNode11RenderStateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))QSGRenderNode::RenderState::get + +Class QSGRenderNode::RenderState + size=8 align=8 + base size=8 base align=8 +QSGRenderNode::RenderState (0x0x7b9f53be1300) 0 nearly-empty + vptr=((& QSGRenderNode::RenderState::_ZTVN13QSGRenderNode11RenderStateE) + 16) + +Vtable for QSGRenderNode +QSGRenderNode::_ZTV13QSGRenderNode: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSGRenderNode) +16 0 +24 0 +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess +48 (int (*)(...))QSGRenderNode::changedStates +56 (int (*)(...))QSGRenderNode::prepare +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))QSGRenderNode::releaseResources +80 (int (*)(...))QSGRenderNode::flags +88 (int (*)(...))QSGRenderNode::rect + +Class QSGRenderNode + size=80 align=8 + base size=80 base align=8 +QSGRenderNode (0x0x7b9f53b06af8) 0 + vptr=((& QSGRenderNode::_ZTV13QSGRenderNode) + 16) +QSGNode (0x0x7b9f53be12a0) 0 + primary-for QSGRenderNode (0x0x7b9f53b06af8) + +Vtable for QSGSimpleRectNode +QSGSimpleRectNode::_ZTV17QSGSimpleRectNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSGSimpleRectNode) +16 (int (*)(...))QSGSimpleRectNode::~QSGSimpleRectNode +24 (int (*)(...))QSGSimpleRectNode::~QSGSimpleRectNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGSimpleRectNode + size=312 align=8 + base size=312 base align=8 +QSGSimpleRectNode (0x0x7b9f53b06d00) 0 + vptr=((& QSGSimpleRectNode::_ZTV17QSGSimpleRectNode) + 16) +QSGGeometryNode (0x0x7b9f53b06d68) 0 + primary-for QSGSimpleRectNode (0x0x7b9f53b06d00) +QSGBasicGeometryNode (0x0x7b9f53b06dd0) 0 + primary-for QSGGeometryNode (0x0x7b9f53b06d68) +QSGNode (0x0x7b9f53be1c60) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f53b06dd0) + +Vtable for QSGOpaqueTextureMaterial +QSGOpaqueTextureMaterial::_ZTV24QSGOpaqueTextureMaterial: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QSGOpaqueTextureMaterial) +16 (int (*)(...))QSGOpaqueTextureMaterial::~QSGOpaqueTextureMaterial +24 (int (*)(...))QSGOpaqueTextureMaterial::~QSGOpaqueTextureMaterial +32 (int (*)(...))QSGOpaqueTextureMaterial::type +40 (int (*)(...))QSGOpaqueTextureMaterial::createShader +48 (int (*)(...))QSGOpaqueTextureMaterial::compare + +Class QSGOpaqueTextureMaterial + size=40 align=8 + base size=36 base align=8 +QSGOpaqueTextureMaterial (0x0x7b9f53b06e38) 0 + vptr=((& QSGOpaqueTextureMaterial::_ZTV24QSGOpaqueTextureMaterial) + 16) +QSGMaterial (0x0x7b9f53be1d20) 0 + primary-for QSGOpaqueTextureMaterial (0x0x7b9f53b06e38) + +Vtable for QSGTextureMaterial +QSGTextureMaterial::_ZTV18QSGTextureMaterial: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSGTextureMaterial) +16 (int (*)(...))QSGTextureMaterial::~QSGTextureMaterial +24 (int (*)(...))QSGTextureMaterial::~QSGTextureMaterial +32 (int (*)(...))QSGTextureMaterial::type +40 (int (*)(...))QSGTextureMaterial::createShader +48 (int (*)(...))QSGOpaqueTextureMaterial::compare + +Class QSGTextureMaterial + size=40 align=8 + base size=36 base align=8 +QSGTextureMaterial (0x0x7b9f53b06ea0) 0 + vptr=((& QSGTextureMaterial::_ZTV18QSGTextureMaterial) + 16) +QSGOpaqueTextureMaterial (0x0x7b9f53b06f08) 0 + primary-for QSGTextureMaterial (0x0x7b9f53b06ea0) +QSGMaterial (0x0x7b9f53c341e0) 0 + primary-for QSGOpaqueTextureMaterial (0x0x7b9f53b06f08) + +Vtable for QSGSimpleTextureNode +QSGSimpleTextureNode::_ZTV20QSGSimpleTextureNode: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QSGSimpleTextureNode) +16 (int (*)(...))QSGSimpleTextureNode::~QSGSimpleTextureNode +24 (int (*)(...))QSGSimpleTextureNode::~QSGSimpleTextureNode +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess + +Class QSGSimpleTextureNode + size=376 align=8 + base size=376 base align=8 +QSGSimpleTextureNode (0x0x7b9f53b06f70) 0 + vptr=((& QSGSimpleTextureNode::_ZTV20QSGSimpleTextureNode) + 16) +QSGGeometryNode (0x0x7b9f53c37000) 0 + primary-for QSGSimpleTextureNode (0x0x7b9f53b06f70) +QSGBasicGeometryNode (0x0x7b9f53c37068) 0 + primary-for QSGGeometryNode (0x0x7b9f53c37000) +QSGNode (0x0x7b9f53c34240) 0 + primary-for QSGBasicGeometryNode (0x0x7b9f53c37068) + +Vtable for QSGTextNode +QSGTextNode::_ZTV11QSGTextNode: 29 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSGTextNode) +16 0 +24 0 +32 (int (*)(...))QSGNode::isSubtreeBlocked +40 (int (*)(...))QSGNode::preprocess +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual + +Class QSGTextNode + size=208 align=8 + base size=208 base align=8 +QSGTextNode (0x0x7b9f53c371a0) 0 + vptr=((& QSGTextNode::_ZTV11QSGTextNode) + 16) +QSGTransformNode (0x0x7b9f53c37208) 0 + primary-for QSGTextNode (0x0x7b9f53c371a0) +QSGNode (0x0x7b9f53c34a20) 0 + primary-for QSGTransformNode (0x0x7b9f53c37208) + +Class QSGTextureProvider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSGTextureProvider::QPrivateSignal (0x0x7b9f53c34ba0) 0 empty + +Vtable for QSGTextureProvider +QSGTextureProvider::_ZTV18QSGTextureProvider: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSGTextureProvider) +16 (int (*)(...))QSGTextureProvider::metaObject +24 (int (*)(...))QSGTextureProvider::qt_metacast +32 (int (*)(...))QSGTextureProvider::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSGTextureProvider + size=16 align=8 + base size=16 base align=8 +QSGTextureProvider (0x0x7b9f53c37340) 0 + vptr=((& QSGTextureProvider::_ZTV18QSGTextureProvider) + 16) +QObject (0x0x7b9f53c34b40) 0 + primary-for QSGTextureProvider (0x0x7b9f53c37340) + +Vtable for QSGVertexColorMaterial +QSGVertexColorMaterial::_ZTV22QSGVertexColorMaterial: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QSGVertexColorMaterial) +16 (int (*)(...))QSGVertexColorMaterial::~QSGVertexColorMaterial +24 (int (*)(...))QSGVertexColorMaterial::~QSGVertexColorMaterial +32 (int (*)(...))QSGVertexColorMaterial::type +40 (int (*)(...))QSGVertexColorMaterial::createShader +48 (int (*)(...))QSGVertexColorMaterial::compare + +Class QSGVertexColorMaterial + size=24 align=8 + base size=24 base align=8 +QSGVertexColorMaterial (0x0x7b9f53c373a8) 0 + vptr=((& QSGVertexColorMaterial::_ZTV22QSGVertexColorMaterial) + 16) +QSGMaterial (0x0x7b9f53c34c60) 0 + primary-for QSGVertexColorMaterial (0x0x7b9f53c373a8) + +Class QAbstractItemModelTester::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModelTester::QPrivateSignal (0x0x7b9f53c34d20) 0 empty + +Vtable for QAbstractItemModelTester +QAbstractItemModelTester::_ZTV24QAbstractItemModelTester: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractItemModelTester) +16 (int (*)(...))QAbstractItemModelTester::metaObject +24 (int (*)(...))QAbstractItemModelTester::qt_metacast +32 (int (*)(...))QAbstractItemModelTester::qt_metacall +40 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester +48 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QAbstractItemModelTester + size=16 align=8 + base size=16 base align=8 +QAbstractItemModelTester (0x0x7b9f53c37410) 0 + vptr=((& QAbstractItemModelTester::_ZTV24QAbstractItemModelTester) + 16) +QObject (0x0x7b9f53c34cc0) 0 + primary-for QAbstractItemModelTester (0x0x7b9f53c37410) + +Class QTest::QBenchmarkIterationController + size=4 align=4 + base size=4 base align=4 +QTest::QBenchmarkIterationController (0x0x7b9f53c34f00) 0 + +Class QTestEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTestEventLoop::QPrivateSignal (0x0x7b9f53aa4780) 0 empty + +Vtable for QTestEventLoop +QTestEventLoop::_ZTV14QTestEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTestEventLoop) +16 (int (*)(...))QTestEventLoop::metaObject +24 (int (*)(...))QTestEventLoop::qt_metacast +32 (int (*)(...))QTestEventLoop::qt_metacall +40 (int (*)(...))QTestEventLoop::~QTestEventLoop +48 (int (*)(...))QTestEventLoop::~QTestEventLoop +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTestEventLoop::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTestEventLoop + size=32 align=8 + base size=32 base align=8 +QTestEventLoop (0x0x7b9f53a7e478) 0 + vptr=((& QTestEventLoop::_ZTV14QTestEventLoop) + 16) +QObject (0x0x7b9f53aa4720) 0 + primary-for QTestEventLoop (0x0x7b9f53a7e478) + +Vtable for QSignalSpy +QSignalSpy::_ZTV10QSignalSpy: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSignalSpy) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QSignalSpy::qt_metacall +40 (int (*)(...))QSignalSpy::~QSignalSpy +48 (int (*)(...))QSignalSpy::~QSignalSpy +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalSpy + size=128 align=8 + base size=121 base align=8 +QSignalSpy (0x0x7b9f53ac1690) 0 + vptr=((& QSignalSpy::_ZTV10QSignalSpy) + 16) +QObject (0x0x7b9f536dc8a0) 0 + primary-for QSignalSpy (0x0x7b9f53ac1690) +QList<QList<QVariant> > (0x0x7b9f536d7c30) 16 +QListSpecialMethods<QList<QVariant> > (0x0x7b9f536d7c98) 16 empty +QListSpecialMethodsBase<QList<QVariant> > (0x0x7b9f536dc900) 16 empty + +Class QTestData + size=8 align=8 + base size=8 base align=8 +QTestData (0x0x7b9f5372de40) 0 + +Class QTest::Internal::QCborValueFormatter + size=1 align=1 + base size=0 base align=1 +QTest::Internal::QCborValueFormatter (0x0x7b9f537d0780) 0 empty + +Vtable for QSvgGenerator +QSvgGenerator::_ZTV13QSvgGenerator: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSvgGenerator) +16 (int (*)(...))QSvgGenerator::~QSvgGenerator +24 (int (*)(...))QSvgGenerator::~QSvgGenerator +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))QSvgGenerator::paintEngine +48 (int (*)(...))QSvgGenerator::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QSvgGenerator + size=24 align=8 + base size=24 base align=8 +QSvgGenerator (0x0x7b9f5350c340) 0 + vptr=((& QSvgGenerator::_ZTV13QSvgGenerator) + 16) +QPaintDevice (0x0x7b9f5352a420) 0 + primary-for QSvgGenerator (0x0x7b9f5350c340) + +Class QSvgRenderer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSvgRenderer::QPrivateSignal (0x0x7b9f5352a660) 0 empty + +Vtable for QSvgRenderer +QSvgRenderer::_ZTV12QSvgRenderer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QSvgRenderer) +16 (int (*)(...))QSvgRenderer::metaObject +24 (int (*)(...))QSvgRenderer::qt_metacast +32 (int (*)(...))QSvgRenderer::qt_metacall +40 (int (*)(...))QSvgRenderer::~QSvgRenderer +48 (int (*)(...))QSvgRenderer::~QSvgRenderer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSvgRenderer + size=16 align=8 + base size=16 base align=8 +QSvgRenderer (0x0x7b9f5350c3a8) 0 + vptr=((& QSvgRenderer::_ZTV12QSvgRenderer) + 16) +QObject (0x0x7b9f5352a600) 0 + primary-for QSvgRenderer (0x0x7b9f5350c3a8) + diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt index 3331ad260d..b159de7c9c 100644 --- a/tests/auto/cmake/CMakeLists.txt +++ b/tests/auto/cmake/CMakeLists.txt @@ -399,8 +399,44 @@ endif() _qt_internal_test_expect_pass(test_config_expressions) _qt_internal_test_expect_pass(test_QTP0003) + if(NOT NO_GUI) _qt_internal_test_expect_pass(test_collecting_plugins) endif() _qt_internal_test_expect_pass(test_qt_manual_moc) + +# check if the os is opensuse. If it is, we need to skip tests due to CI problems +set(is_opensuse FALSE) +if(UNIX) + if(EXISTS "/etc/os-release") + file(STRINGS "/etc/os-release" os_release_content) + foreach(line IN LISTS os_release_content) + if(line MATCHES "openSUSE" OR line MATCHES "opensuse") + set(is_opensuse TRUE) + break() + endif() + endforeach() + endif() +endif() + +if(NOT QNX AND NOT WASM AND NOT (WIN32 AND QT_BUILD_MINIMAL_STATIC_TESTS) + AND NOT is_opensuse) + # Since our CI machines are slow, ctest --build-and-test buffers the output + # of the configure step of a test, and the fact that we run all the test + # logic in the configure step, we need to divide the tests into smaller + # chunks to avoid CI stdout timeout errors. + # See https://gitlab.kitware.com/cmake/cmake/-/issues/25790 + _qt_internal_test_expect_pass(test_qt_add_ui_common) + _qt_internal_test_expect_pass(test_qt_add_ui_1) + _qt_internal_test_expect_pass(test_qt_add_ui_2) + _qt_internal_test_expect_pass(test_qt_add_ui_3) + _qt_internal_test_expect_pass(test_qt_add_ui_4) + _qt_internal_test_expect_pass(test_qt_add_ui_5) + _qt_internal_test_expect_pass(test_qt_add_ui_6) + _qt_internal_test_expect_pass(test_qt_add_ui_7) + _qt_internal_test_expect_pass(test_qt_add_ui_8) + _qt_internal_test_expect_pass(test_qt_add_ui_9) + _qt_internal_test_expect_pass(test_qt_add_ui_10) +endif() + diff --git a/tests/auto/cmake/test_qt_add_ui_1/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_1/CMakeLists.txt new file mode 100644 index 0000000000..882abecc0b --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_1/CMakeLists.txt @@ -0,0 +1,62 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + if(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: ui_mainwindow.h is included as + # "sub1/sub2/sub3/sub4/../../../../src/ui_files/ui_mainwindow.h". + # Expect 1: Successful build without the double build issue. + # Expect 2: No build folder leakage and generation of the + # sub1/sub2/sub3/sub4 folder in ${hash_folder}/include + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder( "example" "${test_ui_file}" hash_folder) + string(CONCAT test_build_dir + "${CMAKE_CURRENT_BINARY_DIR}/UicBuildLeak_incPathGen" + "${config_path}-build") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_additional_args "-DMAINWINDOW_UI_PATH=sub1/sub2/" + "sub3/sub4/../../../../src/ui_files/") + string(CONCAT test_file_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/src/ui_files/ui_mainwindow.h") + string(CONCAT test_folder_to_check "${test_build_dir}/.qt/" + "${hash_folder}/${config_arg}/sub1/sub2/sub3/sub4") + incremental_build_test( + TEST_NAME UicBuildLeak_incPathGen + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + ADDITIONAL_ARGS "${test_additional_args}" + FILE_TO_TOUCH "${test_ui_file}" + FILE_TO_CHECK "${test_file_to_check}" + FOLDER_TO_CHECK "${test_folder_to_check}" + ) + endforeach() +endforeach() + diff --git a/tests/auto/cmake/test_qt_add_ui_10/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_10/CMakeLists.txt new file mode 100644 index 0000000000..6b223fb281 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_10/CMakeLists.txt @@ -0,0 +1,62 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: mainwindow.ui file is touched after the first build. The + # ui_mainwindow.h should be generated without the ${config_arg} folder. + # Expect 1: Successful build without the double build issue. + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "qt_add_ui_simple_no_config${config_path}-build") + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_file_to_touch "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder( + "example" + "${test_ui_file}" + hash_folder) + incremental_build_test( + TEST_NAME qt6_add_ui_simple_no_config + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + CONFIG "${config_arg}" + ADDITIONAL_ARGS "-DUI_NO_CONFIG_OPTIONS=ON" + FILE_TO_TOUCH "${test_file_to_touch}" + FILE_TO_CHECK + "${test_build_dir}/.qt/${hash_folder}/ui_mainwindow.h" + ) + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_2/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_2/CMakeLists.txt new file mode 100644 index 0000000000..dceb0c7a2e --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_2/CMakeLists.txt @@ -0,0 +1,60 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: mainwindow.ui file is touched after the first build. + # Expect 1: Successful build without the double build issue. + set(test_build_dir + "${CMAKE_CURRENT_BINARY_DIR}/qt_add_ui_simple${config_path}-build") + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_file_to_touch "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder( + "example" + "${test_ui_file}" + hash_folder) + incremental_build_test( + TEST_NAME qt6_add_ui_simple + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + CONFIG "${config_arg}" + FILE_TO_TOUCH "${test_file_to_touch}" + FILE_TO_CHECK + "${test_build_dir}/.qt/${hash_folder}/${config_arg}/ui_mainwindow.h" + ) + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_3/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_3/CMakeLists.txt new file mode 100644 index 0000000000..81a9a38431 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_3/CMakeLists.txt @@ -0,0 +1,199 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + if(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: Check whether api sets warning against AUTOUIC activation. + # Expect 1: Printing of the error message and failure of the build. + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_warning_test${config_path}-build") + run_cmake_configure(SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + CLEAN_FIRST + ADDITIONAL_ARGS "-DCMAKE_AUTOUIC=ON" + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + if(NOT cmake_result EQUAL 0) + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error: " + "${cmake_error}\nFAIL: \"uic_warning_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}-" + "build failed to configure") + else() + message(STATUS "PASS: \"uic_warning_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}-" + "build was configured successfully") + endif() + + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_warning_test${config_path}-build") + run_cmake_build( + BUILD_DIR "${test_build_dir}" + VERBOSE ON + CONFIG "${config_arg}" + OUTPUT_VARIABLE cmake_build_output + RESULT_VARIABLE cmake_build_result) + if(NOT cmake_build_result EQUAL 0) + message(STATUS "PASS: \"uic_warning_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}" + "-build failed to build") + else() + message(FATAL_ERROR "FAIL: \"uic_warning_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}-" + "build was built successfully") + endif() + expect_string_contains("${cmake_build_output}" "has \"AUTOUIC\" enabled" + SUCCESS_MESSAGE "\"uic_warning_test\" test in \ +${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}-build \ +has \"has AUTOUIC enabled\"" + FAILURE_MESSAGE "\"uic_warning_test\" test in \ +${CMAKE_CURRENT_BINARY_DIR}/uic_warning_test${config_path}-build \ +does not have \"has AUTOUIC enabled\"") + + + if("${generator}" MATCHES "Ninja") + # Test case: If INCLUDE_PREFIX is changed without changing the + # corresponding include path in the source file and Ninja generator + # is used, this casues the double build issue. + # Note: Only happens in Ninja generator. + # Expect 1: Failure of the build in the first build. + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_double_build_test${config_path}-build") + run_cmake_configure(SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + CLEAN_FIRST + ADDITIONAL_ARGS "-DMAINWINDOW_UI_PATH=sub1/sub2/sub3/" + "-DDO_NOT_GENERATE_FILE=ON" + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + + if(NOT cmake_result EQUAL 0) + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error" + ": ${cmake_error}\nFAIL: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build failed to configure") + else() + message(STATUS "PASS: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build was configured successfully") + endif() + + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_double_build_test${config_path}-build") + run_cmake_build( + BUILD_DIR "${test_build_dir}" + VERBOSE ON + CONFIG "${config_arg}" + OUTPUT_VARIABLE cmake_build_output + RESULT_VARIABLE cmake_build_result) + + if(NOT cmake_build_result EQUAL 0) + message(FATAL_ERROR "cmake_build_output: ${cmake_build_output}" + "FAIL: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build failed to build in the first build") + else() + message(STATUS "PASS: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build was built successfully in the first " + "build") + endif() + + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_double_build_test${config_path}-build") + run_cmake_configure(SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + # We change the INCLUDE_PREFIX here. + ADDITIONAL_ARGS "-DMAINWINDOW_UI_PATH=sub1/sub2/sub/" + "-DDO_NOT_GENERATE_FILE=ON" + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + + if(NOT cmake_result EQUAL 0) + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error" + ":${cmake_error}\nFAIL: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build failed to configure in the second " + "build") + else() + message(STATUS "PASS: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build was configured successfully in the " + "second build") + endif() + + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_double_build_test${config_path}-build") + run_cmake_build( + BUILD_DIR "${test_build_dir}" + VERBOSE ON + CONFIG "${config_arg}" + OUTPUT_VARIABLE cmake_build_output + ERROR_VARIABLE cmake_build_error + RESULT_VARIABLE cmake_build_result) + + if(NOT cmake_build_result EQUAL 0) + message(STATUS "PASS: \"uic_double_build_test\" test in" + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build failed to build in the first build " + "after changing INCLUDE_PREFIX") + else() + message(FATAL_ERROR "cmake_build_output: ${cmake_build_output}" + "\ncmake_build_error: ${cmake_build_error}\n" + "FAIL: \"uic_double_build_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test" + "${config_path}-build was built successfully in the first " + "build after changing INCLUDE_PREFIX") + endif() + + set(expected_fail_string "No such file or directory|file not found") + expect_string_contains(${cmake_build_output} + "${expected_fail_string}" + SUCCESS_MESSAGE "\"uic_double_build_test\" test in \ +${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test${config_path}\ +-build has \"ui_mainwindow.h: No such file or directory\" in \ +the first build after changing INCLUDE_PREFIX" + FAILURE_MESSAGE "\"uic_double_build_test\" test in \ +${CMAKE_CURRENT_BINARY_DIR}/uic_double_build_test${config_path}\ +-build does not have \"ui_mainwindow.h: No such file or \ +directory\" in the first build after changing INCLUDE_PREFIX") + + endif() + endforeach() +endforeach() + diff --git a/tests/auto/cmake/test_qt_add_ui_4/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_4/CMakeLists.txt new file mode 100644 index 0000000000..51c74352d6 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_4/CMakeLists.txt @@ -0,0 +1,65 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: widget1.ui file is touched after the first build. + # Expect 1: Successful build without the double build issue. + # Expect 2: Only touched files to be built + set(test_build_dir + "${CMAKE_CURRENT_BINARY_DIR}/UicIncrementalBuild${config_path}-build") + string(CONCAT ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/UicIncrementalBuild/src/widget1.ui") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/UicIncrementalBuild") + + generate_hash_folder( + "example" + "${ui_file}" + hash_folder) + string(CONCAT test_file_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/src/ui_widget1.h") + incremental_build_test( + TEST_NAME UicIncrementalBuild + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + FILE_TO_TOUCH "${ui_file}" + FILE_TO_CHECK + "${test_file_to_check}" + FOLDER_TO_CHECK + "${test_build_dir}/.qt/${hash_folder}/${config_arg}/src" + CHECK_UNWANTED_BUILDS + ) + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_5/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_5/CMakeLists.txt new file mode 100644 index 0000000000..7b29bcf52b --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_5/CMakeLists.txt @@ -0,0 +1,164 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + if(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + + if("${generator}" MATCHES "Ninja") + # Test case: Add a new ui file to CMakeLists.txt after the first + # build. + # Expect 1: Expect ${target}_autogen/prefix_info.cmake to be + # generated as expected. + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_prefix_info_cmake_test${config_path}-build") + run_cmake_configure(SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + CLEAN_FIRST + ADDITIONAL_ARGS "-DMAINWINDOW_UI_PATH=sub1/sub2/sub3/" + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + + if(NOT cmake_result EQUAL 0) + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error" + ":${cmake_error}\nFAIL: \"uic_prefix_info_cmake_test\" test" + " in ${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build failed to configure") + else() + message(STATUS "PASS: \"uic_prefix_info_cmake_test\" test in" + "${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build was configured successfully") + endif() + + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder("example" "${test_ui_file}" + hash_folder_mainwindow) + string(CONCAT expected_prefix_info_cmake_content + "include_guard()\nset(${hash_folder_mainwindow}_prefix \"" + "sub1/sub2/sub3\")") + # read the content of the prefix_info.cmake file + string(CONCAT "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_prefix_info_cmake_test${config_path}-build") + file(READ + "${test_build_dir}/example_autogen/prefix_info.cmake" + prefix_info_cmake_content) + + if("${prefix_info_cmake_content}" STREQUAL + "${expected_prefix_info_cmake_content}") + message(STATUS "PASS: \"uic_prefix_info_cmake_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build has the expected content in " + "prefix_info.cmake") + else() + message(FATAL_ERROR "FAIL: \"uic_prefix_info_cmake_test\" test " + "in ${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build does not have the expected content in" + " prefix_info.cmake") + endif() + + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_prefix_info_cmake_test${config_path}-build") + run_cmake_build( + BUILD_DIR "${test_build_dir}" + VERBOSE ON + CONFIG "${config_arg}" + OUTPUT_VARIABLE cmake_build_output + ERROR_VARIABLE cmake_build_error + RESULT_VARIABLE cmake_build_result) + + if(NOT cmake_build_result EQUAL 0) + message(FATAL_ERROR "cmake_build_output: ${cmake_build_output}" + "\ncmake_build_error: ${cmake_build_error}\n" + "FAIL: \"uic_prefix_info_cmake_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build failed to build in the first build") + else() + message(STATUS "PASS: \"uic_prefix_info_cmake_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build was built successfully in the first " + "build") + endif() + + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_prefix_info_cmake_test${config_path}-build") + run_cmake_configure(SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + GENERATOR "${generator}" + ADDITIONAL_ARGS "-DMAINWINDOW_UI_PATH=sub1/sub2/sub3/" + "-DNEW_UI_PATH=sub5/sub6/sub7/ " "-DADD_NEW_UI=ON" + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + + if(NOT cmake_result EQUAL 0) + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error" + ": ${cmake_error}\nFAIL: \"uic_prefix_info_cmake_test\" " + "test in ${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_" + "test ${config_path}-build failed to configure in the" + "second build") + else() + message(STATUS "PASS: \"uic_prefix_info_cmake_test\" test in" + " ${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build was configured successfully in the " + "second build") + endif() + + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/subdir/mainwindow.ui") + generate_hash_folder("example" "${test_ui_file}" + hash_folder_subdir_mainwindow) + set(expected_prefix_info_cmake_content + "include_guard()\nset(${hash_folder_subdir_mainwindow}_prefix \ +\"sub5/sub6/sub7\")") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "uic_prefix_info_cmake_test${config_path}-build") + file(READ + "${test_build_dir}/example_autogen/prefix_info.cmake" + prefix_info_cmake_content) + + if("${prefix_info_cmake_content}" STREQUAL + "${expected_prefix_info_cmake_content}") + message(STATUS "PASS: \"uic_prefix_info_cmake_test\" test in " + "${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build has the expected content in " + "prefix_info.cmake") + else() + message(FATAL_ERROR "FAIL: \"uic_prefix_info_cmake_test\" test " + "in ${CMAKE_CURRENT_BINARY_DIR}/uic_prefix_info_cmake_test" + "${config_path}-build does not have the expected content " + "in prefix_info.cmake") + endif() + endif() + endforeach() +endforeach() + diff --git a/tests/auto/cmake/test_qt_add_ui_6/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_6/CMakeLists.txt new file mode 100644 index 0000000000..2d57c6067d --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_6/CMakeLists.txt @@ -0,0 +1,64 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: ui_mainwindow.h is included as + # "../../../../src/ui_files/ui_mainwindow.h". + # Test case: mainwindow1.ui file is touched after the first build. + # Expect 1: Successful build without the double build issue. + # Expect 2: No build folder leakage and generation of the "_/_/_/_/" + # folder in ${hash_folder}/include. + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../test_qt_add_ui_" + "common/uic_test/mainwindow.ui") + generate_hash_folder("example" "${test_ui_file}" hash_folder) + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/UicBuildLeak_" + "subFolderGen${config_path}-build") + string(CONCAT test_file_to_touch "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + string(CONCAT test_file_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/src/ui_files/ui_mainwindow.h") + incremental_build_test( + TEST_NAME UicBuildLeak_subFolderGen + SOURCE_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/../test_qt_add_ui_common/uic_test" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + ADDITIONAL_ARGS "-DMAINWINDOW_UI_PATH=../../../../src/ui_files/" + FILE_TO_TOUCH "${test_file_to_touch}" + FILE_TO_CHECK "${test_file_to_check}" + FOLDER_TO_CHECK + "${test_build_dir}/.qt/${hash_folder}/${config_arg}/_/_/_/_" + ) + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_7/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_7/CMakeLists.txt new file mode 100644 index 0000000000..8278f13a72 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_7/CMakeLists.txt @@ -0,0 +1,62 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case 1: There are two widget1.ui files in different folders. + # Expect 1: Successful build without the double build issue. + # Expect 2: Only touched files to be built. + string(CONCAT ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.ui") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/sub1/sub2/sub3/" + "sub4") + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "UicIncBuild_sameFileDiffFolder${config_path}-build") + string(CONCAT test_file_to_touch "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.ui") + generate_hash_folder( + "example" + "${ui_file}" + hash_folder) + incremental_build_test( + TEST_NAME UicIncBuild_sameFileDiffFolder + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + FILE_TO_TOUCH "${test_file_to_touch}" + CHECK_UNWANTED_BUILDS + ) + + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_8/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_8/CMakeLists.txt new file mode 100644 index 0000000000..f8d0763d35 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_8/CMakeLists.txt @@ -0,0 +1,67 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + # A CI test fails with the below condition. So, we are running the test + # only for the Debug configuration. + if ("${generator}" MATCHES "Xcode" AND + CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(configs "Debug") + elseif(multi_config_out) + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: ui_mainwindow.h is included as + # "sub1/sub2/sub3/../../../../../../../../../../../../../ui_mainwindow.h". + # Test case: mainwindow1.ui file is touched after the first build. + # Expect 1: Successful build without the double build issue. + # Expect 2: No build folder leakage and generation of the + # "_/_/_/_/_/_/_/_/_/_/sub1/sub2/sub3" folder in ${hash_folder}/include. + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder("example" "${test_ui_file}" hash_folder) + string(CONCAT test_build_dir "${CMAKE_CURRENT_BINARY_DIR}/" + "UicBuildLeak_subFolderGen_complex${config_path}-build") + string(CONCAT test_additional_args "-DMAINWINDOW_UI_PATH=sub1/sub2/sub3" + "/../../../../../../../../../../../../../") + string(CONCAT test_file_to_touch "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + string(CONCAT test_file_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/ui_mainwindow.h") + string(CONCAT test_folder_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/_/_/_/_/_/_/_/_/_/_/sub1/sub2/sub3") + incremental_build_test( + TEST_NAME UicBuildLeak_subFolderGen_complex + SOURCE_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/../test_qt_add_ui_common/uic_test" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + ADDITIONAL_ARGS "${test_additional_args}" + FILE_TO_TOUCH "${test_file_to_touch}" + FILE_TO_CHECK "${test_file_to_check}" + FOLDER_TO_CHECK "${test_folder_to_check}" + ) + endforeach() +endforeach() diff --git a/tests/auto/cmake/test_qt_add_ui_9/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_9/CMakeLists.txt new file mode 100644 index 0000000000..9e28ddc927 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_9/CMakeLists.txt @@ -0,0 +1,66 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +include(../test_qt_add_ui_common/RunCMake.cmake) +include(../test_qt_add_ui_common/functions.cmake) + +get_generators(generators) + +foreach(generator IN ITEMS ${generators}) + message(STATUS "Running tests for generator: ${generator}") + is_multi_config(${generator} multi_config_out) + if(multi_config_out) + # Since our CI machines are slow, ctest --build-and-test buffers the + # output of the configure step of a test, and the fact that we run all + # the test logic in the configure step, we need to exclude Release + # to avoid CI stdout timeout errors. + # See https://gitlab.kitware.com/cmake/cmake/-/issues/25790 + set(configs "Debug" "Release") + else() + set(configs "single_config") + endif() + + foreach(config IN ITEMS ${configs}) + if("${config}" STREQUAL "single_config") + set(config_path "") + set(config_arg "") + else() + set(config_path "_${config}") + set(config_arg "${config}") + endif() + + # Test case: ui_mainwindow.h is included as + # "sub2/sub3/../../../src/ui_files/ui_mainwindow.h". + # Expect 1: Successful build without the double build issue. + # Expect 2: No build folder leakage and generation of + # _/sub2/sub3 in ${hash_folder}/include. + # Note: This test case is a mix of previous two test cases. + string(CONCAT test_ui_file "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test/mainwindow.ui") + generate_hash_folder("example" "${test_ui_file}" hash_folder) + set(test_build_dir + "${CMAKE_CURRENT_BINARY_DIR}/UicBuildLeak_mix${config_path}-build") + string(CONCAT test_additional_args "-DMAINWINDOW_UI_PATH=sub2/sub3/" + "../../../src/ui_files/") + string(CONCAT test_file_to_check "${test_build_dir}/.qt/${hash_folder}/" + "${config_arg}/src/ui_files/ui_mainwindow.h") + string(CONCAT test_source_dir "${CMAKE_CURRENT_SOURCE_DIR}/../" + "test_qt_add_ui_common/uic_test") + incremental_build_test( + TEST_NAME UicBuildLeak_mix + SOURCE_DIR "${test_source_dir}" + BUILD_DIR "${test_build_dir}" + CONFIG "${config_arg}" + GENERATOR "${generator}" + ADDITIONAL_ARGS "${test_additional_args}" + FILE_TO_TOUCH "${test_ui_file}" + FILE_TO_CHECK "${test_file_to_check}" + FOLDER_TO_CHECK + "${test_build_dir}/.qt/${hash_folder}/${config_arg}/_/sub2/sub3" + ) + endforeach() +endforeach() + diff --git a/tests/auto/cmake/test_qt_add_ui_common/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_common/CMakeLists.txt new file mode 100644 index 0000000000..628dc9373a --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/CMakeLists.txt @@ -0,0 +1,7 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(test) + +add_executable(test main.cpp) diff --git a/tests/auto/cmake/test_qt_add_ui_common/RunCMake.cmake b/tests/auto/cmake/test_qt_add_ui_common/RunCMake.cmake new file mode 100644 index 0000000000..6b39fe3398 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/RunCMake.cmake @@ -0,0 +1,157 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +function(run_cmake_configure) + set(options CLEAN_FIRST) + set(oneValueArgs SOURCE_DIR BUILD_DIR RESULT_VARIABLE OUTPUT_VARIABLE + ERROR_VARIABLE GENERATOR) + set(multiValueArgs ADDITIONAL_ARGS) + + cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" + ${ARGN}) + + if(NOT arg_SOURCE_DIR) + message(FATAL_ERROR "SOURCE_DIR not specified") + endif() + + if(NOT arg_BUILD_DIR) + message(FATAL_ERROR "BUILD_DIR not specified") + endif() + + is_multi_config(arg_GENERATOR multi_config_out) + if (NOT ${multi_config_out}) + set(run_arg_config_arg -Darg_TYPE=Debug) + endif() + + set(test_project_source_dir ${arg_SOURCE_DIR}) + set(test_project_build_dir ${arg_BUILD_DIR}) + + # Make sure that file paths are 'real' paths + get_filename_component(test_project_source_dir "${test_project_source_dir}" + REALPATH) + get_filename_component(test_project_build_dir "${test_project_build_dir}" + REALPATH) + + if(arg_CLEAN_FIRST) + file(REMOVE_RECURSE "${test_project_build_dir}") + endif() + file(MAKE_DIRECTORY "${test_project_build_dir}") + + execute_process(COMMAND + "${CMAKE_COMMAND}" + -S "${test_project_source_dir}" + -B "${test_project_build_dir}" + -G "${arg_GENERATOR}" + "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" + ${run_arg_config_arg} + ${arg_ADDITIONAL_ARGS} + RESULT_VARIABLE cmake_result + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE + ECHO_OUTPUT_VARIABLE + ECHO_ERROR_VARIABLE + ) + + # set output variables + set(${arg_RESULT_VARIABLE} ${cmake_result} PARENT_SCOPE) + set(${arg_OUTPUT_VARIABLE} ${cmake_output} PARENT_SCOPE) + set(${arg_ERROR_VARIABLE} ${cmake_error} PARENT_SCOPE) +endfunction() + +function(run_cmake_build) + set(options VERBOSE) + set(oneValueArgs CONFIG BUILD_DIR RESULT_VARIABLE OUTPUT_VARIABLE + ERROR_VARIABLE) + cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" + ${ARGN}) + + if(NOT arg_BUILD_DIR) + message(FATAL_ERROR "BUILD_DIR not specified") + endif() + + if (arg_VERBOSE OR arg_VERBOSE STREQUAL "") + set(arg_VERBOSE_ARG --verbose) + endif() + + if(arg_CONFIG) + set(arg_BUILD_CONFIG_ARG --config ${arg_CONFIG}) + endif() + + execute_process(COMMAND ${CMAKE_COMMAND} + --build ${arg_BUILD_DIR} + ${arg_VERBOSE_ARG} + ${arg_BUILD_CONFIG_ARG} + RESULT_VARIABLE cmake_result + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE + ECHO_OUTPUT_VARIABLE + ECHO_ERROR_VARIABLE) + + set(${arg_RESULT_VARIABLE} ${cmake_result} PARENT_SCOPE) + set(${arg_OUTPUT_VARIABLE} ${cmake_output} PARENT_SCOPE) + set(${arg_ERROR_VARIABLE} ${cmake_error} PARENT_SCOPE) +endfunction() + +function(is_multi_config generator output) + if ("${generator}" MATCHES "Visual Studio" OR "${generator}" MATCHES "Xcode" + OR "${generator}" MATCHES "Ninja Multi-Config") + set(${output} TRUE PARENT_SCOPE) + else() + set(${output} FALSE PARENT_SCOPE) + endif() +endfunction() + +# check if string includes substring +function(_internal_string_contains output string substring) + if("${string}" MATCHES "${substring}") + set(${output} TRUE PARENT_SCOPE) + else() + set(${output} FALSE PARENT_SCOPE) + endif() +endfunction() + +function(expect_string_contains string substring) + set(oneValueArgs SUCCESS_MESSAGE FAILURE_MESSAGE) + cmake_parse_arguments(expect_string_contains "${options}" "${oneValueArgs}" + "${multiValueArgs}" ${ARGN}) + _internal_string_contains(result "${string}" "${substring}") + if("${result}" STREQUAL TRUE) + if (expect_string_contains_SUCCESS_MESSAGE) + message(STATUS "PASS: ${expect_string_contains_SUCCESS_MESSAGE}") + else() + message(STATUS "PASS: \"${string}\" contains \"${substring}\"") + endif() + else() + if (expect_string_contains_FAILURE_MESSAGE) + message(FATAL_ERROR + "FAIL: ${expect_string_contains_FAILURE_MESSAGE}") + else() + message(FATAL_ERROR "FAIL: \"${string}\" contains \"${substring}\"") + endif() + endif() +endfunction() + +function(expect_string_not_contains string substring) + set(oneValueArgs SUCCESS_MESSAGE FAILURE_MESSAGE) + cmake_parse_arguments(expect_string_not_contains + "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + _internal_string_contains(result ${string} ${substring}) + if(${result} STREQUAL FALSE) + if (expect_string_not_contains_SUCCESS_MESSAGE) + message(STATUS "PASS: ${expect_string_not_contains_SUCCESS_MESSAGE}") + else() + message(STATUS "PASS: \"${string}\" not contains \"${substring}\"") + endif() + else() + if (expect_string_not_contains_FAILURE_MESSAGE) + message(FATAL_ERROR + "FAIL: ${expect_string_not_contains_FAILURE_MESSAGE}") + else() + message(FATAL_ERROR "FAIL: \"${string}\" contains \"${substring}\"") + endif() + endif() +endfunction() diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/main.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/main.cpp new file mode 100644 index 0000000000..27296cb9a0 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/main.cpp @@ -0,0 +1,14 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QApplication> + +#include "mainwindow.h" + +int main(int argc, char* argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/mainwindow.h b/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/mainwindow.h new file mode 100644 index 0000000000..9aeaefbe08 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicBuildFolderLeakageCommon/mainwindow.h @@ -0,0 +1,26 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include <QMainWindow> + +QT_BEGIN_NAMESPACE +namespace Ui { +class MainWindow; +} +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget* parent = nullptr); + ~MainWindow(); + +private: + Ui::MainWindow* ui; +}; +#endif // MAINWINDOW_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/main.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/main.cpp new file mode 100644 index 0000000000..27296cb9a0 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/main.cpp @@ -0,0 +1,14 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QApplication> + +#include "mainwindow.h" + +int main(int argc, char* argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.cpp new file mode 100644 index 0000000000..d4302325fb --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.cpp @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "mainwindow.h" + +#include <QVBoxLayout> + +#include "../../../../src/ui_files/ui_mainwindow.h" +#include "widget1.h" + +MainWindow::MainWindow(QWidget* parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + auto layout = new QVBoxLayout; + layout->addWidget(new Widget1); + + QWidget* w = new QWidget(this); + w->setLayout(layout); + + setCentralWidget(w); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.h new file mode 100644 index 0000000000..46dc7690cc --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/mainwindow.h @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include <QMainWindow> + +QT_BEGIN_NAMESPACE +namespace Ui { +class MainWindow; +} +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT +public: + MainWindow(QWidget* parent = nullptr); + ~MainWindow(); + +private: + Ui::MainWindow* ui; +}; +#endif // MAINWINDOW_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/mainwindow.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/mainwindow.ui new file mode 100644 index 0000000000..828d7c1782 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/mainwindow.ui @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>600</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <layout class="QGridLayout" name="gridLayout"/> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>22</height> + </rect> + </property> + </widget> + <widget class="QStatusBar" name="statusbar"/> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/widget1.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/widget1.ui new file mode 100644 index 0000000000..db0c58d5df --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/ui_files/widget1.ui @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Widget1</class> + <widget class="QWidget" name="Widget1"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Input:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>OnTextChanged:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="OnTextChanged"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.cpp new file mode 100644 index 0000000000..2139ff2c84 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.cpp @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "widget1.h" + +#include "../../../../src/ui_files/ui_widget1.h" + +Widget1::Widget1(QWidget* parent) + : QWidget(parent) + , ui(new Ui::Widget1) +{ + ui->setupUi(this); + connect(ui->lineEdit, SIGNAL(textChanged(const QString&)), this, + SLOT(onTextChanged(const QString&))); +} + +Widget1::~Widget1() +{ + delete ui; +} + +void Widget1::onTextChanged(const QString& text) +{ + ui->OnTextChanged->setText(text); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.h new file mode 100644 index 0000000000..f8a5ad57d5 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.h @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef WIDGET1_H +#define WIDGET1_H + +#include <QWidget> + +QT_BEGIN_NAMESPACE +namespace Ui { +class Widget1; +} +QT_END_NAMESPACE + +class Widget1 : public QWidget +{ + Q_OBJECT +public: + explicit Widget1(QWidget* parent = nullptr); + ~Widget1(); +public slots: + void onTextChanged(const QString& text); + +private: + Ui::Widget1* ui; +}; + +#endif // WIDGET1_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.ui new file mode 100644 index 0000000000..db0c58d5df --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget1.ui @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Widget1</class> + <widget class="QWidget" name="Widget1"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Input:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>OnTextChanged:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="OnTextChanged"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.cpp new file mode 100644 index 0000000000..721f0c868f --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.cpp @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "widget2.h" + +#include "../../../../ui_widget1.h" + +Widget2::Widget2(QWidget* parent) + : QWidget(parent) + , ui(new Ui::Widget2) +{ + ui->setupUi(this); + connect(ui->lineEdit, SIGNAL(textChanged(const QString&)), this, + SLOT(onTextChanged(const QString&))); +} + +Widget2::~Widget2() +{ + delete ui; +} + +void Widget2::onTextChanged(const QString& text) +{ + ui->OnTextChanged->setText(text); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.h new file mode 100644 index 0000000000..e448b12caf --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/src/widget2.h @@ -0,0 +1,29 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef WIDGET2_H +#define WIDGET2_H + +#include <QWidget> + +QT_BEGIN_NAMESPACE +namespace Ui { +class Widget2; +} +QT_END_NAMESPACE + +class Widget2 : public QWidget +{ + Q_OBJECT + +public: + explicit Widget2(QWidget* parent = nullptr); + ~Widget2(); +public slots: + void onTextChanged(const QString& text); + +private: + Ui::Widget2* ui; +}; + +#endif // WIDGET2_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/sub1/sub2/sub3/sub4/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/sub1/sub2/sub3/sub4/CMakeLists.txt new file mode 100644 index 0000000000..b8443c370d --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/sub1/sub2/sub3/sub4/CMakeLists.txt @@ -0,0 +1,39 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(UicIncrementalBuild_sameFileDifferentFolder LANGUAGES CXX) + +find_package(Qt6 REQUIRED COMPONENTS Core Widgets Gui) + +set(CMAKE_AUTOMOC ON) + +qt_add_executable(example + ../../../../src/ui_files/mainwindow.ui + ../../../../src/ui_files/widget1.ui + ../../../../widget1.ui + ../../../../src/mainwindow.h + ../../../../src/widget1.h + ../../../../src/widget2.h + ../../../../src/main.cpp + ../../../../src/mainwindow.cpp + ../../../../src/widget1.cpp + ../../../../src/widget2.cpp +) + +target_link_libraries(example PRIVATE Qt6::Widgets + Qt6::Core + Qt6::Gui) + +qt6_add_ui(example + INCLUDE_PREFIX "../../../../src/ui_files" + SOURCES "../../../../src/ui_files/mainwindow.ui" + "../../../../src/ui_files/widget1.ui" + OPTIONS "$<$<CONFIG:Debug>:-a>") + +qt6_add_ui(example + INCLUDE_PREFIX "../../../../" + SOURCES "../../../../widget1.ui" + OPTIONS "$<$<CONFIG:Debug>:-a>") + diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/widget1.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/widget1.ui new file mode 100644 index 0000000000..facf4678f2 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncBuild_sameFileDiffFolder/widget1.ui @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Widget2</class> + <widget class="QWidget" name="Widget2"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Input:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>OnTextChanged:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="OnTextChanged"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/CMakeLists.txt new file mode 100644 index 0000000000..81023c3382 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/CMakeLists.txt @@ -0,0 +1,33 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(UicIncrementalBuild LANGUAGES CXX) + +find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) + +set(CMAKE_AUTOMOC ON) + +qt_add_executable(example + src/mainwindow.ui + src/widget1.ui + src/widget2.ui + src/mainwindow.h + src/widget1.h + src/widget2.h + src/main.cpp + src/mainwindow.cpp + src/widget1.cpp + src/widget2.cpp +) + +target_link_libraries(example PRIVATE Qt6::Widgets + Qt6::Core + Qt6::Gui) + +qt6_add_ui(example + INCLUDE_PREFIX "src" + SOURCES "src/mainwindow.ui" "src/widget1.ui" "src/widget2.ui" + OPTIONS "$<$<CONFIG:Debug>:-a>") + diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/main.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/main.cpp new file mode 100644 index 0000000000..27296cb9a0 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/main.cpp @@ -0,0 +1,14 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QApplication> + +#include "mainwindow.h" + +int main(int argc, char* argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.cpp new file mode 100644 index 0000000000..ef582f187c --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.cpp @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "mainwindow.h" + +#include <QVBoxLayout> + +#include "src/ui_mainwindow.h" +#include "widget1.h" + +MainWindow::MainWindow(QWidget* parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + auto layout = new QVBoxLayout; + layout->addWidget(new Widget1); + + QWidget* w = new QWidget(this); + w->setLayout(layout); + + setCentralWidget(w); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.h new file mode 100644 index 0000000000..46dc7690cc --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.h @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include <QMainWindow> + +QT_BEGIN_NAMESPACE +namespace Ui { +class MainWindow; +} +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT +public: + MainWindow(QWidget* parent = nullptr); + ~MainWindow(); + +private: + Ui::MainWindow* ui; +}; +#endif // MAINWINDOW_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.ui new file mode 100644 index 0000000000..828d7c1782 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/mainwindow.ui @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>600</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <layout class="QGridLayout" name="gridLayout"/> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>22</height> + </rect> + </property> + </widget> + <widget class="QStatusBar" name="statusbar"/> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.cpp new file mode 100644 index 0000000000..4047ea4d9c --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.cpp @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "widget1.h" + +#include "src/ui_widget1.h" + +Widget1::Widget1(QWidget* parent) + : QWidget(parent) + , ui(new Ui::Widget1) +{ + ui->setupUi(this); + connect(ui->lineEdit, SIGNAL(textChanged(const QString&)), this, + SLOT(onTextChanged(const QString&))); +} + +Widget1::~Widget1() +{ + delete ui; +} + +void Widget1::onTextChanged(const QString& text) +{ + ui->OnTextChanged->setText(text); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.h new file mode 100644 index 0000000000..f8a5ad57d5 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.h @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef WIDGET1_H +#define WIDGET1_H + +#include <QWidget> + +QT_BEGIN_NAMESPACE +namespace Ui { +class Widget1; +} +QT_END_NAMESPACE + +class Widget1 : public QWidget +{ + Q_OBJECT +public: + explicit Widget1(QWidget* parent = nullptr); + ~Widget1(); +public slots: + void onTextChanged(const QString& text); + +private: + Ui::Widget1* ui; +}; + +#endif // WIDGET1_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.ui new file mode 100644 index 0000000000..db0c58d5df --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget1.ui @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Widget1</class> + <widget class="QWidget" name="Widget1"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Input:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>OnTextChanged:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="OnTextChanged"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.cpp b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.cpp new file mode 100644 index 0000000000..1dc28b0c8b --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.cpp @@ -0,0 +1,25 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "widget2.h" + +#include "src/ui_widget2.h" + +Widget2::Widget2(QWidget* parent) + : QWidget(parent) + , ui(new Ui::Widget2) +{ + ui->setupUi(this); + connect(ui->lineEdit, SIGNAL(textChanged(const QString&)), this, + SLOT(onTextChanged(const QString&))); +} + +Widget2::~Widget2() +{ + delete ui; +} + +void Widget2::onTextChanged(const QString& text) +{ + ui->OnTextChanged->setText(text); +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.h b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.h new file mode 100644 index 0000000000..e448b12caf --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.h @@ -0,0 +1,29 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef WIDGET2_H +#define WIDGET2_H + +#include <QWidget> + +QT_BEGIN_NAMESPACE +namespace Ui { +class Widget2; +} +QT_END_NAMESPACE + +class Widget2 : public QWidget +{ + Q_OBJECT + +public: + explicit Widget2(QWidget* parent = nullptr); + ~Widget2(); +public slots: + void onTextChanged(const QString& text); + +private: + Ui::Widget2* ui; +}; + +#endif // WIDGET2_H diff --git a/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.ui b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.ui new file mode 100644 index 0000000000..facf4678f2 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/UicIncrementalBuild/src/widget2.ui @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Widget2</class> + <widget class="QWidget" name="Widget2"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Input:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>OnTextChanged:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="OnTextChanged"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/functions.cmake b/tests/auto/cmake/test_qt_add_ui_common/functions.cmake new file mode 100644 index 0000000000..efb8b09774 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/functions.cmake @@ -0,0 +1,223 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +function(generate_hash_folder target_name infile out_folder) + get_filename_component(infile_abs "${infile}" ABSOLUTE) + string(SHA1 infile_hash "${target_name}${infile_abs}") + string(SUBSTRING "${infile_hash}" 0 6 short_hash) + set(${out_folder} "${short_hash}" PARENT_SCOPE) +endfunction() + +function(get_latest_vs_generator output) + execute_process(COMMAND ${CMAKE_COMMAND} -G + ERROR_VARIABLE CMAKE_GENERATORS_ERROR + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX MATCHALL "Visual Studio [0-9]+ [0-9]+" vs_generators + "${CMAKE_GENERATORS_ERROR}") + + if(NOT vs_generators) + message(FATAL_ERROR "No visual studio generators found") + endif() + + set(last_version "0") + set(last_generator "") + foreach(generator IN LISTS vs_generators) + string(REGEX MATCH "Visual Studio ([0-9]+) [0-9]+" unused "${generator}") + if("${CMAKE_MATCH_1}" VERSION_GREATER "${last_version}") + set(last_version "${CMAKE_MATCH_1}") + set(last_generator "${CMAKE_MATCH_0}") + endif() + endforeach() + set(${output} "${last_generator}" PARENT_SCOPE) +endfunction() + +function(check_unwanted_builds_after_first_build cmake_output test_name test_dir + generator) + set(unwanted_builds_success_message + "\"${test_name}\" in \"${test_dir}\" -> No unwanted builds") + set(unwanted_builds_failure_message + "\"${test_name}\" in \"${test_dir}\" -> Unwanted builds found") + if(${generator} MATCHES "Ninja") + expect_string_not_contains(${cmake_output} + "widget2.cpp.o.d|mainwindow.cpp.o.d" + SUCCESS_MESSAGE ${unwanted_builds_success_message} + FAILURE_MESSAGE ${unwanted_builds_failure_message}) + elseif(${generator} MATCHES "Make") + string(CONCAT not_expect_string + "Building CXX object UicIncrementalBuild/CMakeFiles" + "/example.dir/src/widget2.cpp.o|Building CXX object UicIncremental" + "Build/CMakeFiles/example.dir/src/mainwindow.cpp.o") + expect_string_not_contains(${cmake_output} "${not_expect_string}" + SUCCESS_MESSAGE ${unwanted_builds_success_message} + FAILURE_MESSAGE ${unwanted_builds_failure_message}) + elseif(${generator} MATCHES "Visual Studio") + expect_string_not_contains(${cmake_output} "widget2.cpp|mainwindow.cpp" + SUCCESS_MESSAGE ${unwanted_builds_success_message} + FAILURE_MESSAGE ${unwanted_builds_failure_message}) + elseif(${generator} MATCHES "Xcode") + expect_string_not_contains(${cmake_output} "widget2.cpp|mainwindow.cpp" + SUCCESS_MESSAGE ${unwanted_builds_success_message} + FAILURE_MESSAGE ${unwanted_builds_failure_message}) + endif() +endfunction() + +function(check_output_after_second_build cmake_output test_name + test_dir generator) + set(second_build_success_message + "\"${test_name}\" in \"${test_dir}\" -> Generation of UI files were not \ +triggered in the second build") + set(second_build_failure_message + "\"${test_name}\" in \"${test_dir}\" -> Generation of UI files were \ +triggered in the second build") + + if(${generator} MATCHES "Ninja") + expect_string_contains(${cmake_output} "ninja: no work to do." + SUCCESS_MESSAGE ${second_build_success_message} + FAILURE_MESSAGE ${second_build_failure_message}) + elseif(${generator} MATCHES "Visual Studio" OR ${generator} MATCHES "Xcode") + expect_string_not_contains(${cmake_output} "mainwindow" + SUCCESS_MESSAGE + ${second_build_success_message} + FAILURE_MESSAGE + ${second_build_failure_message}) + elseif(${generator} MATCHES "Makefiles") + expect_string_not_contains(${cmake_output} "mainwindow.cpp.o.d -o" + SUCCESS_MESSAGE ${second_build_success_message} + FAILURE_MESSAGE ${second_build_failure_message}) + endif() +endfunction() + +function(incremental_build_test) + set(options CHECK_UNWANTED_BUILDS) + set(oneValueArgs CONFIG TEST_NAME SOURCE_DIR BUILD_DIR FILE_TO_TOUCH + FILE_TO_CHECK FOLDER_TO_CHECK GENERATOR) + set(multiValueArgs ADDITIONAL_ARGS) + + cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" + ${ARGN}) + + string(REPLACE ";" " " arg_ADDITIONAL_ARGS "${arg_ADDITIONAL_ARGS}") + if ("${arg_SOURCE_DIR}" STREQUAL "") + message(FATAL_ERROR "FAIL: \"${arg_TEST_NAME}\" test failed because " + "SOURCE_DIR is empty") + endif() + + if ("${arg_BUILD_DIR}" STREQUAL "") + message(FATAL_ERROR "FAIL: \"${arg_TEST_NAME}\" test failed because " + "BUILD_DIR is empty") + endif() + + if ("${arg_GENERATOR}" STREQUAL "") + message(FATAL_ERROR "FAIL: \"${arg_TEST_NAME}\" test failed because " + "GENERATOR is empty") + endif() + + run_cmake_configure(SOURCE_DIR "${arg_SOURCE_DIR}" + BUILD_DIR "${arg_BUILD_DIR}" + GENERATOR "${arg_GENERATOR}" + CLEAN_FIRST + ADDITIONAL_ARGS ${arg_ADDITIONAL_ARGS} + OUTPUT_VARIABLE cmake_output + ERROR_VARIABLE cmake_error + RESULT_VARIABLE cmake_result) + + if(${cmake_result} EQUAL 0) + message(STATUS + "PASS: \"${arg_TEST_NAME}\" test in ${arg_BUILD_DIR} was configured " + "successfully") + else() + message(FATAL_ERROR "cmake_output: ${cmake_output}\ncmake_error: " + "${cmake_error}\nFAIL: \"${arg_TEST_NAME}\" test in ${arg_BUILD_DIR}" + " failed to configure") + endif() + + if(NOT "${arg_CONFIG}" STREQUAL "single_config") + set(config_arg "${arg_CONFIG}") + endif() + + run_cmake_build(BUILD_DIR ${arg_BUILD_DIR} + VERBOSE ON + CONFIG ${config_arg} + OUTPUT_VARIABLE cmake_build_output + ERROR_VARIABLE cmake_build_error + RESULT_VARIABLE cmake_build_result) + + if(${cmake_build_result} EQUAL 0) + message(STATUS + "PASS: \"${arg_TEST_NAME}\" test in ${arg_BUILD_DIR} was built " + "successfully") + else() + message(FATAL_ERROR + "cmake_build_output: ${cmake_build_output}\ncmake_build_error: " + "${cmake_build_error}\nFAIL: \"${arg_TEST_NAME}\" test in " + "${arg_BUILD_DIR} failed to build") + endif() + + if(NOT "${arg_FILE_TO_CHECK}" STREQUAL "") + if(NOT EXISTS "${arg_FILE_TO_CHECK}") + message(FATAL_ERROR "FAIL: \"${arg_TEST_NAME}\" ${arg_FILE_TO_CHECK}" + " could not be found") + else() + message(STATUS "PASS: \"${arg_TEST_NAME}\" \"${arg_FILE_TO_CHECK}\" " + "was generated successfully") + endif() + endif() + + if(NOT "${arg_FOLDER_TO_CHECK}" STREQUAL "" AND NOT WIN32) + if(NOT EXISTS "${arg_FOLDER_TO_CHECK}") + message(FATAL_ERROR + "FAIL: \"${arg_TEST_NAME}\" Folder \"${arg_FOLDER_TO_CHECK}\" " + "does not exist") + else() + message(STATUS + "PASS: \"${arg_TEST_NAME}\" Folder \"${arg_FOLDER_TO_CHECK}\" " + "exists") + endif() + endif() + + if(NOT "${arg_FILE_TO_TOUCH}" STREQUAL "") + file(TOUCH "${arg_FILE_TO_TOUCH}") + endif() + + run_cmake_build(BUILD_DIR ${arg_BUILD_DIR} + VERBOSE ON + CONFIG ${arg_CONFIG} + OUTPUT_VARIABLE cmake_build_output) + if(${arg_CHECK_UNWANTED_BUILDS}) + check_unwanted_builds_after_first_build(${cmake_build_output} + ${arg_TEST_NAME} ${arg_BUILD_DIR} ${arg_GENERATOR}) + endif() + + run_cmake_build(BUILD_DIR ${arg_BUILD_DIR} + VERBOSE ON + CONFIG ${arg_CONFIG} + OUTPUT_VARIABLE cmake_build_output) + check_output_after_second_build(${cmake_build_output} + ${arg_TEST_NAME} ${arg_BUILD_DIR} ${arg_GENERATOR}) +endfunction() + +function(get_generators output) + if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") + set(generators "Unix Makefiles" "Ninja" "Ninja Multi-Config") + elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows") + # CI fails with Clang and Visual Studio generators. + # That's why discard that combination. + if (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND + NOT MINGW) + get_latest_vs_generator(latest_vs) + endif() + set(generators "Ninja" "Ninja Multi-Config" "${latest_vs}") + elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin") + # TODO: Add Xcode generator when + # https://gitlab.kitware.com/cmake/cmake/-/issues/25790 is fixed. + # Otherwise, adding Xcode generator might fail CI due to the timeout + # issue. + set(generators "Unix Makefiles" "Ninja" "Ninja Multi-Config") + else() + string(JOIN "" ERROR_MESSAGE + "FAIL: host OS not supported for this test." + "host : ${CMAKE_HOST_SYSTEM_NAME}") + message(FATAL_ERROR "${ERROR_MESSAGE}") + endif() + set(${output} "${generators}" PARENT_SCOPE) +endfunction() diff --git a/tests/auto/cmake/test_qt_add_ui_common/main.cpp b/tests/auto/cmake/test_qt_add_ui_common/main.cpp new file mode 100644 index 0000000000..c93c3fc6a0 --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/main.cpp @@ -0,0 +1,4 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +int main() { return 0; } diff --git a/tests/auto/cmake/test_qt_add_ui_common/uic_test/CMakeLists.txt b/tests/auto/cmake/test_qt_add_ui_common/uic_test/CMakeLists.txt new file mode 100644 index 0000000000..b05efd5e4d --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/uic_test/CMakeLists.txt @@ -0,0 +1,65 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(UicTest LANGUAGES CXX) + +find_package(Qt6 REQUIRED COMPONENTS Core Widgets Gui) + +set(CMAKE_AUTOMOC ON) + +if (NOT DO_NOT_GENERATE_FILE) + file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/mainwindow.cpp" + CONTENT " \ +#include \"${CMAKE_CURRENT_SOURCE_DIR}/../UicBuildFolderLeakageCommon/mainwindow.h\" \n \ +#include \"${MAINWINDOW_UI_PATH}ui_mainwindow.h\" \n \ +MainWindow::MainWindow(QWidget* parent) \n \ + : QMainWindow(parent) \n \ + , ui(new Ui::MainWindow) \n \ +{ \n \ + ui->setupUi(this); \n \ +} \n \ + \n \ +MainWindow::~MainWindow() \n \ +{ \n \ + delete ui; \n \ +} \n \ +") +endif() + +qt_add_executable(example + ../UicBuildFolderLeakageCommon/main.cpp + ../UicBuildFolderLeakageCommon/mainwindow.h + mainwindow.ui +) + +if (${DO_NOT_GENERATE_FILE}) + target_sources(example PRIVATE mainwindow.cpp) +else() + target_sources(example PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/mainwindow.cpp") +endif() + +target_link_libraries(example PRIVATE Qt6::Widgets + Qt6::Core + Qt6::Gui) + +if (NOT UI_NO_CONFIG_OPTIONS) + set(uic_options "$<$<CONFIG:Debug>:-a>") +endif() +qt6_add_ui(example + INCLUDE_PREFIX "${MAINWINDOW_UI_PATH}" + SOURCES "mainwindow.ui" + OPTIONS "${uic_options}") + +if(ADD_NEW_UI) + qt6_add_ui(example INCLUDE_PREFIX "${NEW_UI_PATH}" + SOURCES "subdir/mainwindow.ui" + OPTIONS "${uic_options}") +endif() + +# Enable AUTOUIC after qt6_add_ui() has been called +if (CMAKE_AUTOUIC) + set_property(TARGET example PROPERTY AUTOUIC ON) +endif() + diff --git a/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.cpp b/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.cpp new file mode 100644 index 0000000000..1c4b48b49e --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.cpp @@ -0,0 +1,17 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "../UicBuildFolderLeakageCommon/mainwindow.h" +#include "sub1/sub2/sub3/ui_mainwindow.h" + +MainWindow::MainWindow(QWidget* parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.ui b/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.ui new file mode 100644 index 0000000000..4e57b05eac --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/uic_test/mainwindow.ui @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>600</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="pushButton"> + <property name="text"> + <string>PushButton</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>23</height> + </rect> + </property> + </widget> + <widget class="QStatusBar" name="statusbar"/> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/cmake/test_qt_add_ui_common/uic_test/subdir/mainwindow.ui b/tests/auto/cmake/test_qt_add_ui_common/uic_test/subdir/mainwindow.ui new file mode 100644 index 0000000000..4e57b05eac --- /dev/null +++ b/tests/auto/cmake/test_qt_add_ui_common/uic_test/subdir/mainwindow.ui @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>600</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="pushButton"> + <property name="text"> + <string>PushButton</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>800</width> + <height>23</height> + </rect> + </property> + </widget> + <widget class="QStatusBar" name="statusbar"/> + </widget> + <resources/> + <connections/> +</ui> diff --git a/tests/auto/corelib/global/qcomparehelpers/CMakeLists.txt b/tests/auto/corelib/global/qcomparehelpers/CMakeLists.txt index 4bfdccdf86..31d8bff0a5 100644 --- a/tests/auto/corelib/global/qcomparehelpers/CMakeLists.txt +++ b/tests/auto/corelib/global/qcomparehelpers/CMakeLists.txt @@ -17,7 +17,7 @@ qt_internal_add_test(tst_qcomparehelpers # CMake recognizes CXX_STANDARD=23 only starting from version 3.20 # macOS has some issues with concepts, see QTBUG-117765 -if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.20" AND NOT MACOS AND NOT VXWORKS AND NOT (LINUX AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.20" AND NOT MACOS AND NOT VXWORKS AND NOT (LINUX AND "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64")) qt_internal_add_test(tst_qcomparehelpers_cpp23 SOURCES tst_qcomparehelpers.h tst_qcomparehelpers.cpp tst_qcomparehelpers1.cpp diff --git a/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp b/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp index f140c23ed0..cb114bc90b 100644 --- a/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp +++ b/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp @@ -597,4 +597,4 @@ void tst_QCompareHelpers::builtinOrder() } QTEST_MAIN(tst_QCompareHelpers) -#include "tst_qcomparehelpers.moc" +#include "moc_tst_qcomparehelpers.cpp" diff --git a/tests/auto/corelib/global/qkeycombination/CMakeLists.txt b/tests/auto/corelib/global/qkeycombination/CMakeLists.txt index 0b1d519e4f..911eef7289 100644 --- a/tests/auto/corelib/global/qkeycombination/CMakeLists.txt +++ b/tests/auto/corelib/global/qkeycombination/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qkeycombination SOURCES tst_qkeycombination.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp b/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp index 06da0d2444..9941f8e154 100644 --- a/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp +++ b/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp @@ -3,11 +3,13 @@ #include <QObject> #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> class tst_QKeyCombination : public QObject { Q_OBJECT private slots: + void compareCompiles(); void construction(); void operator_eq(); void operator_or(); @@ -24,6 +26,11 @@ constexpr auto bitwiseOr(T ... args) return (... | ((int)args)); } +void tst_QKeyCombination::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QKeyCombination>(); +} + void tst_QKeyCombination::construction() { { @@ -131,145 +138,125 @@ void tst_QKeyCombination::operator_eq() // default { QKeyCombination a, b; - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } // key only { QKeyCombination a; QKeyCombination b(Qt::Key_X); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::Key_Y); QKeyCombination b; - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::Key_Y); QKeyCombination b(Qt::Key_X); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::Key_F1); QKeyCombination b(Qt::Key_F1); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } // modifier only { QKeyCombination a; QKeyCombination b(Qt::CTRL); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::CTRL); QKeyCombination b; - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::CTRL); QKeyCombination b(Qt::SHIFT); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::CTRL); QKeyCombination b(Qt::CTRL); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } { QKeyCombination a(Qt::CTRL); QKeyCombination b(Qt::ControlModifier); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } { QKeyCombination a(Qt::ControlModifier); QKeyCombination b(Qt::CTRL); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } { QKeyCombination a(Qt::ControlModifier); QKeyCombination b(Qt::ControlModifier); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } // key and modifier { QKeyCombination a(Qt::Key_A); QKeyCombination b(Qt::SHIFT, Qt::Key_A); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::CTRL, Qt::Key_A); QKeyCombination b(Qt::SHIFT, Qt::Key_A); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::SHIFT, Qt::Key_A); QKeyCombination b(Qt::SHIFT, Qt::Key_A); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } { QKeyCombination a(Qt::SHIFT, Qt::Key_A); QKeyCombination b(Qt::SHIFT, Qt::Key_Escape); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::SHIFT, Qt::Key_A); QKeyCombination b(Qt::ShiftModifier, Qt::Key_A); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } { QKeyCombination a(Qt::SHIFT | Qt::CTRL, Qt::Key_A); QKeyCombination b(Qt::ControlModifier | Qt::ShiftModifier, Qt::Key_A); - QVERIFY(a == b); - QVERIFY(!(a != b)); + QT_TEST_EQUALITY_OPS(a, b, true); } // corner cases { QKeyCombination a(Qt::CTRL); QKeyCombination b(Qt::Key_Control); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } { QKeyCombination a(Qt::ALT); QKeyCombination b(Qt::Key_Alt); - QVERIFY(a != b); - QVERIFY(!(a == b)); + QT_TEST_EQUALITY_OPS(a, b, false); } } diff --git a/tests/auto/corelib/global/qlogging/CMakeLists.txt b/tests/auto/corelib/global/qlogging/CMakeLists.txt index b3c66aeb2e..f35c9c4192 100644 --- a/tests/auto/corelib/global/qlogging/CMakeLists.txt +++ b/tests/auto/corelib/global/qlogging/CMakeLists.txt @@ -23,7 +23,6 @@ set_target_properties(qlogging_helper PROPERTIES CXX_VISIBILITY_PRESET default) qt_internal_add_test(tst_qlogging SOURCES tst_qlogging.cpp DEFINES QT_MESSAGELOGCONTEXT - HELPER_BINARY="${CMAKE_CURRENT_BINARY_DIR}/qlogging_helper" ) add_dependencies(tst_qlogging qlogging_helper) diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp index 861e60e256..defe3ac421 100644 --- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp +++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp @@ -986,11 +986,9 @@ QString tst_qmessagehandler::backtraceHelperPath() #ifdef Q_OS_ANDROID QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/lib" BACKTRACE_HELPER_NAME ".so")); -#elif defined(Q_OS_WEBOS) +#else QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/" BACKTRACE_HELPER_NAME)); -#else - QString appExe(QLatin1String(HELPER_BINARY)); #endif return appExe; } diff --git a/tests/auto/corelib/io/CMakeLists.txt b/tests/auto/corelib/io/CMakeLists.txt index 7fdf4b52b0..291dbfb413 100644 --- a/tests/auto/corelib/io/CMakeLists.txt +++ b/tests/auto/corelib/io/CMakeLists.txt @@ -25,7 +25,7 @@ add_subdirectory(qloggingcategory) add_subdirectory(qnodebug) add_subdirectory(qsavefile) add_subdirectory(qstandardpaths) -if(NOT QNX) +if(NOT QNX AND NOT VXWORKS) add_subdirectory(qstorageinfo) endif() add_subdirectory(qtemporarydir) diff --git a/tests/auto/corelib/io/largefile/tst_largefile.cpp b/tests/auto/corelib/io/largefile/tst_largefile.cpp index 6fa3569c4f..f5af3bde63 100644 --- a/tests/auto/corelib/io/largefile/tst_largefile.cpp +++ b/tests/auto/corelib/io/largefile/tst_largefile.cpp @@ -46,6 +46,10 @@ public: // This means that files are limited to 2 GB − 1 bytes. // Limit max size to 256MB maxSizeBits = 28; // 256 MiB + #elif defined(Q_OS_VXWORKS) + // VxWorks doesn't support sparse files, also, default /tmp directory is a RAM-disk which + // limits its capacity. + maxSizeBits = 28; // 256 MiB #elif defined (Q_OS_WASM) maxSizeBits = 28; // 256 MiB #elif defined(QT_LARGEFILE_SUPPORT) @@ -494,6 +498,7 @@ void tst_LargeFile::mapFile() // 32-bit: limited to 44-bit offsets (when sizeof(off_t) == 8) //Windows: memory-mapping beyond EOF is not allowed //wasm: as for linux +//VxWorks: memory-mapping beyond EOF is not allowed void tst_LargeFile::mapOffsetOverflow() { enum { @@ -506,6 +511,9 @@ void tst_LargeFile::mapOffsetOverflow() #elif (defined(Q_OS_LINUX) || defined(Q_OS_ANDROID)) && (Q_PROCESSOR_WORDSIZE == 4) Succeeds = true, MaxOffset = sizeof(QT_OFF_T) > 4 ? 43 : 30 +#elif defined(Q_OS_VXWORKS) + Succeeds = false, + MaxOffset = 8 * sizeof(QT_OFF_T) - 1 #else Succeeds = true, MaxOffset = 8 * sizeof(QT_OFF_T) - 1 diff --git a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp index 5b706961cc..cf00c1525c 100644 --- a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp +++ b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp @@ -490,6 +490,7 @@ QHash<QString, QSharedPointer<ReferenceFileEngine::File> > ReferenceFileEngine:: class FileEngineHandler : QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(FileEngineHandler) std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { if (fileName.endsWith(".tar") || fileName.contains(".tar/")) @@ -508,6 +509,8 @@ class FileEngineHandler return nullptr; } +public: + FileEngineHandler() = default; }; void tst_QAbstractFileEngine::initTestCase() @@ -618,12 +621,12 @@ void tst_QAbstractFileEngine::fileIO() * the original size + the '\r' characters added by autocrlf. */ QFile::OpenMode openMode = QIODevice::ReadOnly | QIODevice::Unbuffered; -#ifdef Q_OS_WIN +#if defined (Q_OS_WIN) || defined(Q_OS_WASM) openMode |= QIODevice::Text; #endif QVERIFY(file.open(openMode)); QVERIFY(file.isOpen()); -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_WASM) const qint64 convertedSize = fileSize + readContent.count('\n'); if (file.size() == convertedSize) fileSize = convertedSize; diff --git a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp index 0215f863eb..a0a8917c27 100644 --- a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp +++ b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp @@ -443,7 +443,10 @@ public: class EngineWithNoIteratorHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(EngineWithNoIteratorHandler) public: + EngineWithNoIteratorHandler() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { return std::make_unique<EngineWithNoIterator>(fileName); @@ -462,7 +465,10 @@ void tst_QDirIterator::engineWithNoIterator() class CustomEngineHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(CustomEngineHandler) public: + CustomEngineHandler() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { // We want to test QFSFileEngine specifically, so force QDirIterator to use it diff --git a/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp b/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp index df541ee710..bb4e1b30d2 100644 --- a/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp +++ b/tests/auto/corelib/io/qdirlisting/tst_qdirlisting.cpp @@ -427,7 +427,10 @@ public: class EngineWithNoIteratorHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(EngineWithNoIteratorHandler) public: + EngineWithNoIteratorHandler() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { return std::make_unique<EngineWithNoIterator>(fileName); @@ -446,7 +449,10 @@ void tst_QDirListing::engineWithNoIterator() class CustomEngineHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(CustomEngineHandler) public: + CustomEngineHandler() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { // We want to test QFSFileEngine specifically, so force QDirListing to use it diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp index 00fc1b2aa4..d69cc167d6 100644 --- a/tests/auto/corelib/io/qfile/tst_qfile.cpp +++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp @@ -2334,7 +2334,9 @@ private: class MyHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(MyHandler) public: + MyHandler() = default; std::unique_ptr<QAbstractFileEngine> create(const QString &) const override { return std::make_unique<MyEngine>(1); @@ -2343,7 +2345,10 @@ public: class MyHandler2 : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(MyHandler2) public: + MyHandler2() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &) const override { return std::make_unique<MyEngine>(2); @@ -2374,7 +2379,10 @@ void tst_QFile::fileEngineHandler() #ifdef QT_BUILD_INTERNAL class MyRecursiveHandler : public QAbstractFileEngineHandler { + Q_DISABLE_COPY_MOVE(MyRecursiveHandler) public: + MyRecursiveHandler() = default; + std::unique_ptr<QAbstractFileEngine> create(const QString &fileName) const override { if (fileName.startsWith(":!")) { diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp index f7d531f61f..563e4c2a83 100644 --- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp @@ -1217,9 +1217,16 @@ void tst_QFileInfo::setFileTimes() QCOMPARE(file.write(data), data.size()); QCOMPARE(file.size(), data.size()); - const QDateTime before = QDateTime::currentDateTimeUtc().addMSecs(-5000); + QDateTime before = QDateTime::currentDateTimeUtc().addMSecs(-5000); + QVERIFY(file.setFileTime(before, QFile::FileModificationTime)); const QDateTime mtime = file.fileTime(QFile::FileModificationTime).toUTC(); + if (mtime.time().msec() == 0) + { + const QTime beforeTime = before.time(); + const QTime beforeTimeWithMSCutOff{beforeTime.hour(), beforeTime.minute(), beforeTime.second(), 0}; + before.setTime(beforeTimeWithMSCutOff); + } QCOMPARE(mtime, before); } diff --git a/tests/auto/corelib/io/qfileselector/CMakeLists.txt b/tests/auto/corelib/io/qfileselector/CMakeLists.txt index 0fdff55cd5..c27c4f4f96 100644 --- a/tests/auto/corelib/io/qfileselector/CMakeLists.txt +++ b/tests/auto/corelib/io/qfileselector/CMakeLists.txt @@ -32,10 +32,14 @@ set(qfileselector_resource_files "platforms/+ios/test2" "platforms/+linux/test" "platforms/+linux/test2" + "platforms/+wasm/test" + "platforms/+wasm/test2" "platforms/+macos/test" "platforms/+macos/test2" "platforms/+qnx/test" "platforms/+qnx/test2" + "platforms/+unix/+emscripten/+wasm/test" + "platforms/+unix/+emscripten/test" "platforms/+unix/+android/test" "platforms/+unix/+darwin/+ios/test" "platforms/+unix/+darwin/+macos/test" diff --git a/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/+wasm/test b/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/+wasm/test new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/+wasm/test diff --git a/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/test b/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/test new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/auto/corelib/io/qfileselector/platforms/+unix/+emscripten/test diff --git a/tests/auto/corelib/io/qfileselector/platforms/+wasm/test b/tests/auto/corelib/io/qfileselector/platforms/+wasm/test new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/auto/corelib/io/qfileselector/platforms/+wasm/test diff --git a/tests/auto/corelib/io/qfileselector/platforms/+wasm/test2 b/tests/auto/corelib/io/qfileselector/platforms/+wasm/test2 new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/auto/corelib/io/qfileselector/platforms/+wasm/test2 diff --git a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp index 7c038e9913..626166c8b8 100644 --- a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp +++ b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp @@ -60,7 +60,7 @@ void tst_QFileSelector::basicTest_data() QString expectedPlatform1File(":/platforms"); QString expectedPlatform2File(""); //Only the last selector QString expectedPlatform3File; // Only the first selector (the family) -#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && \ +#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_WASM) && \ !defined(Q_OS_DARWIN) && !defined(Q_OS_LINUX) && !defined(Q_OS_HAIKU) && !defined(Q_OS_QNX) /* We are only aware of specific unixes, and do not have test files for any of the others. However those unixes can get a selector added from the result of a uname call, so this will diff --git a/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp b/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp index a5b0087f9c..184eef3f15 100644 --- a/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp +++ b/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp @@ -26,14 +26,18 @@ using namespace std::chrono_literals; #if defined(Q_OS_QNX) -// Longer polling times on QNX, otherwise the tests fail on the CI +constexpr bool isQNX = true; +#else +constexpr bool isQNX = false; +#endif + +#if defined(Q_OS_QNX) || defined(Q_OS_VXWORKS) +// Longer polling times on QNX and VxWorks, otherwise the tests fail on the CI constexpr auto nativeEngineTimeout = 1s; constexpr auto pollingEngineTimeout = 1s; -constexpr bool isQNX = true; #else constexpr auto nativeEngineTimeout = 0ms; constexpr auto pollingEngineTimeout = 20ms; -constexpr bool isQNX = false; #endif /* All tests need to run in temporary directories not used diff --git a/tests/auto/corelib/io/qprocess/testBatFiles/simple.bat b/tests/auto/corelib/io/qprocess/testBatFiles/simple.bat index 900f7ae356..8567e16850 100755 --- a/tests/auto/corelib/io/qprocess/testBatFiles/simple.bat +++ b/tests/auto/corelib/io/qprocess/testBatFiles/simple.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 @echo off -echo Hello
\ No newline at end of file +echo Hello diff --git a/tests/auto/corelib/io/qprocess/testBatFiles/with space.bat b/tests/auto/corelib/io/qprocess/testBatFiles/with space.bat index 900f7ae356..8567e16850 100755 --- a/tests/auto/corelib/io/qprocess/testBatFiles/with space.bat +++ b/tests/auto/corelib/io/qprocess/testBatFiles/with space.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 @echo off -echo Hello
\ No newline at end of file +echo Hello diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp index 1056eaa107..5f35732979 100644 --- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp +++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp @@ -48,6 +48,7 @@ private slots: void constructing(); void simpleStart(); void startCommand(); + void startCommandEmptyString(); void startWithOpen(); void startWithOldOpen(); void execute(); @@ -299,6 +300,25 @@ void tst_QProcess::startCommand() QCOMPARE(actual, expected); } +void tst_QProcess::startCommandEmptyString() +{ + static const char warningMsg[] = + "QProcess::startCommand: empty or whitespace-only command was provided"; + QProcess process; + + QTest::ignoreMessage(QtWarningMsg, warningMsg); + process.startCommand(""); + QVERIFY(!process.waitForStarted()); + + QTest::ignoreMessage(QtWarningMsg, warningMsg); + process.startCommand(" "); + QVERIFY(!process.waitForStarted()); + + QTest::ignoreMessage(QtWarningMsg, warningMsg); + process.startCommand("\t\n"); + QVERIFY(!process.waitForStarted()); +} + void tst_QProcess::startWithOpen() { QProcess p; diff --git a/tests/auto/corelib/io/qresourceengine/generateResources.sh b/tests/auto/corelib/io/qresourceengine/generateResources.sh index 9894f6bfb7..18d1e0b80f 100755 --- a/tests/auto/corelib/io/qresourceengine/generateResources.sh +++ b/tests/auto/corelib/io/qresourceengine/generateResources.sh @@ -1,3 +1,5 @@ +# Copyright (C) 2016 Intel Corporation. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #!/bin/sh count=`awk '/ZERO_FILE_LEN/ { print $3 }' tst_qresourceengine.cpp` dd if=/dev/zero of=zero.txt bs=1 count=$count diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/test.qrc b/tests/auto/corelib/io/qresourceengine/testqrc/test.qrc index f5e8c849a6..56972ea764 100644 --- a/tests/auto/corelib/io/qresourceengine/testqrc/test.qrc +++ b/tests/auto/corelib/io/qresourceengine/testqrc/test.qrc @@ -9,10 +9,10 @@ <file>searchpath1/search_file.txt</file>
<file>searchpath2/search_file.txt</file>
<file>search_file.txt</file>
- </qresource>
- <qresource><file>test/testdir.txt</file>
+ <file>test/testdir.txt</file>
<file>otherdir/otherdir.txt</file>
<file alias="aliasdir/aliasdir.txt">test/testdir2.txt</file>
+ <file alias="uncompresseddir/uncompressed.txt" compression-algorithm="none">aliasdir/compressme.txt</file>
<file>test/test</file>
</qresource>
<qresource lang="ko">
@@ -21,7 +21,7 @@ <qresource lang="de_CH">
<file alias="aliasdir/aliasdir.txt" compress="9" threshold="30">aliasdir/compressme.txt</file>
</qresource>
- <qresource lang="de">
+ <qresource lang="de" compression-algorithm="none">
<file alias="aliasdir/aliasdir.txt">test/german.txt</file>
</qresource>
<qresource prefix="withoutslashes">
diff --git a/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp b/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp index fc9b9ee201..f0dab35f81 100644 --- a/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp +++ b/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp @@ -45,6 +45,7 @@ private slots: private: const QString m_runtimeResourceRcc; + QByteArray m_runtimeResourceData; }; @@ -73,15 +74,27 @@ void tst_QResourceEngine::initTestCase() #endif QVERIFY(!m_runtimeResourceRcc.isEmpty()); + + QFile resourceFile(m_runtimeResourceRcc); + QVERIFY2(resourceFile.open(QIODevice::ReadOnly), qPrintable(resourceFile.errorString())); + + // register once with the file name, which will attempt to use mmap() + // (uses QDynamicFileResourceRoot) QVERIFY(QResource::registerResource(m_runtimeResourceRcc)); - QVERIFY(QResource::registerResource(m_runtimeResourceRcc, "/secondary_root/")); + + // and register a second time with a gifted memory block + // (uses QDynamicBufferResourceRoot) + m_runtimeResourceData = resourceFile.readAll(); + auto resourcePtr = reinterpret_cast<const uchar *>(m_runtimeResourceData.constData()); + QVERIFY(QResource::registerResource(resourcePtr, "/secondary_root/")); } void tst_QResourceEngine::cleanupTestCase() { // make sure we don't leak memory QVERIFY(QResource::unregisterResource(m_runtimeResourceRcc)); - QVERIFY(QResource::unregisterResource(m_runtimeResourceRcc, "/secondary_root/")); + auto resourcePtr = reinterpret_cast<const uchar *>(m_runtimeResourceData.constData()); + QVERIFY(QResource::unregisterResource(resourcePtr, "/secondary_root/")); } void tst_QResourceEngine::compressedResource_data() @@ -180,6 +193,7 @@ void tst_QResourceEngine::checkStructure_data() #if defined(BUILTIN_TESTDATA) << QLatin1String("testqrc") #endif + << QLatin1String("uncompresseddir") << QLatin1String("withoutslashes"); QTest::newRow("root dir") << QString(":/") @@ -212,56 +226,56 @@ void tst_QResourceEngine::checkStructure_data() for(int i = 0; i < roots.size(); ++i) { const QString root = roots.at(i); - QTest::addRow("%s prefix dir", qPrintable(root)) << QString(root + "test/abc/123/+++") + QTest::addRow("prefix dir on %s", qPrintable(root)) << QString(root + "test/abc/123/+++") << QByteArray() << (QStringList() << QLatin1String("currentdir.txt") << QLatin1String("currentdir2.txt") << QLatin1String("parentdir.txt")) << (QStringList() << QLatin1String("subdir")) << QLocale::c() << qlonglong(0); - QTest::addRow("%s parent to prefix", qPrintable(root)) << QString(root + "test/abc/123") + QTest::addRow("parent to prefix on %s", qPrintable(root)) << QString(root + "test/abc/123") << QByteArray() << QStringList() << (QStringList() << QLatin1String("+++")) << QLocale::c() << qlonglong(0); - QTest::addRow("%s two parents prefix", qPrintable(root)) << QString(root + "test/abc") + QTest::addRow("two parents prefix on %s", qPrintable(root)) << QString(root + "test/abc") << QByteArray() << QStringList() << QStringList(QLatin1String("123")) << QLocale::c() << qlonglong(0); - QTest::addRow("%s test dir ", qPrintable(root)) << QString(root + "test") + QTest::addRow("test dir on %s", qPrintable(root)) << QString(root + "test") << QByteArray() << (QStringList() << QLatin1String("testdir.txt")) << (QStringList() << QLatin1String("abc") << QLatin1String("test")) << QLocale::c() << qlonglong(0); - QTest::addRow("%s prefix no slashes", qPrintable(root)) << QString(root + "withoutslashes") + QTest::addRow("prefix no slashes on %s", qPrintable(root)) << QString(root + "withoutslashes") << QByteArray() << QStringList("blahblah.txt") << QStringList() << QLocale::c() << qlonglong(0); - QTest::addRow("%s other dir", qPrintable(root)) << QString(root + "otherdir") + QTest::addRow("other dir on %s", qPrintable(root)) << QString(root + "otherdir") << QByteArray() << QStringList(QLatin1String("otherdir.txt")) << QStringList() << QLocale::c() << qlonglong(0); - QTest::addRow("%s alias dir", qPrintable(root)) << QString(root + "aliasdir") + QTest::addRow("alias dir on %s", qPrintable(root)) << QString(root + "aliasdir") << QByteArray() << QStringList(QLatin1String("aliasdir.txt")) << QStringList() << QLocale::c() << qlonglong(0); - QTest::addRow("%s second test dir", qPrintable(root)) << QString(root + "test/test") + QTest::addRow("second test dir on %s", qPrintable(root)) << QString(root + "test/test") << QByteArray() << (QStringList() << QLatin1String("test1.txt") << QLatin1String("test2.txt")) << QStringList() @@ -269,7 +283,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(0); info = QFileInfo(QFINDTESTDATA("testqrc/test/test/test1.txt")); - QTest::addRow("%s test1 text", qPrintable(root)) << QString(root + "test/test/test1.txt") + QTest::addRow("test1 text on %s", qPrintable(root)) << QString(root + "test/test/test1.txt") << QByteArray("abc\n") << QStringList() << QStringList() @@ -277,7 +291,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/blahblah.txt")); - QTest::addRow("%s text no slashes", qPrintable(root)) << QString(root + "withoutslashes/blahblah.txt") + QTest::addRow("text no slashes on %s", qPrintable(root)) << QString(root + "withoutslashes/blahblah.txt") << QByteArray("qwerty\n") << QStringList() << QStringList() @@ -286,7 +300,7 @@ void tst_QResourceEngine::checkStructure_data() info = QFileInfo(QFINDTESTDATA("testqrc/test/test/test2.txt")); - QTest::addRow("%s test2 text", qPrintable(root)) << QString(root + "test/test/test2.txt") + QTest::addRow("test2 text on %s", qPrintable(root)) << QString(root + "test/test/test2.txt") << QByteArray("def\n") << QStringList() << QStringList() @@ -294,7 +308,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/currentdir.txt")); - QTest::addRow("%s currentdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir.txt") + QTest::addRow("currentdir text on %s", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir.txt") << QByteArray("\"This is the current dir\"\n") << QStringList() << QStringList() @@ -302,7 +316,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/currentdir2.txt")); - QTest::addRow("%s currentdir text2", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir2.txt") + QTest::addRow("currentdir text2 on %s", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir2.txt") << QByteArray("\"This is also the current dir\"\n") << QStringList() << QStringList() @@ -310,7 +324,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("parentdir.txt")); - QTest::addRow("%s parentdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/parentdir.txt") + QTest::addRow("parentdir text on %s", qPrintable(root)) << QString(root + "test/abc/123/+++/parentdir.txt") << QByteArray("abcdefgihklmnopqrstuvwxyz \n") << QStringList() << QStringList() @@ -318,7 +332,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/subdir/subdir.txt")); - QTest::addRow("%s subdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/subdir/subdir.txt") + QTest::addRow("subdir text on %s", qPrintable(root)) << QString(root + "test/abc/123/+++/subdir/subdir.txt") << QByteArray("\"This is in the sub directory\"\n") << QStringList() << QStringList() @@ -326,7 +340,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/test/testdir.txt")); - QTest::addRow("%s testdir text", qPrintable(root)) << QString(root + "test/testdir.txt") + QTest::addRow("testdir text on %s", qPrintable(root)) << QString(root + "test/testdir.txt") << QByteArray("\"This is in the test directory\"\n") << QStringList() << QStringList() @@ -334,7 +348,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/otherdir/otherdir.txt")); - QTest::addRow("%s otherdir text", qPrintable(root)) << QString(root + "otherdir/otherdir.txt") + QTest::addRow("otherdir text on %s", qPrintable(root)) << QString(root + "otherdir/otherdir.txt") << QByteArray("\"This is the other dir\"\n") << QStringList() << QStringList() @@ -342,7 +356,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/test/testdir2.txt")); - QTest::addRow("%s alias text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + QTest::addRow("alias text on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") << QByteArray("\"This is another file in this directory\"\n") << QStringList() << QStringList() @@ -350,7 +364,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/aliasdir.txt")); - QTest::addRow("%s korean text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + QTest::addRow("korean text on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") << QByteArray("\"This is a korean text file\"\n") << QStringList() << QStringList() @@ -358,7 +372,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/aliasdir.txt")); - QTest::addRow("%s korean text 2", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + QTest::addRow("korean text 2 on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") << QByteArray("\"This is a korean text file\"\n") << QStringList() << QStringList() @@ -366,7 +380,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/test/german.txt")); - QTest::addRow("%s german text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + QTest::addRow("german text on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") << QByteArray("Deutsch\n") << QStringList() << QStringList() @@ -374,7 +388,7 @@ void tst_QResourceEngine::checkStructure_data() << qlonglong(info.size()); info = QFileInfo(QFINDTESTDATA("testqrc/test/german.txt")); - QTest::addRow("%s german text 2", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + QTest::addRow("german text 2 on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") << QByteArray("Deutsch\n") << QStringList() << QStringList() @@ -384,8 +398,16 @@ void tst_QResourceEngine::checkStructure_data() QFile file(QFINDTESTDATA("testqrc/aliasdir/compressme.txt")); QVERIFY(file.open(QFile::ReadOnly)); info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/compressme.txt")); - QTest::addRow("%s compressed text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") - << file.readAll() + QByteArray compressmeContents = file.readAll(); + QTest::addRow("compressed text on %s", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt") + << compressmeContents + << QStringList() + << QStringList() + << QLocale("de_CH") + << qlonglong(info.size()); + + QTest::addRow("non-compressed text on %s", qPrintable(root)) << QString(root + "uncompresseddir/uncompressed.txt") + << compressmeContents << QStringList() << QStringList() << QLocale("de_CH") @@ -463,6 +485,18 @@ void tst_QResourceEngine::checkStructure() // check that it is still valid after closing the file file.close(); QCOMPARE(ba, contents); + + // memory should be writable because we used MapPrivateOption + *ptr = '\0'; + + // but shouldn't affect the actual file or a new mapping + QFile file2(pathName); + QVERIFY(file2.open(QFile::ReadOnly)); + QCOMPARE(file2.readAll(), contents); + ptr = file2.map(0, file.size(), QFile::MapPrivateOption); + QVERIFY2(ptr, qPrintable(file2.errorString())); + QByteArrayView bav(reinterpret_cast<const char *>(ptr), file.size()); + QCOMPARE(bav, contents); } QLocale::setDefault(QLocale::system()); } diff --git a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp index fbb6a29f26..c027f8a3c1 100644 --- a/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp +++ b/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp @@ -5,6 +5,7 @@ #include <QSaveFile> #include <qcoreapplication.h> #include <qstring.h> +#include <qsystemdetection.h> #include <qtemporaryfile.h> #include <qfile.h> #include <qdir.h> @@ -89,17 +90,34 @@ void tst_QSaveFile::transactionalWrite() QCOMPARE(file.fileName(), targetFile); QVERIFY(!QFile::exists(targetFile)); - QCOMPARE(file.write("Hello"), Q_INT64_C(5)); + const char *data = "Hello"; + QCOMPARE(file.write(data), qint64(strlen(data))); QCOMPARE(file.error(), QFile::NoError); QVERIFY(!QFile::exists(targetFile)); + QVERIFY(file.fileTime(QFile::FileModificationTime).isValid()); QVERIFY(file.commit()); QVERIFY(QFile::exists(targetFile)); QCOMPARE(file.fileName(), targetFile); +#if defined(Q_OS_WIN) + // Without this delay, file.fileTime() and file.size() tests fail to + // pass on Windows in the CI. It passes locally in a VM, so it looks like + // it depends on how often different filesystems on different OSes, update + // their metadata. + // Interestingly, this delay is enough to fix similar tests in the rest + // of tst_QSaveFile's functions. + QTRY_VERIFY(file.fileTime(QFile::FileModificationTime).isValid()); +#else + QVERIFY(file.fileTime(QFile::FileModificationTime).isValid()); +#endif + + QCOMPARE(file.size(), qint64(strlen(data))); QFile reader(targetFile); QVERIFY(reader.open(QIODevice::ReadOnly)); - QCOMPARE(QString::fromLatin1(reader.readAll()), QString::fromLatin1("Hello")); + QCOMPARE(QString::fromLatin1(reader.readAll()), QString::fromLatin1(data)); + QCOMPARE(file.fileTime(QFile::FileModificationTime), + reader.fileTime(QFile::FileModificationTime)); // check that permissions are the same as for QFile const QString otherFile = dir.path() + QString::fromLatin1("/otherfile"); @@ -124,12 +142,13 @@ void tst_QSaveFile::retryTransactionalWrite() QTemporaryDir dir; QVERIFY2(dir.isValid(), qPrintable(dir.errorString())); + const char *data = "Hello"; QString targetFile = dir.path() + QLatin1String("/outfile"); const QString readOnlyName = targetFile + QLatin1String(".ro"); { QFile readOnlyFile(readOnlyName); QVERIFY2(readOnlyFile.open(QIODevice::WriteOnly), msgCannotOpen(readOnlyFile).constData()); - readOnlyFile.write("Hello"); + readOnlyFile.write(data); readOnlyFile.close(); auto permissions = readOnlyFile.permissions(); permissions &= ~(QFileDevice::WriteOwner | QFileDevice::WriteGroup | QFileDevice::WriteUser); @@ -142,13 +161,15 @@ void tst_QSaveFile::retryTransactionalWrite() file.setFileName(targetFile); QVERIFY2(file.open(QIODevice::WriteOnly), msgCannotOpen(file).constData()); QVERIFY(file.isOpen()); - QCOMPARE(file.write("Hello"), Q_INT64_C(5)); + QCOMPARE(file.write(data), qint64(strlen(data))); QCOMPARE(file.error(), QFile::NoError); QVERIFY(file.commit()); + QCOMPARE(file.size(), qint64(strlen(data))); } void tst_QSaveFile::saveTwice() { + const char *hello = "Hello"; // Check that we can reuse a QSaveFile object // (and test the case of an existing target file) QTemporaryDir dir; @@ -156,16 +177,19 @@ void tst_QSaveFile::saveTwice() const QString targetFile = dir.path() + QString::fromLatin1("/outfile"); QSaveFile file(targetFile); QVERIFY2(file.open(QIODevice::WriteOnly), msgCannotOpen(file).constData()); - QCOMPARE(file.write("Hello"), Q_INT64_C(5)); + QCOMPARE(file.write(hello), qint64(strlen(hello))); QVERIFY2(file.commit(), qPrintable(file.errorString())); + QCOMPARE(file.size(), qint64(strlen(hello))); + const char *world = "World"; QVERIFY2(file.open(QIODevice::WriteOnly), msgCannotOpen(file).constData()); - QCOMPARE(file.write("World"), Q_INT64_C(5)); + QCOMPARE(file.write(world), qint64(strlen(world))); QVERIFY2(file.commit(), qPrintable(file.errorString())); + QCOMPARE(file.size(), qint64(strlen(world))); QFile reader(targetFile); QVERIFY2(reader.open(QIODevice::ReadOnly), msgCannotOpen(reader).constData()); - QCOMPARE(QString::fromLatin1(reader.readAll()), QString::fromLatin1("World")); + QCOMPARE(QString::fromLatin1(reader.readAll()), QString::fromLatin1(world)); } void tst_QSaveFile::textStreamManualFlush() @@ -176,16 +200,18 @@ void tst_QSaveFile::textStreamManualFlush() QSaveFile file(targetFile); QVERIFY2(file.open(QIODevice::WriteOnly), msgCannotOpen(file).constData()); + const char *data = "Manual flush"; QTextStream ts(&file); - ts << "Manual flush"; + ts << data; ts.flush(); QCOMPARE(file.error(), QFile::NoError); QVERIFY(!QFile::exists(targetFile)); QVERIFY(file.commit()); + QCOMPARE(file.size(), qint64(strlen(data))); QFile reader(targetFile); QVERIFY(reader.open(QIODevice::ReadOnly)); - QCOMPARE(QString::fromLatin1(reader.readAll().constData()), QString::fromLatin1("Manual flush")); + QCOMPARE(QString::fromLatin1(reader.readAll().constData()), QString::fromLatin1(data)); QFile::remove(targetFile); } @@ -432,6 +458,7 @@ void tst_QSaveFile::symlink() QVERIFY(saveFile.open(QIODevice::WriteOnly)); QCOMPARE(saveFile.write(someData), someData.size()); saveFile.commit(); + QCOMPARE(saveFile.size(), someData.size()); QFile file(targetFile); QVERIFY2(file.open(QIODevice::ReadOnly), msgCannotOpen(file).constData()); @@ -461,6 +488,7 @@ void tst_QSaveFile::symlink() QVERIFY(saveFile.open(QIODevice::WriteOnly)); QCOMPARE(saveFile.write(someData), someData.size()); saveFile.commit(); + QCOMPARE(saveFile.size(), someData.size()); // the explicit file becomes a file instead of a link QVERIFY(!QFileInfo(cyclicLink + QLatin1Char('1')).isSymLink()); @@ -540,6 +568,7 @@ void tst_QSaveFile::alternateDataStream() QVERIFY2(file.open(QIODevice::WriteOnly), qPrintable(file.errorString())); file.write(newContent); QVERIFY2(file.commit(), qPrintable(file.errorString())); + QCOMPARE(file.size(), qint64(strlen(newContent))); // check the contents QFile targetFile(adsName); diff --git a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp index 4bb7042790..84d0a505a4 100644 --- a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp +++ b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp @@ -430,7 +430,7 @@ void tst_qstandardpaths::testAppConfigLocation() #endif } -#ifndef Q_OS_WIN +#if !defined(Q_OS_WIN) && !defined(Q_OS_WASM) // Find "sh" on Unix. // It may exist twice, in /bin/sh and /usr/bin/sh, in that case use the PATH order. static inline QFileInfo findSh() @@ -484,6 +484,7 @@ void tst_qstandardpaths::testFindExecutable_data() << QString() << logo << logoPath; } #else +# ifndef Q_OS_WASM const QFileInfo shFi = findSh(); Q_ASSERT(shFi.exists()); const QString shPath = shFi.absoluteFilePath(); @@ -493,6 +494,7 @@ void tst_qstandardpaths::testFindExecutable_data() << QString() << shPath << shPath; QTest::newRow("unix-sh-relativepath") << QString(shFi.absolutePath()) << QString::fromLatin1("./sh") << shPath; +#endif /* !WASM */ #endif QTest::newRow("idontexist") << QString() << QString::fromLatin1("idontexist") << QString(); @@ -524,6 +526,9 @@ void tst_qstandardpaths::testFindExecutable() void tst_qstandardpaths::testFindExecutableLinkToDirectory() { +#ifdef Q_OS_WASM + QSKIP("No applicationdir on wasm"); +#else // link to directory const QString target = QDir::tempPath() + QDir::separator() + QLatin1String("link.lnk"); QFile::remove(target); @@ -531,6 +536,7 @@ void tst_qstandardpaths::testFindExecutableLinkToDirectory() QVERIFY(appFile.link(target)); QVERIFY(QStandardPaths::findExecutable(target).isEmpty()); QFile::remove(target); +#endif } using RuntimeDirSetup = std::optional<QString> (*)(QDir &); diff --git a/tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp b/tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp index 6a6339a8ec..5242988fd1 100644 --- a/tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp +++ b/tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp @@ -262,7 +262,9 @@ void tst_QStorageInfo::freeSpaceUpdate() FlushFileBuffers(HANDLE(_get_osfhandle(file.handle()))); #elif _POSIX_VERSION >= 200112L fsync(file.handle()); +# ifndef Q_OS_VXWORKS sync(); +# endif // Q_OS_VXWORKS #endif }; diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp index 81cd94e4ed..2024968435 100644 --- a/tests/auto/corelib/io/qurl/tst_qurl.cpp +++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp @@ -3776,13 +3776,13 @@ void tst_QUrl::setComponents_data() << PrettyDecoded << QString() << "foo:/path"; QTest::newRow("host-empty") << QUrl("foo://example.com/path") << int(Host) << "" << Tolerant << true - << PrettyDecoded << QString() << "foo:///path"; + << PrettyDecoded << "" << "foo:///path"; QTest::newRow("authority-null") << QUrl("foo://example.com/path") << int(Authority) << QString() << Tolerant << true << PrettyDecoded << QString() << "foo:/path"; QTest::newRow("authority-empty") << QUrl("foo://example.com/path") << int(Authority) << "" << Tolerant << true - << PrettyDecoded << QString() << "foo:///path"; + << PrettyDecoded << "" << "foo:///path"; QTest::newRow("query-null") << QUrl("http://example.com/?q=foo") << int(Query) << QString() << Tolerant << true << PrettyDecoded << QString() << "http://example.com/"; @@ -3840,10 +3840,10 @@ void tst_QUrl::setComponents_data() << PrettyDecoded << QString() << QString(); QTest::newRow("invalid-authority-1") << QUrl("http://example.com") << int(Authority) << "-not-valid-" << Tolerant << false - << PrettyDecoded << QString() << QString(); + << PrettyDecoded << "" << QString(); QTest::newRow("invalid-authority-2") << QUrl("http://example.com") << int(Authority) << "%31%30.%30.%30.%31" << Strict << false - << PrettyDecoded << QString() << QString(); + << PrettyDecoded << "" << QString(); QTest::newRow("invalid-path-0") << QUrl("http://example.com") << int(Path) << "{}" << Strict << false @@ -4126,14 +4126,30 @@ void tst_QUrl::testThreadingHelper() void tst_QUrl::testThreading() { + enum { Count = 100 }; + if (QTestPrivate::isRunningArmOnX86()) QSKIP("This test fails in QEMU and looks like because of a data race, QTBUG-93176"); s_urlStorage = new UrlStorage; - QThreadPool::globalInstance()->setMaxThreadCount(100); - QFutureSynchronizer<void> sync; - for (int i = 0; i < 100; ++i) - sync.addFuture(QtConcurrent::run(&tst_QUrl::testThreadingHelper, this)); - sync.waitForFinished(); + QThreadPool::globalInstance()->setMaxThreadCount(Count); + + // Written this way because wasm need the eventloop + QList<QFuture<void>> futures; + futures.reserve(Count); + + for (int i = 0; i < Count; ++i) + futures.push_back(QtConcurrent::run(&tst_QUrl::testThreadingHelper, this)); + + QEventLoop loop; + std::atomic<int> remaining = Count; + for (int i = 0; i < Count; ++i) { + futures[i].then([&]() { + if (!--remaining) + loop.quit(); + }); + } + loop.exec(); + delete s_urlStorage; } diff --git a/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp b/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp index 8a799fbf94..8360bdbe28 100644 --- a/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp +++ b/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp @@ -73,9 +73,12 @@ static QByteArray prettyList(const QueryItems &items) static bool compare(const QueryItems &actual, const QueryItems &expected, const char *actualStr, const char *expectedStr, const char *file, int line) { + auto formatter = [](const void *val) -> const char * { + const QueryItems items = *static_cast<const QueryItems *>(val); + return qstrdup(prettyList(items).constData()); + }; return QTest::compare_helper(actual == expected, "Compared values are not the same", - [&actual] { return qstrdup(prettyList(actual).constData()); }, - [&expected] { return qstrdup(prettyList(expected).constData()); }, + &actual, &expected, formatter, formatter, actualStr, expectedStr, file, line); } diff --git a/tests/auto/corelib/ipc/qnativeipckey/CMakeLists.txt b/tests/auto/corelib/ipc/qnativeipckey/CMakeLists.txt index aba8946002..0cc6a7b18b 100644 --- a/tests/auto/corelib/ipc/qnativeipckey/CMakeLists.txt +++ b/tests/auto/corelib/ipc/qnativeipckey/CMakeLists.txt @@ -10,4 +10,6 @@ endif() qt_internal_add_test(tst_qnativeipckey SOURCES tst_qnativeipckey.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/ipc/qnativeipckey/tst_qnativeipckey.cpp b/tests/auto/corelib/ipc/qnativeipckey/tst_qnativeipckey.cpp index cd1a07a4d0..a01a108591 100644 --- a/tests/auto/corelib/ipc/qnativeipckey/tst_qnativeipckey.cpp +++ b/tests/auto/corelib/ipc/qnativeipckey/tst_qnativeipckey.cpp @@ -3,6 +3,7 @@ #include <QtCore/QNativeIpcKey> #include <QtTest/QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include "../ipctestcommon.h" @@ -25,6 +26,7 @@ class tst_QNativeIpcKey : public QObject { Q_OBJECT private slots: + void compareCompiles(); void defaultTypes(); void construct(); void getSetCheck(); @@ -39,6 +41,11 @@ private slots: void legacyKeys(); }; +void tst_QNativeIpcKey::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QNativeIpcKey>(); +} + void tst_QNativeIpcKey::defaultTypes() { auto isKnown = [](QNativeIpcKey::Type t) { @@ -180,35 +187,43 @@ void tst_QNativeIpcKey::equality() QNativeIpcKey key1, key2; QCOMPARE(key1, key2); QVERIFY(!(key1 != key2)); + QT_TEST_EQUALITY_OPS(key1, key2, true); key1.setNativeKey("key1"); QCOMPARE_NE(key1, key2); QVERIFY(!(key1 == key2)); + QT_TEST_EQUALITY_OPS(key1, key2, false); key2.setType({}); QCOMPARE_NE(key1, key2); QVERIFY(!(key1 == key2)); + QT_TEST_EQUALITY_OPS(key1, key2, false); key2.setNativeKey(key1.nativeKey()); QCOMPARE_NE(key1, key2); QVERIFY(!(key1 == key2)); + QT_TEST_EQUALITY_OPS(key1, key2, false); key2.setType(QNativeIpcKey::DefaultTypeForOs); QCOMPARE(key1, key2); QVERIFY(!(key1 != key2)); + QT_TEST_EQUALITY_OPS(key1, key2, true); key1 = makeLegacyKey("key1", QNativeIpcKey::DefaultTypeForOs); QCOMPARE_NE(key1, key2); QVERIFY(!(key1 == key2)); + QT_TEST_EQUALITY_OPS(key1, key2, false); key2 = key1; QCOMPARE(key1, key2); QVERIFY(!(key1 != key2)); + QT_TEST_EQUALITY_OPS(key1, key2, true); // just setting the native key won't make them equal again! key2.setNativeKey(key1.nativeKey()); QCOMPARE_NE(key1, key2); QVERIFY(!(key1 == key2)); + QT_TEST_EQUALITY_OPS(key1, key2, false); } void tst_QNativeIpcKey::hash() @@ -410,6 +425,7 @@ void tst_QNativeIpcKey::legacyKeys() QString string = key.toString(); QNativeIpcKey key2 = QNativeIpcKey::fromString(string); QCOMPARE(key2, key); + QT_TEST_EQUALITY_OPS(key, key2, true); if (!legacyKey.isEmpty()) { // confirm it shows up in the encoded form diff --git a/tests/auto/corelib/itemmodels/CMakeLists.txt b/tests/auto/corelib/itemmodels/CMakeLists.txt index 90211669d9..c0cd04df12 100644 --- a/tests/auto/corelib/itemmodels/CMakeLists.txt +++ b/tests/auto/corelib/itemmodels/CMakeLists.txt @@ -4,15 +4,17 @@ add_subdirectory(qstringlistmodel) if(TARGET Qt::Gui) add_subdirectory(qabstractitemmodel) - add_subdirectory(qabstractproxymodel) - add_subdirectory(qconcatenatetablesproxymodel) - add_subdirectory(qidentityproxymodel) + if(QT_FEATURE_proxymodel) + add_subdirectory(qabstractproxymodel) + add_subdirectory(qconcatenatetablesproxymodel) + add_subdirectory(qidentityproxymodel) + add_subdirectory(qsortfilterproxymodel_recursive) + add_subdirectory(qsortfilterproxymodel_regularexpression) + add_subdirectory(qtransposeproxymodel) + endif() add_subdirectory(qitemselectionmodel) - add_subdirectory(qsortfilterproxymodel_recursive) - add_subdirectory(qsortfilterproxymodel_regularexpression) - add_subdirectory(qtransposeproxymodel) endif() -if(TARGET Qt::Widgets) +if(TARGET Qt::Widgets AND QT_FEATURE_proxymodel) add_subdirectory(qsortfilterproxymodel) endif() if(TARGET Qt::Sql AND TARGET Qt::Widgets) diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp index 36eb9320a4..6b1e4ce9ba 100644 --- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp @@ -6,7 +6,9 @@ #include <QtTest/private/qcomparisontesthelper_p.h> #include <QtCore/QCoreApplication> +#if QT_CONFIG(sortfilterproxymodel) #include <QtCore/QSortFilterProxyModel> +#endif #include <QtCore/QStringListModel> #include <QtGui/QStandardItemModel> @@ -80,9 +82,11 @@ private slots: void testMoveWithinOwnRange_data(); void testMoveWithinOwnRange(); +#if QT_CONFIG(sortfilterproxymodel) void testMoveThroughProxy(); void testReset(); +#endif void testDataChanged(); @@ -1239,6 +1243,7 @@ void tst_QAbstractItemModel::testMoveSameParentUp() } } +#if QT_CONFIG(sortfilterproxymodel) void tst_QAbstractItemModel::testMoveThroughProxy() { QSortFilterProxyModel *proxy = new QSortFilterProxyModel(this); @@ -1257,6 +1262,7 @@ void tst_QAbstractItemModel::testMoveThroughProxy() moveCommand->setDestRow(0); moveCommand->doCommand(); } +#endif void tst_QAbstractItemModel::testMoveToGrandParent_data() { @@ -1804,6 +1810,7 @@ void tst_QAbstractItemModel::testMoveWithinOwnRange() QCOMPARE(afterSpy.size(), 0); } +#if QT_CONFIG(proxymodel) class ListenerObject : public QObject { Q_OBJECT @@ -1822,7 +1829,7 @@ private: QList<QPersistentModelIndex> m_persistentIndexes; QModelIndexList m_nonPersistentIndexes; }; - +#endif class ModelWithCustomRole : public QStringListModel { @@ -1836,6 +1843,7 @@ public: } }; +#if QT_CONFIG(proxymodel) ListenerObject::ListenerObject(QAbstractProxyModel *parent) : QObject(parent), m_model(parent) { @@ -1876,7 +1884,9 @@ void ListenerObject::slotReset() QVERIFY(!idx.isValid()); } } +#endif +#if QT_CONFIG(sortfilterproxymodel) void tst_QAbstractItemModel::testReset() { QSignalSpy beforeResetSpy(m_model, &DynamicTreeModel::modelAboutToBeReset); @@ -1931,6 +1941,7 @@ void tst_QAbstractItemModel::testReset() // After being reset the proxy must be queried again. QCOMPARE(nullProxy->roleNames().value(Qt::UserRole + 1), QByteArray()); } +#endif class CustomRoleModel : public QStringListModel { diff --git a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp index 02e0f86ea7..08233a1f7b 100644 --- a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp +++ b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QtTest/private/qpropertytesthelper_p.h> #include <QSignalSpy> @@ -24,6 +25,7 @@ public slots: void cleanupTestCase(); void init(); private slots: + void compareCompiles(); void clear_data(); void clear(); void clearAndSelect(); @@ -55,8 +57,10 @@ private slots: void merge(); void isRowSelected(); void childrenDeselectionSignal(); +#if QT_CONFIG(proxymodel) void layoutChangedWithAllSelected1(); void layoutChangedWithAllSelected2(); +#endif void layoutChangedTreeSelection(); void deselectRemovedMiddleRange(); void setModel(); @@ -73,7 +77,9 @@ private slots: void QTBUG48402(); void QTBUG58851_data(); +#if QT_CONFIG(proxymodel) void QTBUG58851(); +#endif void QTBUG18001_data(); void QTBUG18001(); @@ -213,6 +219,11 @@ void tst_QItemSelectionModel::init() model->insertRow(0, QModelIndex()); } +void tst_QItemSelectionModel::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QItemSelectionRange>(); +} + void tst_QItemSelectionModel::clear_data() { QTest::addColumn<QModelIndexList>("indexList"); @@ -2253,6 +2264,7 @@ void tst_QItemSelectionModel::childrenDeselectionSignal() QVERIFY(selectionModel.selection().contains(sel2)); } +#if QT_CONFIG(proxymodel) void tst_QItemSelectionModel::layoutChangedWithAllSelected1() { QStringListModel model( QStringList() << "foo" << "bar" << "foo2"); @@ -2331,6 +2343,7 @@ void tst_QItemSelectionModel::layoutChangedWithAllSelected2() for (const auto &index : indexList) QVERIFY(selection.isSelected(index)); } +#endif // This test is a regression test for QTBUG-2804. void tst_QItemSelectionModel::layoutChangedTreeSelection() @@ -2714,6 +2727,9 @@ void tst_QItemSelectionModel::QTBUG48402() model.removeRows(removeTop, removeBottom - removeTop + 1); QCOMPARE(QItemSelectionRange(helper.tl, helper.br), QItemSelectionRange(dtl, dbr)); + QT_TEST_EQUALITY_OPS(QItemSelectionRange(helper.tl, helper.br), QItemSelectionRange(dtl, dbr), true); + QT_TEST_EQUALITY_OPS(QItemSelectionRange(), QItemSelectionRange(), true); + QT_TEST_EQUALITY_OPS(QItemSelectionRange(helper.tl, helper.br), QItemSelectionRange(), false); } void tst_QItemSelectionModel::QTBUG58851_data() @@ -2742,6 +2758,7 @@ void tst_QItemSelectionModel::QTBUG58851_data() << IntPair(2, 3)); } +#if QT_CONFIG(proxymodel) void tst_QItemSelectionModel::QTBUG58851() { using IntPair = std::pair<int, int>; @@ -2786,6 +2803,7 @@ void tst_QItemSelectionModel::QTBUG58851() QVERIFY(selections.isSelected(i)); } } +#endif void tst_QItemSelectionModel::QTBUG18001_data() { @@ -2963,7 +2981,7 @@ void tst_QItemSelectionModel::destroyModel() selectionModel->setCurrentIndex(itemModel->index(1, 0), QItemSelectionModel::Select); QVERIFY(selectionModel->currentIndex().isValid()); - QTest::failOnWarning(QRegularExpression(".*")); + QTest::failOnWarning(); itemModel.reset(); QVERIFY(!selectionModel->currentIndex().isValid()); QVERIFY(selectionModel->selection().isEmpty()); diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp index 5a06a4a605..0e027461aa 100644 --- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp +++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp @@ -247,13 +247,16 @@ void tst_QSortFilterProxyModel::sort() QCOMPARE(m_proxy->data(index, Qt::DisplayRole).toString(), expected.at(row)); } - // restore the unsorted order - m_proxy->sort(-1); + // restore the unsorted order in the given order + m_proxy->sort(-1, sortOrder); - // make sure the proxy is unsorted again + // make sure the proxy is sorted by source row in the given order + int sourceIndex = sortOrder == Qt::AscendingOrder ? 0 : initial.size() - 1; + int adjustmentValue = sortOrder == Qt::AscendingOrder ? 1 : -1; for (int row = 0; row < m_proxy->rowCount(QModelIndex()); ++row) { QModelIndex index = m_proxy->index(row, 0, QModelIndex()); - QCOMPARE(m_proxy->data(index, Qt::DisplayRole).toString(), initial.at(row)); + QCOMPARE(m_proxy->data(index, Qt::DisplayRole).toString(), initial.at(sourceIndex)); + sourceIndex += adjustmentValue; } } diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp index 0745ea6ceb..8f8ab33e64 100644 --- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp +++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp @@ -1041,7 +1041,7 @@ void tst_QCoreApplication::addRemoveLibPaths() static bool theMainThreadIsSet() { // QCoreApplicationPrivate::mainThread() has a Q_ASSERT we'd trigger - return QCoreApplicationPrivate::theMainThread.loadRelaxed() != nullptr; + return QCoreApplicationPrivate::theMainThreadId.loadRelaxed() != nullptr; } static bool theMainThreadWasUnset = !theMainThreadIsSet(); // global static @@ -1053,8 +1053,8 @@ void tst_QCoreApplication::theMainThread() int argc = 1; char *argv[] = { const_cast<char*>(QTest::currentAppName()) }; TestApplication app(argc, argv); - QVERIFY(QCoreApplicationPrivate::theMainThread.loadRelaxed()); - QCOMPARE(QCoreApplicationPrivate::theMainThread.loadRelaxed(), thread()); + QVERIFY(QCoreApplicationPrivate::theMainThreadId.loadRelaxed()); + QVERIFY(QThread::isMainThread()); QCOMPARE(app.thread(), thread()); QCOMPARE(app.thread(), QThread::currentThread()); } @@ -1067,7 +1067,7 @@ static void createQObjectOnDestruction() #if !defined(QT_QGUIAPPLICATIONTEST) && !defined(Q_OS_WIN) // QCoreApplicationData's global static destructor has run and cleaned up - // the QAdoptedThrad. + // the QAdoptedThread. if (theMainThreadIsSet()) qFatal("theMainThreadIsSet() returned true; some QObject must have leaked"); #endif diff --git a/tests/auto/corelib/kernel/qdeadlinetimer/CMakeLists.txt b/tests/auto/corelib/kernel/qdeadlinetimer/CMakeLists.txt index 0c70b1d1a7..2031cd9d48 100644 --- a/tests/auto/corelib/kernel/qdeadlinetimer/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qdeadlinetimer/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qdeadlinetimer SOURCES tst_qdeadlinetimer.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/kernel/qdeadlinetimer/tst_qdeadlinetimer.cpp b/tests/auto/corelib/kernel/qdeadlinetimer/tst_qdeadlinetimer.cpp index 19bea741f3..79416faaf9 100644 --- a/tests/auto/corelib/kernel/qdeadlinetimer/tst_qdeadlinetimer.cpp +++ b/tests/auto/corelib/kernel/qdeadlinetimer/tst_qdeadlinetimer.cpp @@ -6,6 +6,7 @@ #include <QtCore/QDeadlineTimer> #include <QtCore/QElapsedTimer> #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QTimer> #include <chrono> @@ -35,6 +36,7 @@ class tst_QDeadlineTimer : public QObject Q_OBJECT private Q_SLOTS: + void compareCompiles(); void basics(); void foreverness(); void current(); @@ -47,6 +49,11 @@ private Q_SLOTS: static constexpr auto timerType = Qt::PreciseTimer; +void tst_QDeadlineTimer::compareCompiles() +{ + QTestPrivate::testAllComparisonOperatorsCompile<QDeadlineTimer>(); +} + void tst_QDeadlineTimer::basics() { QDeadlineTimer deadline; @@ -65,6 +72,9 @@ void tst_QDeadlineTimer::basics() QCOMPARE_LE(deadline, deadline); QCOMPARE_GE(deadline, deadline); QVERIFY(!(deadline > deadline)); + QT_TEST_ALL_COMPARISON_OPS(deadline, QDeadlineTimer(timerType), Qt::strong_ordering::equal); + QT_TEST_ALL_COMPARISON_OPS(deadline, QDeadlineTimer(), Qt::strong_ordering::equal); + QT_TEST_ALL_COMPARISON_OPS(QDeadlineTimer(), QDeadlineTimer(), Qt::strong_ordering::equal); // should have expired, but we may be running too early after boot QTRY_VERIFY_WITH_TIMEOUT(deadline.hasExpired(), 100); @@ -167,6 +177,7 @@ void tst_QDeadlineTimer::foreverness() QCOMPARE_LE(deadline, deadline); QCOMPARE_GE(deadline, deadline); QVERIFY(!(deadline > deadline)); + QT_TEST_ALL_COMPARISON_OPS(deadline, deadline, Qt::strong_ordering::equal); // adding to forever must still be forever QDeadlineTimer deadline2 = deadline + 1; @@ -184,6 +195,7 @@ void tst_QDeadlineTimer::foreverness() QCOMPARE_LE(deadline2, deadline); QCOMPARE_GE(deadline2, deadline); QVERIFY(!(deadline2 > deadline)); + QT_TEST_ALL_COMPARISON_OPS(deadline2, deadline, Qt::strong_ordering::equal); // subtracting from forever is *also* forever deadline2 = deadline - 1; @@ -201,6 +213,7 @@ void tst_QDeadlineTimer::foreverness() QCOMPARE_LE(deadline2, deadline); QCOMPARE_GE(deadline2, deadline); QVERIFY(!(deadline2 > deadline)); + QT_TEST_ALL_COMPARISON_OPS(deadline2, deadline, Qt::strong_ordering::equal); // compare and order against a default-constructed object QDeadlineTimer expired; @@ -210,6 +223,7 @@ void tst_QDeadlineTimer::foreverness() QVERIFY(!(deadline <= expired)); QCOMPARE_GE(deadline, expired); QCOMPARE_GT(deadline, expired); + QT_TEST_EQUALITY_OPS(deadline, expired, false); } void tst_QDeadlineTimer::current() @@ -245,6 +259,7 @@ void tst_QDeadlineTimer::current() QCOMPARE_LE(earlierDeadline, deadline); QVERIFY(!(earlierDeadline >= deadline)); QVERIFY(!(earlierDeadline > deadline)); + QT_TEST_ALL_COMPARISON_OPS(earlierDeadline, deadline, Qt::strong_ordering::less); } void tst_QDeadlineTimer::deadlines() @@ -323,6 +338,7 @@ void tst_QDeadlineTimer::deadlines() QVERIFY(!(laterDeadline <= deadline)); QCOMPARE_GE(laterDeadline, deadline); QCOMPARE_GT(laterDeadline, deadline); + QT_TEST_ALL_COMPARISON_OPS(laterDeadline, deadline, Qt::strong_ordering::greater); // compare and order against a default-constructed object QDeadlineTimer expired; @@ -332,9 +348,11 @@ void tst_QDeadlineTimer::deadlines() QVERIFY(!(deadline <= expired)); QCOMPARE_GE(deadline, expired); QCOMPARE_GT(deadline, expired); + QT_TEST_EQUALITY_OPS(deadline, expired, false); // compare and order against a forever deadline QDeadlineTimer forever_(QDeadlineTimer::Forever); + QT_TEST_EQUALITY_OPS(deadline, forever_, false); QVERIFY(!(deadline == forever_)); QCOMPARE_NE(deadline, forever_); QCOMPARE_LT(deadline, forever_); @@ -601,12 +619,14 @@ void tst_QDeadlineTimer::stdchrono() QCOMPARE_LT(diff.count(), 3 * minResolution / 2); QDeadlineTimer dt_after(steady_after, timerType); QCOMPARE_LT(now, dt_after); + QT_TEST_ALL_COMPARISON_OPS(now, dt_after, Qt::strong_ordering::less); diff = duration_cast<milliseconds>(steady_deadline - steady_before); QCOMPARE_GT(diff.count(), minResolution / 2); QCOMPARE_LT(diff.count(), 3 * minResolution / 2); QDeadlineTimer dt_before(steady_before, timerType); QCOMPARE_GT(now, dt_before); + QT_TEST_ALL_COMPARISON_OPS(now, dt_before, Qt::strong_ordering::greater); } { auto diff = duration_cast<milliseconds>(system_after - system_deadline); @@ -614,12 +634,14 @@ void tst_QDeadlineTimer::stdchrono() QCOMPARE_LT(diff.count(), 3 * minResolution / 2); QDeadlineTimer dt_after(system_after, timerType); QCOMPARE_LT(now, dt_after); + QT_TEST_ALL_COMPARISON_OPS(now, dt_after, Qt::strong_ordering::less); diff = duration_cast<milliseconds>(system_deadline - system_before); QCOMPARE_GT(diff.count(), minResolution / 2); QCOMPARE_LT(diff.count(), 3 * minResolution / 2); QDeadlineTimer dt_before(system_before, timerType); QCOMPARE_GT(now, dt_before); + QT_TEST_ALL_COMPARISON_OPS(now, dt_before, Qt::strong_ordering::greater); } // make it regular @@ -654,6 +676,14 @@ void tst_QDeadlineTimer::stdchrono() QCOMPARE_LT(deadline, 5000000ns * minResolution); QCOMPARE_GE(deadline, steady_clock::now()); QCOMPARE_GE(deadline, system_clock::now()); + QT_TEST_ALL_COMPARISON_OPS(deadline, now + 3ms * minResolution, Qt::strong_ordering::greater); + QT_TEST_ALL_COMPARISON_OPS(deadline, now + 5ms * minResolution, Qt::strong_ordering::less); + QT_TEST_ALL_COMPARISON_OPS(deadline, now + 3000000ns * minResolution, Qt::strong_ordering::greater); + QT_TEST_ALL_COMPARISON_OPS(deadline, now + 5000000ns * minResolution, Qt::strong_ordering::less); + QT_TEST_ALL_COMPARISON_OPS(deadline, 3ms * minResolution, Qt::strong_ordering::greater); + QT_TEST_ALL_COMPARISON_OPS(deadline, 5ms * minResolution, Qt::strong_ordering::less); + QT_TEST_ALL_COMPARISON_OPS(deadline, steady_clock::now(), Qt::strong_ordering::greater); + QT_TEST_ALL_COMPARISON_OPS(deadline, system_clock::now(), Qt::strong_ordering::greater); now = QDeadlineTimer::current(timerType); deadline = QDeadlineTimer(1s, timerType); diff --git a/tests/auto/corelib/kernel/qelapsedtimer/CMakeLists.txt b/tests/auto/corelib/kernel/qelapsedtimer/CMakeLists.txt index 9a40a2f905..eccde38df2 100644 --- a/tests/auto/corelib/kernel/qelapsedtimer/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qelapsedtimer/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qelapsedtimer SOURCES tst_qelapsedtimer.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/kernel/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/corelib/kernel/qelapsedtimer/tst_qelapsedtimer.cpp index 7623fd2e43..7a2b12b2eb 100644 --- a/tests/auto/corelib/kernel/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/corelib/kernel/qelapsedtimer/tst_qelapsedtimer.cpp @@ -5,6 +5,7 @@ #include <QtCore/QString> #include <QtCore/QElapsedTimer> #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QTimer> static const int minResolution = 100; // the minimum resolution for the tests @@ -22,6 +23,7 @@ class tst_QElapsedTimer : public QObject Q_OBJECT private Q_SLOTS: + void compareCompiles(); void statics(); void validity(); void basics(); @@ -29,6 +31,11 @@ private Q_SLOTS: void msecsTo(); }; +void tst_QElapsedTimer::compareCompiles() +{ + QTestPrivate::testAllComparisonOperatorsCompile<QElapsedTimer>(); +} + void tst_QElapsedTimer::statics() { // these have been required since Qt 6.6 @@ -77,6 +84,7 @@ void tst_QElapsedTimer::basics() QVERIFY(!(t1 < t1)); QCOMPARE(t1.msecsTo(t1), qint64(0)); QCOMPARE(t1.secsTo(t1), qint64(0)); + QT_TEST_ALL_COMPARISON_OPS(t1, t1, Qt::strong_ordering::equal); quint64 value1 = t1.msecsSinceReference(); qDebug() << "value1:" << value1 << "t1:" << t1; @@ -141,10 +149,16 @@ void tst_QElapsedTimer::msecsTo() QTest::qSleep(minResolution); QElapsedTimer t2; t2.start(); - - QVERIFY(t1 != t2); - QVERIFY(!(t1 == t2)); - QVERIFY(t1 < t2); + QTest::qSleep(minResolution); + QElapsedTimer t3; + t3.start(); + + QT_TEST_EQUALITY_OPS(t1, t2, false); + QT_TEST_EQUALITY_OPS(QElapsedTimer(), QElapsedTimer(), true); + QT_TEST_EQUALITY_OPS(QElapsedTimer(), t2, false); + QT_TEST_ALL_COMPARISON_OPS(t1, t2, Qt::strong_ordering::less); + QT_TEST_ALL_COMPARISON_OPS(t3, t2, Qt::strong_ordering::greater); + QT_TEST_ALL_COMPARISON_OPS(t3, QElapsedTimer(), Qt::strong_ordering::greater); auto diff = t1.msecsTo(t2); QVERIFY2(diff > 0, QString("difference t1 and t2 is %1").arg(diff).toLatin1()); diff --git a/tests/auto/corelib/kernel/qmetacontainer/CMakeLists.txt b/tests/auto/corelib/kernel/qmetacontainer/CMakeLists.txt index a9ebcdf72f..fb58aebe73 100644 --- a/tests/auto/corelib/kernel/qmetacontainer/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qmetacontainer/CMakeLists.txt @@ -16,4 +16,5 @@ qt_internal_add_test(tst_qmetacontainer tst_qmetacontainer.cpp LIBRARIES Qt::CorePrivate + Qt::TestPrivate ) diff --git a/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp b/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp index dff2176a11..cc1d8baa8e 100644 --- a/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp +++ b/tests/auto/corelib/kernel/qmetacontainer/tst_qmetacontainer.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtTest/qtest.h> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QtCore/qcontainerinfo.h> #include <QtCore/qmetacontainer.h> #include <QtCore/QMap> @@ -157,6 +158,7 @@ private: private slots: void init(); + void compareCompiles(); void testSequence_data(); void testSequence(); @@ -203,6 +205,12 @@ void tst_QMetaContainer::init() }; } +void tst_QMetaContainer::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QMetaSequence>(); + QTestPrivate::testEqualityOperatorsCompile<QMetaAssociation>(); +} + void tst_QMetaContainer::cleanup() { qvector.clear(); @@ -501,6 +509,9 @@ void tst_QMetaContainer::testSequence() QVERIFY(metaSequence.iface() != nullptr); QMetaSequence defaultConstructed; QVERIFY(defaultConstructed.iface() == nullptr); + QT_TEST_EQUALITY_OPS(QMetaSequence(), defaultConstructed, true); + QT_TEST_EQUALITY_OPS(QMetaSequence(), QMetaSequence(), true); + QT_TEST_EQUALITY_OPS(defaultConstructed, metaSequence, false); } void tst_QMetaContainer::testAssociation_data() @@ -728,8 +739,10 @@ void tst_QMetaContainer::testAssociation() metaAssociation.destroyConstIterator(constEnd); QVERIFY(metaAssociation.iface() != nullptr); - QMetaSequence defaultConstructed; + QMetaAssociation defaultConstructed; QVERIFY(defaultConstructed.iface() == nullptr); + QT_TEST_EQUALITY_OPS(QMetaAssociation(), QMetaAssociation(), true); + QT_TEST_EQUALITY_OPS(QMetaAssociation(), metaAssociation, false); } QTEST_MAIN(tst_QMetaContainer) diff --git a/tests/auto/corelib/kernel/qmetamethod/CMakeLists.txt b/tests/auto/corelib/kernel/qmetamethod/CMakeLists.txt index 29a6e3c64b..0d46aef8bd 100644 --- a/tests/auto/corelib/kernel/qmetamethod/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qmetamethod/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qmetamethod SOURCES tst_qmetamethod.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp index 47012f9a28..59fb747524 100644 --- a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp +++ b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp @@ -4,6 +4,7 @@ #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QTypeRevision> #include <qobject.h> @@ -14,6 +15,7 @@ class tst_QMetaMethod : public QObject Q_OBJECT private slots: + void compareCompiles(); void method_data(); void method(); @@ -166,6 +168,11 @@ QVariant MethodTestObject::qvariantSlotBoolIntUIntLonglongULonglongDoubleLongSho } void MethodTestObject::voidSlotNoParameterNames(bool, int) {} +void tst_QMetaMethod::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QMetaMethod>(); +} + void tst_QMetaMethod::method_data() { QTest::addColumn<QByteArray>("signature"); @@ -647,6 +654,8 @@ void tst_QMetaMethod::method() // Bogus indexes QCOMPARE(method.parameterType(-1), 0); QCOMPARE(method.parameterType(parameterTypes.size()), 0); + QT_TEST_EQUALITY_OPS(method, QMetaMethod(), false); + QT_TEST_EQUALITY_OPS(QMetaMethod(), QMetaMethod(), true); } void tst_QMetaMethod::invalidMethod() @@ -659,6 +668,9 @@ void tst_QMetaMethod::invalidMethod() QMetaMethod method3 = staticMetaObject.method(-1); QVERIFY(!method3.isValid()); + QT_TEST_EQUALITY_OPS(method, method2, true); + QT_TEST_EQUALITY_OPS(method2, method3, true); + QT_TEST_EQUALITY_OPS(method, method3, true); } void tst_QMetaMethod::comparisonOperators() @@ -673,16 +685,9 @@ void tst_QMetaMethod::comparisonOperators() QMetaMethod other = x ? mo->constructor(j) : mo->method(j); bool expectedEqual = ((methodMo == other.enclosingMetaObject()) && (i == j)); - QCOMPARE(method == other, expectedEqual); - QCOMPARE(method != other, !expectedEqual); - QCOMPARE(other == method, expectedEqual); - QCOMPARE(other != method, !expectedEqual); + QT_TEST_EQUALITY_OPS(method, other, expectedEqual); } - - QVERIFY(method != QMetaMethod()); - QVERIFY(QMetaMethod() != method); - QVERIFY(!(method == QMetaMethod())); - QVERIFY(!(QMetaMethod() == method)); + QT_TEST_EQUALITY_OPS(method, QMetaMethod(), false); } } @@ -691,8 +696,7 @@ void tst_QMetaMethod::comparisonOperators() for (int i = 0; i < qMin(mo->methodCount(), mo->constructorCount()); ++i) { QMetaMethod method = mo->method(i); QMetaMethod constructor = mo->constructor(i); - QVERIFY(method != constructor); - QVERIFY(!(method == constructor)); + QT_TEST_EQUALITY_OPS(method, constructor, false); } } @@ -748,6 +752,7 @@ void tst_QMetaMethod::gadget() QMetaMethod getValueMethod = MyGadget::staticMetaObject.method(idx); QVERIFY(getValueMethod.isValid()); + QT_TEST_EQUALITY_OPS(setValueMethod, getValueMethod, false); { MyGadget gadget; QString string; diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp index ee13c32353..182ec6daae 100644 --- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp @@ -3,11 +3,15 @@ #include <QTest> #include <QSignalSpy> +#if QT_CONFIG(sortfilterproxymodel) #include <QSortFilterProxyModel> +#endif #include <qobject.h> #include <qmetaobject.h> +#if QT_CONFIG(proxymodel) #include <qabstractproxymodel.h> +#endif #include <private/qmetaobject_p.h> Q_DECLARE_METATYPE(const QMetaObject *) @@ -1906,6 +1910,7 @@ void tst_QMetaObject::invokeBlockingQueuedPointer() void tst_QMetaObject::qtMetaObjectInheritance() { QVERIFY(!QObject::staticMetaObject.superClass()); +#if QT_CONFIG(sortfilterproxymodel) QCOMPARE(QSortFilterProxyModel::staticMetaObject.indexOfEnumerator("Qt::CaseSensitivity"), -1); QCOMPARE(QSortFilterProxyModel::staticMetaObject.indexOfEnumerator("CaseSensitivity"), -1); int indexOfSortCaseSensitivity = QSortFilterProxyModel::staticMetaObject.indexOfProperty("sortCaseSensitivity"); @@ -1913,6 +1918,7 @@ void tst_QMetaObject::qtMetaObjectInheritance() QMetaProperty sortCaseSensitivity = QSortFilterProxyModel::staticMetaObject.property(indexOfSortCaseSensitivity); QVERIFY(sortCaseSensitivity.isValid()); QCOMPARE(sortCaseSensitivity.enumerator().name(), "CaseSensitivity"); +#endif } struct MyType @@ -2515,7 +2521,9 @@ void tst_QMetaObject::metaType() { QCOMPARE(QObject::staticMetaObject.metaType(), QMetaType::fromType<QObject>()); QCOMPARE(MyGadget::staticMetaObject.metaType(), QMetaType::fromType<MyGadget>()); +#if QT_CONFIG(proxymodel) QCOMPARE(QAbstractProxyModel::staticMetaObject.metaType(), QMetaType::fromType<QAbstractProxyModel>()); +#endif auto qtNameSpaceMetaType = Qt::staticMetaObject.metaType(); QVERIFY2(!qtNameSpaceMetaType.isValid(), qtNameSpaceMetaType.name()); } diff --git a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp index c8053ca43a..3bf6211a53 100644 --- a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp +++ b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp @@ -170,11 +170,55 @@ public: {} }; +enum FreeEnum { + FreeEnumValue1, + FreeEnumValue2 +}; + +namespace MySpace { + enum NamespacedEnum { + NamespacedEnumValue1, + NamespacedEnumValue2 + }; +}; + +namespace MyQtSpace { + Q_NAMESPACE + enum NamespacedEnum { + NamespacedEnumValue1, + NamespacedEnumValue2 + }; + Q_DECLARE_FLAGS(NamespacedFlags, NamespacedEnum) + Q_FLAG_NS(NamespacedFlags) +}; + +namespace SeparateEnumNamespace { + Q_NAMESPACE + enum Enum { + Value1, + Value2 + }; + Q_ENUM_NS(Enum) +}; +namespace SeparateFlagsNamespace { + Q_NAMESPACE + Q_DECLARE_FLAGS(Flags, SeparateEnumNamespace::Enum) + Q_FLAG_NS(Flags) +} + class EnumFlagsTester : public QObject { Q_OBJECT Q_PROPERTY(TestEnum enumProperty READ enumProperty WRITE setEnumProperty) Q_PROPERTY(TestFlags flagProperty READ flagProperty WRITE setFlagProperty) + + Q_PROPERTY(FreeEnum freeEnumProperty READ freeEnumProperty WRITE setFreeEnumProperty) + Q_PROPERTY(MySpace::NamespacedEnum namespacedEnumProperty READ namespacedEnumProperty WRITE setNamespacedEnumProperty) + Q_PROPERTY(MyQtSpace::NamespacedEnum qtNamespacedEnumProperty READ qtNamespacedEnumProperty WRITE setQtNamespacedEnumProperty) + Q_PROPERTY(MyQtSpace::NamespacedFlags qtNamespacedFlagProperty READ qtNamespacedFlagProperty WRITE setQtNamespacedFlagProperty) + + Q_PROPERTY(SeparateEnumNamespace::Enum sepEnum READ sepEnum WRITE setSepEnum) + Q_PROPERTY(SeparateFlagsNamespace::Flags sepFlags READ sepFlags WRITE setSepFlags) public: enum TestEnum { e1, e2 }; Q_ENUM(TestEnum) @@ -190,9 +234,35 @@ public: TestFlags flagProperty() const { return m_flags; } void setFlagProperty(TestFlags f) { m_flags = f; } + FreeEnum freeEnumProperty() const { return m_freeEnum; } + void setFreeEnumProperty(FreeEnum e) { m_freeEnum = e; } + + MySpace::NamespacedEnum namespacedEnumProperty() const { return m_namespacedEnum; } + void setNamespacedEnumProperty(MySpace::NamespacedEnum e) { m_namespacedEnum = e; } + + MyQtSpace::NamespacedEnum qtNamespacedEnumProperty() const { return m_qtNamespaceEnum; } + void setQtNamespacedEnumProperty(MyQtSpace::NamespacedEnum e) { m_qtNamespaceEnum = e; } + + MyQtSpace::NamespacedFlags qtNamespacedFlagProperty() const { return m_qtNamespaceFlags; } + void setQtNamespacedFlagProperty(MyQtSpace::NamespacedFlags f) { m_qtNamespaceFlags = f; } + + SeparateEnumNamespace::Enum sepEnum() const { return m_sepEnum; } + void setSepEnum(SeparateEnumNamespace::Enum e) { m_sepEnum = e; } + + SeparateFlagsNamespace::Flags sepFlags() const { return m_sepFlags; } + void setSepFlags(SeparateFlagsNamespace::Flags f) { m_sepFlags = f; } + private: TestEnum m_enum = e1; TestFlags m_flags; + + FreeEnum m_freeEnum = FreeEnum::FreeEnumValue1; + MySpace::NamespacedEnum m_namespacedEnum = MySpace::NamespacedEnumValue1; + MyQtSpace::NamespacedEnum m_qtNamespaceEnum = MyQtSpace::NamespacedEnumValue1; + MyQtSpace::NamespacedFlags m_qtNamespaceFlags; + + SeparateEnumNamespace::Enum m_sepEnum = SeparateEnumNamespace::Value1; + SeparateFlagsNamespace::Flags m_sepFlags; }; Q_DECLARE_OPERATORS_FOR_FLAGS(EnumFlagsTester::TestFlags) @@ -265,7 +335,7 @@ void tst_QMetaProperty::conversion() void tst_QMetaProperty::enumsFlags() { // QTBUG-83689, verify that enumerations and flags can be assigned from int, - // which is important for Qt Designer. + // which is important for Qt Widgets Designer. EnumFlagsTester t; auto mo = t.metaObject(); @@ -276,6 +346,7 @@ void tst_QMetaProperty::enumsFlags() QVERIFY(enumProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); QVERIFY(enumProperty.write(&t, QVariant(int(EnumFlagsTester::e2)))); QCOMPARE(t.enumProperty(), EnumFlagsTester::e2); + QVERIFY(enumProperty.enumerator().isValid()); // OK: Q_ENUM const int flagsIndex = mo->indexOfProperty("flagProperty"); QVERIFY(flagsIndex >= 0); @@ -283,6 +354,55 @@ void tst_QMetaProperty::enumsFlags() QVERIFY(flagsProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); QVERIFY(flagsProperty.write(&t, QVariant(int(EnumFlagsTester::flag2)))); QCOMPARE(t.flagProperty(), EnumFlagsTester::flag2); + QVERIFY(!flagsProperty.enumerator().isValid()); // Not using Q_FLAG + + const int freeEnumIndex = mo->indexOfProperty("freeEnumProperty"); + QVERIFY(freeEnumIndex >= 0); + auto freeEnumProperty = mo->property(freeEnumIndex); + QVERIFY(freeEnumProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(freeEnumProperty.write(&t, QVariant(FreeEnumValue2))); + QCOMPARE(t.freeEnumProperty(), FreeEnumValue2); + QVERIFY(!freeEnumProperty.enumerator().isValid()); // Not using Q_ENUM + + const int namespacedEnumIndex = mo->indexOfProperty("namespacedEnumProperty"); + QVERIFY(namespacedEnumIndex >= 0); + auto namespacedEnumProperty = mo->property(namespacedEnumIndex); + QVERIFY(namespacedEnumProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(namespacedEnumProperty.write(&t, QVariant(MySpace::NamespacedEnumValue2))); + QCOMPARE(t.namespacedEnumProperty(), MySpace::NamespacedEnumValue2); + QVERIFY(!namespacedEnumProperty.enumerator().isValid()); // Not using Q_NAMESPACE/Q_ENUM_NS + + const int qtNamespacedEnumIndex = mo->indexOfProperty("qtNamespacedEnumProperty"); + QVERIFY(qtNamespacedEnumIndex >= 0); + auto qtNamespacedEnumProperty = mo->property(qtNamespacedEnumIndex); + QVERIFY(qtNamespacedEnumProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(qtNamespacedEnumProperty.write(&t, QVariant(MyQtSpace::NamespacedEnumValue2))); + QCOMPARE(t.qtNamespacedEnumProperty(), MyQtSpace::NamespacedEnumValue2); + QVERIFY(qtNamespacedEnumProperty.enumerator().isValid()); // OK: Q_ENUM_NS + + const int qtNamespacedFlagIndex = mo->indexOfProperty("qtNamespacedFlagProperty"); + QVERIFY(qtNamespacedFlagIndex >= 0); + auto qtNamespacedFlagProperty = mo->property(qtNamespacedFlagIndex); + QVERIFY(qtNamespacedFlagProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(qtNamespacedFlagProperty.write(&t, QVariant(MyQtSpace::NamespacedFlags(MyQtSpace::NamespacedEnumValue2)))); + QCOMPARE(t.qtNamespacedFlagProperty(), MyQtSpace::NamespacedFlags(MyQtSpace::NamespacedEnumValue2)); + QVERIFY(qtNamespacedFlagProperty.enumerator().isValid()); // OK: Q_FLAG + + const int sepEnumIndex = mo->indexOfProperty("sepEnum"); + QVERIFY(sepEnumIndex >= 0); + auto sepEnumProperty = mo->property(sepEnumIndex); + QVERIFY(sepEnumProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(sepEnumProperty.write(&t, QVariant(SeparateEnumNamespace::Value2))); + QCOMPARE(t.sepEnum(), SeparateEnumNamespace::Value2); + QVERIFY(sepEnumProperty.enumerator().isValid()); // OK: Q_ENUM_NS + + const int sepFlagsIndex = mo->indexOfProperty("sepFlags"); + QVERIFY(sepFlagsIndex >= 0); + auto sepFlagsProperty = mo->property(sepFlagsIndex); + QVERIFY(sepFlagsProperty.metaType().flags().testFlag(QMetaType::IsEnumeration)); + QVERIFY(sepFlagsProperty.write(&t, QVariant(SeparateEnumNamespace::Value1))); + QCOMPARE(t.sepFlags(), SeparateEnumNamespace::Value1); + QVERIFY(!sepFlagsProperty.enumerator().isValid()); // NOK: the meta object is empty } diff --git a/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt b/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt index b93d961109..65bec3e187 100644 --- a/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt +++ b/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt @@ -51,6 +51,7 @@ qt_internal_add_test(tst_qmetatype ../../../other/qvariant_common LIBRARIES Qt::CorePrivate + Qt::TestPrivate Qt::Gui qmetatype_lib1 qmetatype_lib2 diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h index 1694e49491..bcd2fe2def 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h @@ -111,6 +111,7 @@ private slots: void customDebugStream(); void unknownType(); void fromType(); + void compareCompiles(); void operatorEq_data(); void operatorEq(); void operatorEq2_data(); diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype2.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype2.cpp index 68bcb53056..661c1f6072 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype2.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype2.cpp @@ -5,6 +5,7 @@ #include "tst_qmetatype_libs.h" #include <QtCore/private/qmetaobjectbuilder_p.h> +#include <QtTest/private/qcomparisontesthelper_p.h> void tst_QMetaType::constRefs() { @@ -418,6 +419,11 @@ struct CharTemplate } y; }; +void tst_QMetaType::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QMetaType>(); +} + void tst_QMetaType::operatorEq_data() { QTest::addColumn<QMetaType>("typeA"); @@ -447,10 +453,7 @@ void tst_QMetaType::operatorEq() QFETCH(QMetaType, typeB); QFETCH(bool, eq); - QCOMPARE(typeA == typeB, eq); - QCOMPARE(typeB == typeA, eq); - QCOMPARE(typeA != typeB, !eq); - QCOMPARE(typeB != typeA, !eq); + QT_TEST_EQUALITY_OPS(typeA, typeB, eq); #if !defined(Q_OS_WIN) && !defined(Q_OS_INTEGRITY) // for built-in types or locally-defined types, this must also hold true @@ -487,10 +490,10 @@ FOR_EACH_CORE_METATYPE(GET_METATYPE_FROM_TYPE) QCOMPARE(fromId2.id(), type); // confirm that they're all equal - QCOMPARE(fromId1, fromId2); - QCOMPARE(fromType1, fromType2); - QCOMPARE(fromType1, fromId1); - QCOMPARE(fromType2, fromId2); + QT_TEST_EQUALITY_OPS(fromId1, fromId2, true); + QT_TEST_EQUALITY_OPS(fromType1, fromType2, true); + QT_TEST_EQUALITY_OPS(fromType1, fromId1, true); + QT_TEST_EQUALITY_OPS(fromType2, fromId2, true); #if !defined(Q_OS_WIN) && !defined(Q_OS_INTEGRITY) // for built-in types (other than void), this must be true @@ -541,7 +544,7 @@ void tst_QMetaType::operatorEqAcrossLibs() // DO THIS FIRST: // if this isn't a built-in type, then the QMetaTypeInterface::typeId is // initially set to 0 - QCOMPARE(lib1Type, lib2Type); + QT_TEST_EQUALITY_OPS(lib1Type, lib2Type, true); int actualTypeId = localType.id(); bool builtinTypeExpected = builtinTypeId != QMetaType::UnknownType; @@ -559,8 +562,8 @@ void tst_QMetaType::operatorEqAcrossLibs() QCOMPARE(lib2Type.id(), actualTypeId); QCOMPARE(QByteArray(lib1Type.name()), QByteArray(localType.name())); QCOMPARE(QByteArray(lib2Type.name()), QByteArray(localType.name())); - QCOMPARE(lib1Type, localType); - QCOMPARE(lib2Type, localType); + QT_TEST_EQUALITY_OPS(lib1Type, localType, true); + QT_TEST_EQUALITY_OPS(lib2Type, localType, true); #if !defined(Q_OS_WIN) && !defined(Q_OS_INTEGRITY) if (actualTypeId < QMetaType::FirstGuiType && actualTypeId != QMetaType::Void) { diff --git a/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp b/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp index c9c8734353..e28a2e98cc 100644 --- a/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp +++ b/tests/auto/corelib/kernel/qmimedata/tst_qmimedata.cpp @@ -85,6 +85,14 @@ void tst_QMimeData::data() const QCOMPARE(mimeData.data("text/markdown"), QByteArray("vikings")); QCOMPARE(mimeData.data("text/html"), QByteArray("ninjas")); QCOMPARE(mimeData.data("text/plain"), QByteArray("pirates")); + + // URI list + QByteArray list = "https://example.com/\r\nhttps://example.net/\r\nhttps://example.org/\r\n"; + mimeData.setData("text/uri-list", list); + QCOMPARE(mimeData.data("text/uri-list"), list); + + mimeData.setData("text/uri-list", list.chopped(2)); // without the ending CRLF + QCOMPARE(mimeData.data("text/uri-list"), list); } void tst_QMimeData::formats() const diff --git a/tests/auto/corelib/mimetypes/qmimetype/CMakeLists.txt b/tests/auto/corelib/mimetypes/qmimetype/CMakeLists.txt index e1781d450e..605cdccc3f 100644 --- a/tests/auto/corelib/mimetypes/qmimetype/CMakeLists.txt +++ b/tests/auto/corelib/mimetypes/qmimetype/CMakeLists.txt @@ -16,4 +16,5 @@ qt_internal_add_test(tst_qmimetype tst_qmimetype.cpp LIBRARIES Qt::CorePrivate + Qt::TestPrivate ) diff --git a/tests/auto/corelib/mimetypes/qmimetype/tst_qmimetype.cpp b/tests/auto/corelib/mimetypes/qmimetype/tst_qmimetype.cpp index 79304e4420..b96e8feffa 100644 --- a/tests/auto/corelib/mimetypes/qmimetype/tst_qmimetype.cpp +++ b/tests/auto/corelib/mimetypes/qmimetype/tst_qmimetype.cpp @@ -8,7 +8,7 @@ #include <QVariantMap> #include <QTest> - +#include <QtTest/private/qcomparisontesthelper_p.h> class tst_qmimetype : public QObject { @@ -17,7 +17,9 @@ class tst_qmimetype : public QObject private slots: void initTestCase(); + void compareCompiles(); void isValid(); + void compareQMimetypes(); void name(); void genericIconName(); void iconName(); @@ -41,6 +43,28 @@ static QString qMimeTypeName() // ------------------------------------------------------------------------------------------------ +void tst_qmimetype::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QMimeType>(); +} + +// ------------------------------------------------------------------------------------------------ + +void tst_qmimetype::compareQMimetypes() +{ + QMimeType instantiatedQMimeType{ QMimeTypePrivate(qMimeTypeName()) }; + QMimeType otherQMimeType (instantiatedQMimeType); + QMimeType defaultQMimeType; + + QVERIFY(!defaultQMimeType.isValid()); + QT_TEST_EQUALITY_OPS(defaultQMimeType, QMimeType(), true); + QT_TEST_EQUALITY_OPS(QMimeType(), QMimeType(), true); + QT_TEST_EQUALITY_OPS(instantiatedQMimeType, QMimeType(), false); + QT_TEST_EQUALITY_OPS(otherQMimeType, defaultQMimeType, false); +} + +// ------------------------------------------------------------------------------------------------ + void tst_qmimetype::isValid() { QMimeType instantiatedQMimeType{ QMimeTypePrivate(qMimeTypeName()) }; @@ -49,7 +73,7 @@ void tst_qmimetype::isValid() QMimeType otherQMimeType (instantiatedQMimeType); QVERIFY(otherQMimeType.isValid()); - QCOMPARE(instantiatedQMimeType, otherQMimeType); + QT_TEST_EQUALITY_OPS(instantiatedQMimeType, otherQMimeType, true); QMimeType defaultQMimeType; @@ -66,8 +90,7 @@ void tst_qmimetype::name() // Verify that the Name is part of the equality test: QCOMPARE(instantiatedQMimeType.name(), qMimeTypeName()); - QVERIFY(instantiatedQMimeType != otherQMimeType); - QVERIFY(!(instantiatedQMimeType == otherQMimeType)); + QT_TEST_EQUALITY_OPS(instantiatedQMimeType, otherQMimeType, false); } // ------------------------------------------------------------------------------------------------ diff --git a/tests/auto/corelib/platform/android/tst_android.cpp b/tests/auto/corelib/platform/android/tst_android.cpp index 07b939969c..76811a31ad 100644 --- a/tests/auto/corelib/platform/android/tst_android.cpp +++ b/tests/auto/corelib/platform/android/tst_android.cpp @@ -353,6 +353,9 @@ void tst_Android::orientationChange() QFETCH(Qt::ScreenOrientation, expected); QFETCH(QSize, screenSize); + if (QNativeInterface::QAndroidApplication::sdkVersion() == __ANDROID_API_P__) + QSKIP("Android 9 orientation changes callbacks are buggy (QTBUG-124890)."); + // For QTBUG-94459 to check that the widget size are consistent after orientation changes QWidget widget; widget.show(); diff --git a/tests/auto/corelib/platform/windows/qcomobject/tst_qcomobject.cpp b/tests/auto/corelib/platform/windows/qcomobject/tst_qcomobject.cpp index 5ad961ee66..3c609238fc 100644 --- a/tests/auto/corelib/platform/windows/qcomobject/tst_qcomobject.cpp +++ b/tests/auto/corelib/platform/windows/qcomobject/tst_qcomobject.cpp @@ -69,6 +69,7 @@ struct QComObjectTraits<IDirect> }; } // namespace QtPrivate +QT_END_NAMESPACE class tst_QComObject : public QObject { @@ -263,6 +264,4 @@ void tst_QComObject::Release_decrementsReferenceCountByOne() QTEST_MAIN(tst_QComObject) # include "tst_qcomobject.moc" -QT_END_NAMESPACE - #endif // Q_OS_WIN diff --git a/tests/auto/corelib/serialization/CMakeLists.txt b/tests/auto/corelib/serialization/CMakeLists.txt index 3792336255..45965114cc 100644 --- a/tests/auto/corelib/serialization/CMakeLists.txt +++ b/tests/auto/corelib/serialization/CMakeLists.txt @@ -3,7 +3,9 @@ add_subdirectory(json) add_subdirectory(qcborstreamreader) -add_subdirectory(qcborstreamwriter) +if(QT_FEATURE_cborstreamwriter) + add_subdirectory(qcborstreamwriter) +endif() if(NOT WASM) add_subdirectory(qcborvalue) endif() diff --git a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp index 23b25834b9..e480b033e1 100644 --- a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp +++ b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp @@ -7,7 +7,9 @@ #include <QBuffer> #include <QCborStreamReader> +#if QT_CONFIG(cborstreamwriter) #include <QCborStreamWriter> +#endif #include <QDateTime> #include <QtEndian> #include <QTimeZone> @@ -86,9 +88,11 @@ private slots: void comparisonMap(); void toCbor_data(); +#if QT_CONFIG(cborstreamwriter) void toCbor(); void toCborStreamWriter_data() { toCbor_data(); } void toCborStreamWriter(); +#endif void fromCbor_data(); void fromCbor(); void fromCborStreamReaderByteArray_data() { fromCbor_data(); } @@ -2311,6 +2315,7 @@ void tst_QCborValue::toCbor_data() QTest::newRow("UseInteger:-2^65") << QCborValue(-2 * 18446744073709551616.0) << raw("\xfb\xc4\0\0\0""\0\0\0\0") << QCborValue::EncodingOptions(QCborValue::UseIntegers); } +#if QT_CONFIG(cborstreamwriter) void tst_QCborValue::toCbor() { QFETCH(QCborValue, v); @@ -2350,6 +2355,7 @@ void tst_QCborValue::toCborStreamWriter() QCOMPARE(buffer.pos(), result.size()); QCOMPARE(output, result); } +#endif void tst_QCborValue::fromCbor_data() { @@ -2667,12 +2673,14 @@ void tst_QCborValue::extendedTypeValidation() QCOMPARE(error.offset, data.size()); QT_TEST_EQUALITY_OPS(decoded, expected, true); +#if QT_CONFIG(cborstreamwriter) QByteArray encoded = decoded.toCbor(); #if QT_VERSION < QT_VERSION_CHECK(6,0,0) // behavior change, see qdatetime.cpp:fromIsoTimeString QEXPECT_FAIL("DateTime:Null-at-19", "QDateTime parsing fixed, but only in 6.0", Abort); #endif QCOMPARE(encoded, data); +#endif } void tst_QCborValue::hugeDeviceValidation_data() @@ -3000,7 +3008,9 @@ template <typename ValueRef> static void cborValueRef_template() else QCOMPARE(ref.toVariant(), v.toVariant()); QCOMPARE(ref.toJsonValue(), v.toJsonValue()); +#if QT_CONFIG(cborstreamwriter) QCOMPARE(ref.toCbor(), v.toCbor()); +#endif QCOMPARE(ref.toDiagnosticNotation(), v.toDiagnosticNotation()); } @@ -3160,6 +3170,7 @@ void tst_QCborValue::datastreamSerialization_data() void tst_QCborValue::datastreamSerialization() { +#if QT_CONFIG(cborstreamwriter) QFETCH(QCborValue, v); QByteArray buffer; { @@ -3187,6 +3198,7 @@ void tst_QCborValue::datastreamSerialization() load >> output; QCOMPARE(output, map); } +#endif } void tst_QCborValue::streamVariantSerialization() diff --git a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp index 77ca884897..9a227c782d 100644 --- a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp @@ -143,9 +143,11 @@ private slots: void stream_QJsonObject(); void stream_QJsonValue(); +#if QT_CONFIG(cborstreamwriter) void stream_QCborArray(); void stream_QCborMap(); void stream_QCborValue(); +#endif void setVersion_data(); void setVersion(); @@ -2326,6 +2328,7 @@ void tst_QDataStream::stream_QJsonValue() } } +#if QT_CONFIG(cborstreamwriter) void tst_QDataStream::stream_QCborArray() { QByteArray buffer; @@ -2361,6 +2364,7 @@ void tst_QDataStream::stream_QCborValue() load >> valueLoad; QCOMPARE(valueLoad, valueSave); } +#endif void tst_QDataStream::setVersion_data() { @@ -3254,11 +3258,13 @@ void tst_QDataStream::streamRealDataTypes() // Generate QPicture from pixmap. QPixmap pm(open_xpm); QVERIFY(!pm.isNull()); +#ifndef QT_NO_PICTURE QPicture picture; picture.setBoundingRect(QRect(QPoint(0, 0), pm.size())); QPainter painter(&picture); painter.drawPixmap(0, 0, pm); painter.end(); +#endif // Generate path QPainterPath path; @@ -3296,7 +3302,9 @@ void tst_QDataStream::streamRealDataTypes() stream << QPointF(3, 5) << QRectF(-1, -2, 3, 4) << (QPolygonF() << QPointF(0, 0) << QPointF(1, 2)); stream << QTransform().rotate(90).scale(2, 2).asAffineMatrix(); stream << path; +#ifndef QT_NO_PICTURE stream << picture; +#endif stream << QTextLength(QTextLength::VariableLength, 1.5); stream << color; stream << radialBrush << conicalBrush; @@ -3310,7 +3318,9 @@ void tst_QDataStream::streamRealDataTypes() QPolygonF polygon {{3, 4}, {5, 6}}; QTransform transform; QPainterPath p = otherPath; +#ifndef QT_NO_PICTURE QPicture pict; +#endif QTextLength textLength(QTextLength::FixedLength, 2.5); QColor col(128, 128, 127); QBrush rGrad(Qt::CrossPattern); @@ -3363,6 +3373,7 @@ void tst_QDataStream::streamRealDataTypes() QCOMPARE(transform, QTransform().rotate(90).scale(2, 2)); stream >> p; QCOMPARE(p, path); +#ifndef QT_NO_PICTURE if (i == 1) { stream >> pict; @@ -3376,6 +3387,7 @@ void tst_QDataStream::streamRealDataTypes() QCOMPARE(pictA, pictB); } +#endif stream >> textLength; QCOMPARE(textLength, QTextLength(QTextLength::VariableLength, 1.5)); stream >> col; diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp index 436ff676f6..b90d05b0fa 100644 --- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp @@ -572,6 +572,14 @@ private slots: void hasAttribute() const; void writeWithUtf8Codec() const; void writeWithStandalone() const; + void writeCharacters_data() const; + void writeCharacters() const; + void writeAttribute_data() const; + void writeAttribute() const; + void writeBadCharactersUtf8_data() const; + void writeBadCharactersUtf8() const; + void writeBadCharactersUtf16_data() const; + void writeBadCharactersUtf16() const; void entitiesAndWhitespace_1() const; void entitiesAndWhitespace_2() const; void testFalsePrematureError() const; @@ -1407,6 +1415,143 @@ void tst_QXmlStream::writeWithStandalone() const } } +static void writeCharacters_data_common() +{ + QTest::addColumn<QString>("input"); + QTest::addColumn<QString>("output"); + + QTest::newRow("empty") << QString() << QString(); + + // invalid content + QTest::newRow("null-character") << u"\0"_s << QString(); + QTest::newRow("vertical-tab") << "\v" << QString(); + QTest::newRow("form-feed") << "\f" << QString(); + QTest::newRow("esc") << "\x1f" << QString(); + QTest::newRow("U+FFFE") << u"\xfffe"_s << QString(); + QTest::newRow("U+FFFF") << u"\xffff"_s << QString(); + + // simple strings + QTest::newRow("us-ascii") << "Hello, world" << "Hello, world"; + QTest::newRow("latin1") << "Bokmål" << "Bokmål"; + QTest::newRow("nonlatin1") << "Ελληνικά" << "Ελληνικά"; + QTest::newRow("nonbmp") << u"\U00010000"_s << u"\U00010000"_s; + + // escaped content + QTest::newRow("less-than") << "<" << "<"; + QTest::newRow("greater-than") << ">" << ">"; + QTest::newRow("ampersand") << "&" << "&"; + QTest::newRow("quote") << "\"" << """; +} + +template <typename Execute, typename Transform> +static void writeCharacters_common(Execute &&exec, Transform &&transform) +{ + QFETCH(QString, input); + QFETCH(QString, output); + QStringView utf16 = input; + QByteArray utf8ba = input.toUtf8(); + QUtf8StringView utf8(utf8ba); + + // may be invalid if input is not Latin1 + QByteArray l1ba = input.toLatin1(); + QLatin1StringView l1(l1ba); + if (l1 != input) + l1 = {}; + + auto write = [&](auto input) -> std::optional<QString> { + QString result; + QXmlStreamWriter writer(&result); + writer.writeStartElement("a"); + exec(writer, input); + writer.writeEndElement(); + if (writer.hasError()) + return std::nullopt; + return result; + }; + + if (input.isNull() != output.isNull()) { + // error + QCOMPARE(write(utf16), std::nullopt); + QCOMPARE(write(utf8), std::nullopt); + if (!l1.isEmpty()) + QCOMPARE(write(l1), std::nullopt); + } else { + output = transform(output); + QCOMPARE(write(utf16), output); + QCOMPARE(write(utf8), output); + if (!l1.isEmpty()) + QCOMPARE(write(l1), output); + } +} + +void tst_QXmlStream::writeCharacters_data() const +{ + writeCharacters_data_common(); + QTest::newRow("tab") << "\t" << "\t"; + QTest::newRow("newline") << "\n" << "\n"; + QTest::newRow("carriage-return") << "\r" << "\r"; +} + +void tst_QXmlStream::writeCharacters() const +{ + auto exec = [](QXmlStreamWriter &writer, auto input) { + writer.writeCharacters(input); + }; + auto transform = [](auto output) { return "<a>" + output + "</a>"; }; + writeCharacters_common(exec, transform); +} + +void tst_QXmlStream::writeAttribute_data() const +{ + writeCharacters_data_common(); + QTest::newRow("tab") << "\t" << "	"; + QTest::newRow("newline") << "\n" << " "; + QTest::newRow("carriage-return") << "\r" << " "; +} + +void tst_QXmlStream::writeAttribute() const +{ + auto exec = [](QXmlStreamWriter &writer, auto input) { + writer.writeAttribute("b", input); + }; + auto transform = [](auto output) { return "<a b=\"" + output + "\"/>"; }; + writeCharacters_common(exec, transform); +} + +#include "../../io/qurlinternal/utf8data.cpp" +void tst_QXmlStream::writeBadCharactersUtf8_data() const +{ + QTest::addColumn<QByteArray>("input"); + loadInvalidUtf8Rows(); +} + +void tst_QXmlStream::writeBadCharactersUtf8() const +{ + QFETCH(QByteArray, input); + QString target; + QXmlStreamWriter writer(&target); + writer.writeTextElement("a", QUtf8StringView(input)); + QVERIFY(writer.hasError()); +} + +void tst_QXmlStream::writeBadCharactersUtf16_data() const +{ + QTest::addColumn<QString>("input"); + QTest::addRow("low-surrogate") << u"\xdc00"_s; + QTest::addRow("high-surrogate") << u"\xd800"_s; + QTest::addRow("inverted-surrogate-pair") << u"\xdc00\xd800"_s; + QTest::addRow("high-surrogate+non-surrogate") << u"\xd800z"_s; +} + +void tst_QXmlStream::writeBadCharactersUtf16() const +{ + QFETCH(QString, input); + QString target; + QXmlStreamWriter writer(&target); + writer.writeTextElement("a", input); + QVERIFY(writer.hasError()); +} + void tst_QXmlStream::entitiesAndWhitespace_1() const { QXmlStreamReader reader(QLatin1String("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"><test>&extEnt;</test>")); diff --git a/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp b/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp index 82e12bdfca..ba098fd23c 100644 --- a/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp +++ b/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp @@ -25,6 +25,7 @@ class tst_QLatin1StringMatcher : public QObject private slots: void overloads(); void staticOverloads(); + void staticOverloads_QStringViewHaystack(); void interface(); void indexIn(); void haystacksWithMoreThan4GiBWork(); @@ -44,6 +45,12 @@ void tst_QLatin1StringMatcher::overloads() QCOMPARE(m.indexIn("Hellohello"_L1), 5); QCOMPARE(m.indexIn("helloHello"_L1), 0); QCOMPARE(m.indexIn("helloHello"_L1, 1), -1); + + QCOMPARE(m.indexIn(u"hello"), 0); + QCOMPARE(m.indexIn(u"Hello"), -1); + QCOMPARE(m.indexIn(u"Hellohello"), 5); + QCOMPARE(m.indexIn(u"helloHello"), 0); + QCOMPARE(m.indexIn(u"helloHello", 1), -1); } { QLatin1StringMatcher m("Hello"_L1, Qt::CaseSensitive); @@ -53,6 +60,12 @@ void tst_QLatin1StringMatcher::overloads() QCOMPARE(m.indexIn("Hellohello"_L1), 0); QCOMPARE(m.indexIn("helloHello"_L1), 5); QCOMPARE(m.indexIn("helloHello"_L1, 6), -1); + + QCOMPARE(m.indexIn(u"hello"), -1); + QCOMPARE(m.indexIn(u"Hello"), 0); + QCOMPARE(m.indexIn(u"Hellohello"), 0); + QCOMPARE(m.indexIn(u"helloHello"), 5); + QCOMPARE(m.indexIn(u"helloHello", 6), -1); } { QLatin1StringMatcher m("hello"_L1, Qt::CaseInsensitive); @@ -63,6 +76,13 @@ void tst_QLatin1StringMatcher::overloads() QCOMPARE(m.indexIn("helloHello"_L1), 0); QCOMPARE(m.indexIn("helloHello"_L1, 1), 5); QCOMPARE(m.indexIn("helloHello"_L1, 6), -1); + + QCOMPARE(m.indexIn(u"hello"), 0); + QCOMPARE(m.indexIn(u"Hello"), 0); + QCOMPARE(m.indexIn(u"Hellohello"), 0); + QCOMPARE(m.indexIn(u"helloHello"), 0); + QCOMPARE(m.indexIn(u"helloHello", 1), 5); + QCOMPARE(m.indexIn(u"helloHello", 6), -1); } { QLatin1StringMatcher m("Hello"_L1, Qt::CaseInsensitive); @@ -73,6 +93,13 @@ void tst_QLatin1StringMatcher::overloads() QCOMPARE(m.indexIn("helloHello"_L1), 0); QCOMPARE(m.indexIn("helloHello"_L1, 1), 5); QCOMPARE(m.indexIn("helloHello"_L1, 6), -1); + + QCOMPARE(m.indexIn(u"hello"), 0); + QCOMPARE(m.indexIn(u"Hello"), 0); + QCOMPARE(m.indexIn(u"Hellohello"), 0); + QCOMPARE(m.indexIn(u"helloHello"), 0); + QCOMPARE(m.indexIn(u"helloHello", 1), 5); + QCOMPARE(m.indexIn(u"helloHello", 6), -1); } { QLatin1StringMatcher m(hello, Qt::CaseSensitive); @@ -81,6 +108,11 @@ void tst_QLatin1StringMatcher::overloads() QCOMPARE(m.indexIn(hello, 1), -1); QCOMPARE(m.indexIn(hello2, 1), hello.size()); QCOMPARE(m.indexIn(hello2, 6), -1); + + QCOMPARE(m.indexIn(QString::fromLatin1(hello)), 0); + QCOMPARE(m.indexIn(QString::fromLatin1(hello), 1), -1); + QCOMPARE(m.indexIn(QString::fromLatin1(hello2), 1), hello.size()); + QCOMPARE(m.indexIn(QString::fromLatin1(hello2), 6), -1); } } @@ -206,6 +238,129 @@ void tst_QLatin1StringMatcher::staticOverloads() #endif } +void tst_QLatin1StringMatcher::staticOverloads_QStringViewHaystack() +{ +#ifdef QT_STATIC_BOYER_MOORE_NOT_SUPPORTED + QSKIP("Test is only valid on an OS that supports static latin1 string matcher"); +#else + constexpr QStringView hello = u"hello"; + QString hello2B = QStringView(hello).toString().repeated(2); + hello2B += QStringView(u"🍉"); + QStringView hello2(hello2B); + { + static constexpr auto m = qMakeStaticCaseSensitiveLatin1StringMatcher("hel"); + QCOMPARE(m.indexIn(QStringView(u"hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hello🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"Hellohello🍉")), 5); + QCOMPARE(m.indexIn(QStringView(u"helloHello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"he🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"hel🍉")), 0); + QCOMPARE(m.indexIn(hello), 0); + QCOMPARE(m.indexIn(hello, 1), -1); // from is 1 + QCOMPARE(m.indexIn(hello2, 2), hello.size()); // from is 2 + QCOMPARE(m.indexIn(hello2, 3), hello.size()); // from is 3 + QCOMPARE(m.indexIn(hello2, 6), -1); // from is 6 + static_assert(m.indexIn(QStringView(u"hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hello🍉")) == -1); + static_assert(m.indexIn(QStringView(u"Hellohello🍉")) == 5); + static_assert(m.indexIn(QStringView(u"helloHello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"he🍉")) == -1); + static_assert(m.indexIn(QStringView(u"hel🍉")) == 0); + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 2) == 5); // from is 2 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 3) == 5); // from is 3 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 6) == -1); // from is 6 + } + { + static constexpr auto m = qMakeStaticCaseSensitiveLatin1StringMatcher("Hel"); + QCOMPARE(m.indexIn(QStringView(u"hello🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"Hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hellohello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"helloHello🍉")), 5); + QCOMPARE(m.indexIn(QStringView(u"helloHello🍉"), 6), -1); + QCOMPARE(m.indexIn(QStringView(u"He🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"Hel🍉")), 0); + QCOMPARE(m.indexIn(hello), -1); + QCOMPARE(m.indexIn(hello2, 2), -1); // from is 2 + QCOMPARE(m.indexIn(hello2, 6), -1); // from is 6 + static_assert(m.indexIn(QStringView(u"hello🍉")) == -1); + static_assert(m.indexIn(QStringView(u"Hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hellohello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"helloHello🍉")) == 5); + static_assert(m.indexIn(QStringView(u"helloHello🍉"), 6) == -1); + static_assert(m.indexIn(QStringView(u"He🍉")) == -1); + static_assert(m.indexIn(QStringView(u"Hel🍉")) == 0); + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 2) == -1); // from is 2 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 6) == -1); // from is 6 + } + { + static constexpr auto m = qMakeStaticCaseInsensitiveLatin1StringMatcher("hel"); + QCOMPARE(m.indexIn(QStringView(u"hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hellohello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"helloHello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"he🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"hel🍉")), 0); + QCOMPARE(m.indexIn(hello), 0); + QCOMPARE(m.indexIn(hello, 1), -1); + QCOMPARE(m.indexIn(hello2, 2), hello.size()); // from is 2 + QCOMPARE(m.indexIn(hello2, 3), hello.size()); // from is 3 + QCOMPARE(m.indexIn(hello2, 6), -1); // from is 6 + static_assert(m.indexIn(QStringView(u"hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hellohello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"helloHello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"he🍉")) == -1); + static_assert(m.indexIn(QStringView(u"hel🍉")) == 0); + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 2) == 5); // from is 2 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 3) == 5); // from is 3 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 6) == -1); // from is 6 + } + { + static constexpr auto m = qMakeStaticCaseInsensitiveLatin1StringMatcher("Hel"); + QCOMPARE(m.indexIn(QStringView(u"hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"Hellohello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"helloHello🍉")), 0); + QCOMPARE(m.indexIn(QStringView(u"he🍉")), -1); + QCOMPARE(m.indexIn(QStringView(u"hel🍉")), 0); + QCOMPARE(m.indexIn(hello), 0); + QCOMPARE(m.indexIn(hello, 1), -1); + QCOMPARE(m.indexIn(hello2, 2), hello.size()); // from is 2 + QCOMPARE(m.indexIn(hello2, 3), hello.size()); // from is 3 + QCOMPARE(m.indexIn(hello2, 6), -1); // from is 6 + static_assert(m.indexIn(QStringView(u"hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"Hellohello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"helloHello🍉")) == 0); + static_assert(m.indexIn(QStringView(u"he🍉")) == -1); + static_assert(m.indexIn(QStringView(u"hel🍉")) == 0); + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 2) == 5); // from is 2 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 3) == 5); // from is 3 + static_assert(m.indexIn(QStringView(u"hellohello🍉"), 6) == -1); // from is 6 + } + { + static constexpr auto m = qMakeStaticCaseInsensitiveLatin1StringMatcher("b\xF8"); + QCOMPARE(m.indexIn(QStringView(u"B\xD8")), 0); + QCOMPARE(m.indexIn(QStringView(u"B\xF8")), 0); + QCOMPARE(m.indexIn(QStringView(u"b\xD8")), 0); + QCOMPARE(m.indexIn(QStringView(u"b\xF8")), 0); + QCOMPARE(m.indexIn(QStringView(u"b\xF8lle")), 0); + QCOMPARE(m.indexIn(QStringView(u"m\xF8lle")), -1); + QCOMPARE(m.indexIn(QStringView(u"Si b\xF8")), 3); + } + { + static constexpr auto m = qMakeStaticCaseSensitiveLatin1StringMatcher("b\xF8"); + QCOMPARE(m.indexIn(QStringView(u"B\xD8")), -1); + QCOMPARE(m.indexIn(QStringView(u"B\xF8")), -1); + QCOMPARE(m.indexIn(QStringView(u"b\xD8")), -1); + QCOMPARE(m.indexIn(QStringView(u"b\xF8")), 0); + QCOMPARE(m.indexIn(QStringView(u"b\xF8lle")), 0); + QCOMPARE(m.indexIn(QStringView(u"m\xF8lle")), -1); + QCOMPARE(m.indexIn(QStringView(u"Si b\xF8")), 3); + } +#endif +} + void tst_QLatin1StringMatcher::interface() { QLatin1StringView needle = "abc123"_L1; @@ -387,25 +542,35 @@ void tst_QLatin1StringMatcher::haystacksWithMoreThan4GiBWork() QCOMPARE(large.size(), BaseSize + needle.size()); qDebug("created dataset in %lld ms", timer.elapsed()); - using MaybeThread = std::thread; - - // - // WHEN: trying to match an occurrence past the 4GiB mark - // - - qsizetype dynamicResult; - - auto t = MaybeThread{ [&] { - QLatin1StringMatcher m(QLatin1StringView(needle), Qt::CaseSensitive); - dynamicResult = m.indexIn(QLatin1StringView(large)); - } }; - t.join(); + { + // + // WHEN: trying to match an occurrence past the 4GiB mark + // + qsizetype dynamicResult; + auto t = std::thread{ [&] { + QLatin1StringMatcher m(QLatin1StringView(needle), Qt::CaseSensitive); + dynamicResult = m.indexIn(QLatin1StringView(large)); + } }; + t.join(); + + // + // THEN: the result index is not truncated + // + + QCOMPARE(dynamicResult, qsizetype(BaseSize)); + } - // - // THEN: the result index is not trucated - // + { + qsizetype dynamicResult; + auto t = std::thread{ [&] { + QLatin1StringMatcher m(QLatin1StringView(needle), Qt::CaseSensitive); + dynamicResult = m.indexIn(QStringView(QString::fromLatin1(large))); + } }; + t.join(); + + QCOMPARE(dynamicResult, qsizetype(BaseSize)); + } - QCOMPARE(dynamicResult, qsizetype(BaseSize)); #else QSKIP("This test is 64-bit only."); #endif diff --git a/tests/auto/corelib/text/qlocale/CMakeLists.txt b/tests/auto/corelib/text/qlocale/CMakeLists.txt index 3e6693d12b..a91dd44ea5 100644 --- a/tests/auto/corelib/text/qlocale/CMakeLists.txt +++ b/tests/auto/corelib/text/qlocale/CMakeLists.txt @@ -8,4 +8,6 @@ if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) endif() add_subdirectory(test) -add_subdirectory(syslocaleapp) +if(QT_FEATURE_jalalicalendar) + add_subdirectory(syslocaleapp) +endif() diff --git a/tests/auto/corelib/text/qlocale/test/CMakeLists.txt b/tests/auto/corelib/text/qlocale/test/CMakeLists.txt index 54ab71ea81..fc3e1488cd 100644 --- a/tests/auto/corelib/text/qlocale/test/CMakeLists.txt +++ b/tests/auto/corelib/text/qlocale/test/CMakeLists.txt @@ -11,6 +11,7 @@ qt_internal_add_test(tst_qlocale ../tst_qlocale.cpp LIBRARIES Qt::CorePrivate + Qt::TestPrivate ) ## Scopes: diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp index c5397e384b..eb2d73b9b2 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QLocale> #include <QDateTime> @@ -40,6 +41,7 @@ public: private slots: void initTestCase(); + void compareCompiles(); #if defined(Q_OS_WIN) void windowsDefaultLocale(); #endif @@ -189,6 +191,11 @@ tst_QLocale::tst_QLocale() qRegisterMetaType<QLocale::FormatType>("QLocale::FormatType"); } +void tst_QLocale::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QLocale>(); +} + void tst_QLocale::initTestCase() { #ifdef Q_OS_ANDROID @@ -741,8 +748,8 @@ void tst_QLocale::legacyNames() void tst_QLocale::consistentC() { const QLocale c(QLocale::C); - QCOMPARE(c, QLocale::c()); - QCOMPARE(c, QLocale(QLocale::C, QLocale::AnyScript, QLocale::AnyTerritory)); + QT_TEST_EQUALITY_OPS(c, QLocale::c(), true); + QT_TEST_EQUALITY_OPS(c, QLocale(QLocale::C, QLocale::AnyScript, QLocale::AnyTerritory), true); QVERIFY(QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyTerritory).contains(c)); } @@ -751,6 +758,7 @@ void tst_QLocale::matchingLocales() { const QLocale c(QLocale::C); const QLocale ru_RU(QLocale::Russian, QLocale::Russia); + QT_TEST_EQUALITY_OPS(c, ru_RU, false); QList<QLocale> locales = QLocale::matchingLocales(QLocale::C, QLocale::AnyScript, QLocale::AnyTerritory); QCOMPARE(locales.size(), 1); @@ -1618,6 +1626,11 @@ void tst_QLocale::infNaN() { // TODO: QTBUG-95460 -- could support localized forms of inf/NaN const QLocale c(QLocale::C); + + QT_TEST_EQUALITY_OPS(QLocale(), QLocale(QLocale::C), false); + QT_TEST_EQUALITY_OPS(QLocale(), QLocale(), true); + QT_TEST_EQUALITY_OPS(QLocale(QLocale::C), c, true); + QCOMPARE(c.toString(qQNaN()), u"nan"); QCOMPARE(c.toString(qQNaN(), 'e'), u"nan"); QCOMPARE(c.toString(qQNaN(), 'f'), u"nan"); @@ -2966,6 +2979,7 @@ void tst_QLocale::numberOptions() QVERIFY(ok); locale.toDouble(QString("12.400"), &ok); QVERIFY(!ok); + QT_TEST_EQUALITY_OPS(locale, locale2, false); } void tst_QLocale::negativeNumbers() @@ -3030,6 +3044,7 @@ void tst_QLocale::negativeNumbers() i = farsi.toInt(u"\u200e+\u06f4\u06f0\u06f3"_s, &ok); QVERIFY(ok); QCOMPARE(i, 403); + QT_TEST_EQUALITY_OPS(egypt, farsi, false); } #include <private/qlocale_p.h> @@ -3288,6 +3303,11 @@ void tst_QLocale::dateFormat() const QLocale ir("ga_IE"); QCOMPARE(ir.dateFormat(QLocale::ShortFormat), QLatin1String("dd/MM/yyyy")); + QT_TEST_EQUALITY_OPS(c, no, false); + QT_TEST_EQUALITY_OPS(ca, ja, false); + QT_TEST_EQUALITY_OPS(ca, ir, false); + QT_TEST_EQUALITY_OPS(ir, ja, false); + const auto sys = QLocale::system(); // QTBUG-92018, ru_RU on MS const QDate date(2021, 3, 17); QCOMPARE(sys.toString(date, sys.dateFormat(QLocale::LongFormat)), sys.toString(date)); @@ -3327,19 +3347,29 @@ void tst_QLocale::timeFormat() const QLocale no("no_NO"); QCOMPARE(no.timeFormat(QLocale::NarrowFormat), QLatin1String("HH:mm")); QCOMPARE(no.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm")); - QCOMPARE(no.timeFormat(QLocale::LongFormat), QLatin1String("HH:mm:ss t")); + QCOMPARE(no.timeFormat(QLocale::LongFormat), "HH:mm:ss tttt"_L1); const QLocale id("id_ID"); QCOMPARE(id.timeFormat(QLocale::ShortFormat), QLatin1String("HH.mm")); - QCOMPARE(id.timeFormat(QLocale::LongFormat), QLatin1String("HH.mm.ss t")); + QCOMPARE(id.timeFormat(QLocale::LongFormat), "HH.mm.ss tttt"_L1); const QLocale cat("ca_ES"); QCOMPARE(cat.timeFormat(QLocale::ShortFormat), QLatin1String("H:mm")); - QCOMPARE(cat.timeFormat(QLocale::LongFormat), QLatin1String("H:mm:ss (t)")); + QCOMPARE(cat.timeFormat(QLocale::LongFormat), "H:mm:ss (tttt)"_L1); const QLocale bra("pt_BR"); QCOMPARE(bra.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm")); - QCOMPARE(bra.timeFormat(QLocale::LongFormat), QLatin1String("HH:mm:ss t")); + QCOMPARE(bra.timeFormat(QLocale::LongFormat), "HH:mm:ss tttt"_L1); + + // QTBUG-123872 - we kludge CLDR's B to Ap: + const QLocale tw("zh_TW"); + QCOMPARE(tw.timeFormat(QLocale::ShortFormat), "Aph:mm"_L1); + QCOMPARE(tw.timeFormat(QLocale::LongFormat), "Aph:mm:ss [tttt]"_L1); + + QT_TEST_EQUALITY_OPS(c, no, false); + QT_TEST_EQUALITY_OPS(id, no, false); + QT_TEST_EQUALITY_OPS(c, cat, false); + QT_TEST_EQUALITY_OPS(bra, no, false); } void tst_QLocale::dateTimeFormat() @@ -3351,7 +3381,9 @@ void tst_QLocale::dateTimeFormat() const QLocale no("no_NO"); QCOMPARE(no.dateTimeFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yyyy HH:mm")); QCOMPARE(no.dateTimeFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yyyy HH:mm")); - QCOMPARE(no.dateTimeFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM yyyy HH:mm:ss t")); + QCOMPARE(no.dateTimeFormat(QLocale::LongFormat), "dddd d. MMMM yyyy HH:mm:ss tttt"_L1); + + QT_TEST_EQUALITY_OPS(c, no, false); } void tst_QLocale::monthName() @@ -3611,6 +3643,7 @@ void tst_QLocale::currency() const QLocale system = QLocale::system(); QVERIFY(system.toCurrencyString(1, QLatin1String("FOO")).contains(QLatin1String("FOO"))); + QT_TEST_EQUALITY_OPS(system, es_CR, false); } void tst_QLocale::quoteString() @@ -3625,6 +3658,7 @@ void tst_QLocale::quoteString() QCOMPARE(de_CH.quoteString(someText), QString::fromUtf8("\xe2\x80\x9e" "text" "\xe2\x80\x9c")); QCOMPARE(de_CH.quoteString(someText, QLocale::AlternateQuotation), QString::fromUtf8("\xe2\x80\x9a" "text" "\xe2\x80\x98")); + QT_TEST_EQUALITY_OPS(de_CH, c, false); } void tst_QLocale::uiLanguages_data() @@ -4006,6 +4040,7 @@ void tst_QLocale::bcp47Name() QTest::ignoreMessage(QtWarningMsg, "QLocale::bcp47Name(): " "Using non-ASCII separator '\u00ff' (ff) is unsupported"); QCOMPARE(locale.bcp47Name(QLocale::TagSeparator{'\xff'}), QString()); + QT_TEST_EQUALITY_OPS(locale, QLocale(QLatin1String(QTest::currentDataTag())), true); } #ifndef QT_NO_SYSTEMLOCALE @@ -4143,12 +4178,14 @@ void tst_QLocale::mySystemLocale() qDebug("\n\t%s", qPrintable(QLocale::system().uiLanguages().join(u"\n\t"))); }); QCOMPARE(QLocale::system().uiLanguages(), uiLanguages); + QCOMPARE(QLocale::system().uiLanguages(QLocale::TagSeparator::Underscore), + uiLanguages.replaceInStrings(u"-", u"_")); reporter.dismiss(); } // Verify MySystemLocale tidy-up restored prior state: - QCOMPARE(QLocale(), originalLocale); - QCOMPARE(QLocale::system(), originalSystemLocale); + QT_TEST_EQUALITY_OPS(QLocale(), originalLocale, true); + QT_TEST_EQUALITY_OPS(QLocale::system(), originalSystemLocale, true); } # endif // QT_BUILD_INTERNAL diff --git a/tests/auto/corelib/text/qregularexpression/CMakeLists.txt b/tests/auto/corelib/text/qregularexpression/CMakeLists.txt index b1d3ed0a8d..a7a7fe298f 100644 --- a/tests/auto/corelib/text/qregularexpression/CMakeLists.txt +++ b/tests/auto/corelib/text/qregularexpression/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qregularexpression SOURCES tst_qregularexpression.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp b/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp index ad41ae331e..d0ce414095 100644 --- a/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp +++ b/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp @@ -3,6 +3,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <qstring.h> #include <qlist.h> #include <qstringlist.h> @@ -27,6 +28,7 @@ public: static void initMain(); private slots: + void compareCompiles(); void defaultConstructors(); void moveSemantics(); void moveSemanticsMatch(); @@ -460,6 +462,11 @@ void tst_QRegularExpression::initMain() } } +void tst_QRegularExpression::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QRegularExpression>(); +} + void tst_QRegularExpression::defaultConstructors() { QRegularExpression re; @@ -564,12 +571,12 @@ void tst_QRegularExpression::moveSemanticsMatchIterator() QRegularExpressionMatchIterator it1 = re.globalMatch("some test"); QVERIFY(it1.isValid()); QVERIFY(it1.hasNext()); - QCOMPARE(it1.regularExpression(), re); + QT_TEST_EQUALITY_OPS(it1.regularExpression(), re, true); QRegularExpressionMatchIterator it2(std::move(it1)); QVERIFY(it2.isValid()); QVERIFY(it2.hasNext()); - QCOMPARE(it2.regularExpression(), re); + QT_TEST_EQUALITY_OPS(it2.regularExpression(), re, true); consistencyCheck(it2); if (QTest::currentTestFailed()) return; @@ -578,13 +585,13 @@ void tst_QRegularExpression::moveSemanticsMatchIterator() QRegularExpressionMatchIterator it3 = re2.globalMatch("123test456"); QVERIFY(it3.isValid()); QVERIFY(it3.hasNext()); - QCOMPARE(it3.regularExpression(), re2); + QT_TEST_EQUALITY_OPS(it3.regularExpression(), re2, true); // check that (move)assigning to the moved-from object is ok it1 = std::move(it3); QVERIFY(it1.isValid()); QVERIFY(it1.hasNext()); - QCOMPARE(it1.regularExpression(), re2); + QT_TEST_EQUALITY_OPS(it1.regularExpression(), re2, true); consistencyCheck(it1); if (QTest::currentTestFailed()) return; @@ -1680,38 +1687,23 @@ void tst_QRegularExpression::serialize() static void verifyEquality(const QRegularExpression &re1, const QRegularExpression &re2) { - QVERIFY(re1 == re2); - QVERIFY(re2 == re1); + QT_TEST_EQUALITY_OPS(re1, re2, true); QCOMPARE(qHash(re1), qHash(re2)); - QVERIFY(!(re1 != re2)); - QVERIFY(!(re2 != re1)); QRegularExpression re3(re1); - QVERIFY(re1 == re3); - QVERIFY(re3 == re1); QCOMPARE(qHash(re1), qHash(re3)); - QVERIFY(!(re1 != re3)); - QVERIFY(!(re3 != re1)); + QT_TEST_EQUALITY_OPS(re1, re3, true); - QVERIFY(re2 == re3); - QVERIFY(re3 == re2); QCOMPARE(qHash(re2), qHash(re3)); - QVERIFY(!(re2 != re3)); - QVERIFY(!(re3 != re2)); + QT_TEST_EQUALITY_OPS(re2, re3, true); re3 = re2; - QVERIFY(re1 == re3); - QVERIFY(re3 == re1); QCOMPARE(qHash(re1), qHash(re3)); - QVERIFY(!(re1 != re3)); - QVERIFY(!(re3 != re1)); + QT_TEST_EQUALITY_OPS(re1, re3, true); - QVERIFY(re2 == re3); - QVERIFY(re3 == re2); QCOMPARE(qHash(re2), qHash(re3)); - QVERIFY(!(re2 != re3)); - QVERIFY(!(re3 != re2)); + QT_TEST_EQUALITY_OPS(re2, re3, true); } void tst_QRegularExpression::operatoreq_data() @@ -1874,12 +1866,14 @@ void tst_QRegularExpression::captureNamesNul() QString captureName("name"); QCOMPARE(m.captured(captureName), "456"); QCOMPARE(m.captured(QStringView(captureName)), "456"); + QCOMPARE(m.captured(QAnyStringView(captureName)), "456"); QCOMPARE(m.captured(qToStringViewIgnoringNull(captureName)), "456"); QCOMPARE(m.captured(u"name"), "456"); captureName = "anotherName"; QCOMPARE(m.captured(captureName), "789"); QCOMPARE(m.captured(QStringView(captureName)), "789"); + QCOMPARE(m.captured(QAnyStringView(captureName)), "789"); QCOMPARE(m.captured(qToStringViewIgnoringNull(captureName)), "789"); QCOMPARE(m.captured(u"anotherName"), "789"); } diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp index 35bddf16a4..d56a9ebd20 100644 --- a/tests/auto/corelib/text/qstring/tst_qstring.cpp +++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp @@ -6721,9 +6721,15 @@ void tst_QString::arg() str = str.arg(u"ahoy"_s, u"there"_s); QCOMPARE(str, "one 2 3 4 5 6 7 8 9 foo ahoy there bar"_L1); - QString str2(u"%123 %234 %345 %456 %567 %999 %1000 %1230"_s); - str2 = str2.arg(u"A"_s, u"B"_s, u"C"_s, u"D"_s, u"E"_s, u"F"_s); - QCOMPARE(str2, QLatin1String("A B C D E F %1000 %1230")); + // Make sure the single- and multi-arg expand the same sequences: at most + // two digits. The sequence below has four replacements: %01, %10 (twice), + // %11, and %12. + QString str2 = u"%100 %101 %110 %12 %0100"_s; + QLatin1StringView str2expected = "B0 B1 C0 D A00"_L1; + QCOMPARE(str2.arg(QChar(u'A')).arg(QChar(u'B')).arg(QChar(u'C')).arg(QChar(u'D')), str2expected); + QCOMPARE(str2.arg(QChar(u'A'), QChar(u'B')).arg(QChar(u'C')).arg(QChar(u'D')), str2expected); + QCOMPARE(str2.arg(QChar(u'A'), QChar(u'B'), QChar(u'C')).arg(QChar(u'D')), str2expected); + QCOMPARE(str2.arg(QChar(u'A'), QChar(u'B'), QChar(u'C'), QChar(u'D')), str2expected); QCOMPARE(u"%1"_s.arg(-1, 3, 10, QChar(u'0')), "-01"_L1); QCOMPARE(u"%1"_s.arg(-100, 3, 10, QChar(u'0')), "-100"_L1); diff --git a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp index 7c0235998f..ed3f91ac94 100644 --- a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp +++ b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp @@ -571,11 +571,10 @@ void tst_QStringConverter::charByCharConsistency_data() void tst_QStringConverter::charByCharConsistency() { - QFETCH(QStringView, source); - QFETCH(QByteArray, codec); + QFETCH(const QStringView, source); + QFETCH(const QByteArray, codec); - { - QStringEncoder encoder(codec); + const auto check = [&](QStringEncoder encoder){ if (!encoder.isValid()) QSKIP("Unsupported codec"); @@ -586,19 +585,28 @@ void tst_QStringConverter::charByCharConsistency() stepByStepConverted += encoder.encode(codeUnit); } QCOMPARE(stepByStepConverted, fullyConverted); - } + }; + + check(QStringEncoder(codec)); + if (QTest::currentTestResolved()) return; + + check(QStringEncoder(codec, QStringConverter::Flag::ConvertInvalidToNull)); + if (QTest::currentTestResolved()) return; + + // moved codecs also work: { - QStringEncoder encoder(codec, QStringConverter::Flag::ConvertInvalidToNull); + QStringEncoder dec(codec); + check(std::move(dec)); + } + if (QTest::currentTestResolved()) return; - QByteArray fullyConverted = encoder.encode(source); - encoder.resetState(); - QByteArray stepByStepConverted; - for (const auto& codeUnit: source) { - stepByStepConverted += encoder.encode(codeUnit); - } - QCOMPARE(stepByStepConverted, fullyConverted); + { + QStringEncoder dec(codec, QStringConverter::Flag::ConvertInvalidToNull); + check(std::move(dec)); } + if (QTest::currentTestResolved()) return; + } void tst_QStringConverter::byteByByteConsistency_data() @@ -615,11 +623,10 @@ void tst_QStringConverter::byteByByteConsistency_data() void tst_QStringConverter::byteByByteConsistency() { - QFETCH(QByteArray, source); - QFETCH(QByteArray, codec); + QFETCH(const QByteArray, source); + QFETCH(const QByteArray, codec); - { - QStringDecoder decoder(codec); + const auto check = [&](QStringDecoder decoder) { if (!decoder.isValid()) QSKIP("Unsupported codec"); @@ -632,23 +639,28 @@ void tst_QStringConverter::byteByByteConsistency() stepByStepConverted += decoder.decode(singleChar); } QCOMPARE(stepByStepConverted, fullyConverted); - } + }; + + check(QStringDecoder(codec)); + if (QTest::currentTestResolved()) return; + + check(QStringDecoder(codec, QStringConverter::Flag::ConvertInvalidToNull)); + if (QTest::currentTestResolved()) return; + + // moved codecs also work: { - QStringDecoder decoder(codec, QStringConverter::Flag::ConvertInvalidToNull); - if (!decoder.isValid()) - QSKIP("Unsupported codec"); + QStringDecoder dec(codec); + check(std::move(dec)); + } + if (QTest::currentTestResolved()) return; - QString fullyConverted = decoder.decode(source); - decoder.resetState(); - QString stepByStepConverted; - for (const auto& byte: source) { - QByteArray singleChar; - singleChar.append(byte); - stepByStepConverted += decoder.decode(singleChar); - } - QCOMPARE(stepByStepConverted, fullyConverted); + { + QStringDecoder dec(codec, QStringConverter::Flag::ConvertInvalidToNull); + check(std::move(dec)); } + if (QTest::currentTestResolved()) return; + } void tst_QStringConverter::statefulPieceWise() diff --git a/tests/auto/corelib/thread/CMakeLists.txt b/tests/auto/corelib/thread/CMakeLists.txt index 5889f4249f..d25d0205f5 100644 --- a/tests/auto/corelib/thread/CMakeLists.txt +++ b/tests/auto/corelib/thread/CMakeLists.txt @@ -1,7 +1,7 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -if(WASM) # not all tests currently work in WebAssembly +if(QT_BUILD_WASM_BATCHED_TESTS) # not all tests currently work in WebAssembly add_subdirectory(qatomicint) add_subdirectory(qatomicinteger) add_subdirectory(qatomicpointer) @@ -17,11 +17,20 @@ if(QT_FEATURE_thread) add_subdirectory(qatomicint) add_subdirectory(qatomicinteger) add_subdirectory(qatomicpointer) - add_subdirectory(qresultstore) - if(QT_FEATURE_concurrent AND NOT INTEGRITY) - add_subdirectory(qfuture) + if(QT_FEATURE_future) + if(QT_FEATURE_concurrent AND NOT INTEGRITY) + add_subdirectory(qfuture) + endif() + add_subdirectory(qresultstore) + add_subdirectory(qfuturesynchronizer) + if(NOT INTEGRITY) + add_subdirectory(qpromise) + endif() + # QTBUG-87431 + if(TARGET Qt::Concurrent AND NOT INTEGRITY) + add_subdirectory(qfuturewatcher) + endif() endif() - add_subdirectory(qfuturesynchronizer) add_subdirectory(qmutex) add_subdirectory(qmutexlocker) add_subdirectory(qreadlocker) @@ -36,12 +45,5 @@ if(QT_FEATURE_thread) add_subdirectory(qthreadstorage) add_subdirectory(qwaitcondition) add_subdirectory(qwritelocker) - if(NOT INTEGRITY) - add_subdirectory(qpromise) - endif() endif() -# QTBUG-87431 -if(TARGET Qt::Concurrent AND NOT INTEGRITY) - add_subdirectory(qfuturewatcher) -endif() diff --git a/tests/auto/corelib/thread/qfuture/CMakeLists.txt b/tests/auto/corelib/thread/qfuture/CMakeLists.txt index aa989f3df1..ba5730d5cf 100644 --- a/tests/auto/corelib/thread/qfuture/CMakeLists.txt +++ b/tests/auto/corelib/thread/qfuture/CMakeLists.txt @@ -16,6 +16,7 @@ qt_internal_add_test(tst_qfuture tst_qfuture.cpp LIBRARIES Qt::CorePrivate + Qt::TestPrivate ) qt_internal_extend_target(tst_qfuture CONDITION MSVC diff --git a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp index 3fc796514d..4cb29c514a 100644 --- a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp +++ b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp @@ -17,6 +17,7 @@ #include <private/qobject_p.h> #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <qfuture.h> #include <qfuturewatcher.h> #include <qresultstore.h> @@ -161,6 +162,7 @@ class tst_QFuture: public QObject { Q_OBJECT private slots: + void compareCompiles(); void resultStore(); void future(); void futureToVoid(); @@ -273,6 +275,12 @@ private: QtPrivate::ResultStoreBase &store; }; +void tst_QFuture::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QFuture<int>::const_iterator>(); + QTestPrivate::testEqualityOperatorsCompile<QFuture<QString>::const_iterator>(); +} + void tst_QFuture::resultStore() { int int0 = 0; @@ -1359,16 +1367,16 @@ void tst_QFuture::iterators() QFuture<int>::const_iterator i1 = f.begin(), i2 = i1 + 1; QFuture<int>::const_iterator c1 = i1, c2 = c1 + 1; - QCOMPARE(i1, i1); - QCOMPARE(i1, c1); - QCOMPARE(c1, i1); - QCOMPARE(c1, c1); - QCOMPARE(i2, i2); - QCOMPARE(i2, c2); - QCOMPARE(c2, i2); - QCOMPARE(c2, c2); - QCOMPARE(1 + i1, i1 + 1); - QCOMPARE(1 + c1, c1 + 1); + QT_TEST_EQUALITY_OPS(i1, i1, true); + QT_TEST_EQUALITY_OPS(i1, c1, true); + QT_TEST_EQUALITY_OPS(c1, i1, true); + QT_TEST_EQUALITY_OPS(c1, c1, true); + QT_TEST_EQUALITY_OPS(i2, i2, true); + QT_TEST_EQUALITY_OPS(i2, c2, true); + QT_TEST_EQUALITY_OPS(c2, i2, true); + QT_TEST_EQUALITY_OPS(c2, c2, true); + QT_TEST_EQUALITY_OPS(1 + i1, i1 + 1, true); + QT_TEST_EQUALITY_OPS(1 + c1, c1 + 1, true); QVERIFY(i1 != i2); QVERIFY(i1 != c2); diff --git a/tests/auto/corelib/thread/qresultstore/CMakeLists.txt b/tests/auto/corelib/thread/qresultstore/CMakeLists.txt index 0f9d8d9e52..5abfc14ac6 100644 --- a/tests/auto/corelib/thread/qresultstore/CMakeLists.txt +++ b/tests/auto/corelib/thread/qresultstore/CMakeLists.txt @@ -16,4 +16,5 @@ qt_internal_add_test(tst_qresultstore tst_qresultstore.cpp LIBRARIES Qt::CorePrivate + Qt::TestPrivate ) diff --git a/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp b/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp index 265b2cd1f6..722184a72a 100644 --- a/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp +++ b/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> - +#include <QtTest/private/qcomparisontesthelper_p.h> #include <qresultstore.h> using namespace QtPrivate; @@ -23,6 +23,7 @@ class tst_QtConcurrentResultStore : public QObject public slots: void init(); private slots: + void compareCompiles(); void construction(); void iterators(); void addResult(); @@ -52,6 +53,11 @@ void tst_QtConcurrentResultStore::init() vec1 = QList<int> { 4, 5 }; } +void tst_QtConcurrentResultStore::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<ResultIteratorBase>(); +} + void tst_QtConcurrentResultStore::construction() { ResultStoreBase store; @@ -74,17 +80,20 @@ void tst_QtConcurrentResultStore::iterators() storebase.addResult(1, &int1); // ResultStoreBase does not take ownership, only ResultStore<> does. ResultIteratorBase it = storebase.begin(); QCOMPARE(it.resultIndex(), 0); - QCOMPARE(it, storebase.begin()); + QT_TEST_EQUALITY_OPS(it, storebase.begin(), true); QVERIFY(it != storebase.end()); ++it; QCOMPARE(it.resultIndex(), 1); QVERIFY(it != storebase.begin()); QVERIFY(it != storebase.end()); + QT_TEST_EQUALITY_OPS(it, storebase.begin(), false); + QT_TEST_EQUALITY_OPS(it, storebase.end(), false); ++it; QVERIFY(it != storebase.begin()); QCOMPARE(it, storebase.end()); + QT_TEST_EQUALITY_OPS(it, storebase.end(), true); } } @@ -147,8 +156,8 @@ void tst_QtConcurrentResultStore::addResults() store.addResults(-1, &vec1); ResultIteratorBase it = store.begin(); QCOMPARE(it.resultIndex(), 0); - QCOMPARE(it, store.begin()); - QVERIFY(it != store.end()); + QT_TEST_EQUALITY_OPS(it, store.begin(), true); + QT_TEST_EQUALITY_OPS(it, store.end(), false); ++it; QCOMPARE(it.resultIndex(), 1); @@ -162,7 +171,7 @@ void tst_QtConcurrentResultStore::addResults() QCOMPARE(it.resultIndex(), 3); ++it; - QCOMPARE(it, store.end()); + QT_TEST_EQUALITY_OPS(it, store.end(), true); QList<int> empty; const auto countBefore = store.count(); @@ -184,22 +193,22 @@ void tst_QtConcurrentResultStore::resultIndex() ResultIteratorBase it = store.begin(); QCOMPARE(it.resultIndex(), 0); - QVERIFY(it == store.begin()); - QVERIFY(it != store.end()); + QT_TEST_EQUALITY_OPS(it, store.begin(), true); + QT_TEST_EQUALITY_OPS(it, store.end(), false); ++it; QCOMPARE(it.resultIndex(), 1); - QVERIFY(it != store.begin()); - QVERIFY(it != store.end()); + QT_TEST_EQUALITY_OPS(it, store.begin(), false); + QT_TEST_EQUALITY_OPS(it, store.end(), false); ++it; QCOMPARE(it.resultIndex(), 2); - QVERIFY(it != store.end()); + QT_TEST_EQUALITY_OPS(it, store.end(), false); ++it; QCOMPARE(it.resultIndex(), 3); - QVERIFY(it != store.end()); + QT_TEST_EQUALITY_OPS(it, store.end(), false); ++it; - QVERIFY(it == store.end()); + QT_TEST_EQUALITY_OPS(it, store.end(), true); QCOMPARE(store.resultAt(0).value<int>(), int0); QCOMPARE(store.resultAt(1).value<int>(), vec0[0]); diff --git a/tests/auto/corelib/thread/qthread/tst_qthread.cpp b/tests/auto/corelib/thread/qthread/tst_qthread.cpp index a7194d4442..18c8d5fbd5 100644 --- a/tests/auto/corelib/thread/qthread/tst_qthread.cpp +++ b/tests/auto/corelib/thread/qthread/tst_qthread.cpp @@ -53,6 +53,7 @@ private slots: void setStackSize(); void exit(); void start(); + void startSlotUsedInStringBasedLookups(); void terminate(); void quit(); void started(); @@ -136,11 +137,13 @@ class Current_Thread : public QThread public: Qt::HANDLE id; QThread *thread; + bool runCalledInCurrentThread = false; void run() override { id = QThread::currentThreadId(); thread = QThread::currentThread(); + runCalledInCurrentThread = thread->isCurrentThread(); } }; @@ -275,6 +278,11 @@ void tst_QThread::currentThreadId() QVERIFY(thread.wait(five_minutes)); QVERIFY(thread.id != nullptr); QVERIFY(thread.id != QThread::currentThreadId()); + QVERIFY(!thread.isCurrentThread()); + QVERIFY(!thread.thread->isCurrentThread()); + QVERIFY(thread.QThread::thread()->isCurrentThread()); + QVERIFY(thread.runCalledInCurrentThread); + QVERIFY(qApp->thread()->isCurrentThread()); } void tst_QThread::currentThread() @@ -466,6 +474,56 @@ void tst_QThread::start() } } +class QThreadStarter : public QObject +{ + Q_OBJECT +public: + using QObject::QObject; +Q_SIGNALS: + void start(QThread::Priority); +}; + +class QThreadSelfStarter : public QThread +{ + Q_OBJECT +public: + using QThread::QThread; + + void check() + { + QVERIFY(connect(this, SIGNAL(starting(Priority)), + this, SLOT(start(Priority)))); + QVERIFY(QMetaObject::invokeMethod(this, "start", Q_ARG(Priority, IdlePriority))); + } + +Q_SIGNALS: + void starting(Priority); +}; + +void tst_QThread::startSlotUsedInStringBasedLookups() +{ + // QTBUG-124723 + + QThread thread; + { + QThreadStarter starter; + QVERIFY(QObject::connect(&starter, SIGNAL(start(QThread::Priority)), + &thread, SLOT(start(QThread::Priority)))); + } + { + QThreadSelfStarter selfStarter; + selfStarter.check(); + if (QTest::currentTestFailed()) + return; + selfStarter.exit(); + selfStarter.wait(30s); + } + QVERIFY(QMetaObject::invokeMethod(&thread, "start", + Q_ARG(QThread::Priority, QThread::IdlePriority))); + thread.exit(); + thread.wait(30s); +} + void tst_QThread::terminate() { #if defined(Q_OS_ANDROID) @@ -1241,8 +1299,16 @@ public: } void registerSocketNotifier(QSocketNotifier *) override {} void unregisterSocketNotifier(QSocketNotifier *) override {} - void registerTimer(Qt::TimerId, Duration, Qt::TimerType, QObject *) override {} - bool unregisterTimer(Qt::TimerId) override { return false; } + void registerTimer(Qt::TimerId id, Duration, Qt::TimerType, QObject *) override + { + if (registeredTimerId <= Qt::TimerId::Invalid) + registeredTimerId = id; + } + bool unregisterTimer(Qt::TimerId id) override + { + Qt::TimerId oldId = std::exchange(registeredTimerId, Qt::TimerId::Invalid); + return id == oldId; + } bool unregisterTimers(QObject *) override { return false; } QList<TimerInfoV2> timersForObject(QObject *) const override { return {}; } Duration remainingTime(Qt::TimerId) const override { return 0s; } @@ -1255,25 +1321,47 @@ public: #endif QBasicAtomicInt visited; // bool + Qt::TimerId registeredTimerId = Qt::TimerId::Invalid; }; -class ThreadObj : public QObject +struct ThreadLocalContent { - Q_OBJECT -public slots: - void visit() { - emit visited(); + static inline const QMetaObject *atStart; + static inline const QMetaObject *atEnd; + QSemaphore *sem; + QBasicTimer timer; + + ThreadLocalContent(QObject *obj, QSemaphore *sem) + : sem(sem) + { + ensureEventDispatcher(); + atStart = QAbstractEventDispatcher::instance()->metaObject(); + timer.start(10s, obj); + } + ~ThreadLocalContent() + { + ensureEventDispatcher(); + atEnd = QAbstractEventDispatcher::instance()->metaObject(); + timer.stop(); + sem->release(); + } + + void ensureEventDispatcher() + { + // QEventLoop's constructor has a call to QThreadData::ensureEventDispatcher() + QEventLoop dummy; } -signals: - void visited(); }; void tst_QThread::customEventDispatcher() { + ThreadLocalContent::atStart = ThreadLocalContent::atEnd = nullptr; + QThread thr; // there should be no ED yet QVERIFY(!thr.eventDispatcher()); DummyEventDispatcher *ed = new DummyEventDispatcher; + QPointer<DummyEventDispatcher> weak_ed(ed); thr.setEventDispatcher(ed); // the new ED should be set QCOMPARE(thr.eventDispatcher(), ed); @@ -1282,25 +1370,39 @@ void tst_QThread::customEventDispatcher() thr.start(); // start() should not overwrite the ED QCOMPARE(thr.eventDispatcher(), ed); + QVERIFY(!weak_ed.isNull()); - ThreadObj obj; + QObject obj; obj.moveToThread(&thr); // move was successful? QCOMPARE(obj.thread(), &thr); - QEventLoop loop; - connect(&obj, SIGNAL(visited()), &loop, SLOT(quit()), Qt::QueuedConnection); - QMetaObject::invokeMethod(&obj, "visit", Qt::QueuedConnection); - loop.exec(); + + QSemaphore threadLocalSemaphore; + QMetaObject::invokeMethod(&obj, [&]() { +#ifndef Q_OS_WIN + // On Windows, the thread_locals are unsequenced between DLLs, so this + // could run after QThreadPrivate::finish() + static thread_local +#endif + ThreadLocalContent d(&obj, &threadLocalSemaphore); + }, Qt::BlockingQueuedConnection); + // test that the ED has really been used QVERIFY(ed->visited.loadRelaxed()); + // and it's ours + QCOMPARE(ThreadLocalContent::atStart->className(), "DummyEventDispatcher"); - QPointer<DummyEventDispatcher> weak_ed(ed); QVERIFY(!weak_ed.isNull()); thr.quit(); + // wait for thread to be stopped QVERIFY(thr.wait(30000)); + QVERIFY(threadLocalSemaphore.tryAcquire(1, 30s)); + // test that ED has been deleted QVERIFY(weak_ed.isNull()); + // test that ED was ours + QCOMPARE(ThreadLocalContent::atEnd->className(), "DummyEventDispatcher"); } class Job : public QObject diff --git a/tests/auto/corelib/time/CMakeLists.txt b/tests/auto/corelib/time/CMakeLists.txt index b593cc54d6..1fb95e9245 100644 --- a/tests/auto/corelib/time/CMakeLists.txt +++ b/tests/auto/corelib/time/CMakeLists.txt @@ -4,7 +4,9 @@ add_subdirectory(qcalendar) add_subdirectory(qdate) add_subdirectory(qdatetime) -add_subdirectory(qdatetimeparser) +if(QT_FEATURE_datetimeparser) + add_subdirectory(qdatetimeparser) +endif() add_subdirectory(qtime) if(QT_FEATURE_timezone) add_subdirectory(qtimezone) diff --git a/tests/auto/corelib/time/qdate/tst_qdate.cpp b/tests/auto/corelib/time/qdate/tst_qdate.cpp index 66d7571550..5b715e8c55 100644 --- a/tests/auto/corelib/time/qdate/tst_qdate.cpp +++ b/tests/auto/corelib/time/qdate/tst_qdate.cpp @@ -1179,7 +1179,7 @@ void tst_QDate::operator_insert_extract() QCOMPARE(deserialised, date); } -#if QT_CONFIG(datetimeparser) +#if QT_CONFIG(datestring) void tst_QDate::fromStringDateFormat_data() { QTest::addColumn<QString>("dateStr"); @@ -1303,6 +1303,7 @@ void tst_QDate::fromStringDateFormat() QCOMPARE(QDate::fromString(dateStr, dateFormat), expectedDate); } +# if QT_CONFIG(datetimeparser) void tst_QDate::fromStringFormat_data() { QTest::addColumn<QString>("string"); @@ -1334,7 +1335,7 @@ void tst_QDate::fromStringFormat_data() QTest::newRow("year-match-1999") << u"1999:99"_s << u"yyyy:yy"_s << 1900 << QDate(1999, 1, 1); QTest::newRow("year-match-2099") << u"2099:99"_s << u"yyyy:yy"_s << 1900 << QDate(2099, 1, 1); QTest::newRow("year-match-2001") << u"2001:01"_s << u"yyyy:yy"_s << 1900 << QDate(2001, 1, 1); - QTest::newRow("year-match-1999") << u"99"_s << u"yy"_s << 1900 << QDate(1999, 1, 1); + QTest::newRow("just-yy-1999") << u"99"_s << u"yy"_s << 1900 << QDate(1999, 1, 1); QTest::newRow("just-yy-1901") << u"01"_s << u"yy"_s << 1900 << QDate(1901, 1, 1); QTest::newRow("just-yy-2001") << u"01"_s << u"yy"_s << 1970 << QDate(2001, 1, 1); @@ -1490,7 +1491,6 @@ void tst_QDate::fromStringFormat() } #endif // datetimeparser -#if QT_CONFIG(datestring) void tst_QDate::toStringFormat_data() { QTest::addColumn<QDate>("t"); diff --git a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp index 6c0733686d..f9c6afc795 100644 --- a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp @@ -3117,6 +3117,9 @@ void tst_QDateTime::fromStringStringFormat_data() << u"Thu January 2004"_s << u"ddd MMMM yyyy"_s << 1900 << QDate(2004, 1, 1).startOfDay(); } + QTest::newRow("yy=24/Mar/20") // QTBUG-123579 + << u"Wed, 20 Mar 24 16:17:00"_s << u"ddd, dd MMM yy HH:mm:ss"_s << 1900 + << QDateTime(QDate(2024, 3, 20), QTime(16, 17)); QTest::newRow("secs-conflict") << u"1020"_s << u"sss"_s << 1900 << QDateTime(); QTest::newRow("secs-split-conflict") << u"10hello20"_s << u"ss'hello'ss"_s << 1900 << QDateTime(); diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp index a350ffeb04..7f6bc96aa6 100644 --- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp +++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp @@ -584,7 +584,7 @@ void tst_QTimeZone::utcOffsetId_data() #define ROW(name, valid, offset) \ QTest::newRow(name) << QByteArray(name) << valid << offset - // See qtbase/util/locale_database/cldr2qtimezone.py for source + // See qtbase/util/locale_database/zonedata.py for source // CLDR v35.1 IDs: ROW("UTC", true, 0); ROW("UTC-14:00", true, -50400); @@ -1280,7 +1280,7 @@ void tst_QTimeZone::utcTest() void tst_QTimeZone::icuTest() { -#if defined(QT_BUILD_INTERNAL) && QT_CONFIG(icu) +#if defined(QT_BUILD_INTERNAL) && QT_CONFIG(icu) && !defined(Q_OS_UNIX) // Known datetimes qint64 std = QDateTime(QDate(2012, 1, 1), QTime(0, 0), QTimeZone::UTC).toMSecsSinceEpoch(); qint64 dst = QDateTime(QDate(2012, 6, 1), QTime(0, 0), QTimeZone::UTC).toMSecsSinceEpoch(); @@ -1323,7 +1323,7 @@ void tst_QTimeZone::icuTest() if (QTest::currentTestFailed()) return; testEpochTranPrivate(QIcuTimeZonePrivate("America/Toronto")); -#endif // icu +#endif // ICU not on Unix } void tst_QTimeZone::tzTest() @@ -1527,7 +1527,7 @@ void tst_QTimeZone::tzTest() QDateTime dt(QDate(2016, 3, 28), QTime(0, 0), UTC); QCOMPARE(tzBarnaul.data(dt.toMSecsSinceEpoch()).abbreviation, QString("+07")); } -#endif // QT_BUILD_INTERNAL && Q_OS_UNIX && !Q_OS_DARWIN +#endif // QT_BUILD_INTERNAL && Q_OS_UNIX && !Q_OS_DARWIN && !Q_OS_ANDROID } void tst_QTimeZone::macTest() diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone_darwin.mm b/tests/auto/corelib/time/qtimezone/tst_qtimezone_darwin.mm index 6102fd8a60..f4ef15036d 100644 --- a/tests/auto/corelib/time/qtimezone/tst_qtimezone_darwin.mm +++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone_darwin.mm @@ -9,7 +9,7 @@ void tst_QTimeZone_darwinTypes() { -#if !defined(QT_NO_SYSTEMLOCALE) +#if QT_CONFIG(timezone) // QTimeZone <-> CFTimeZone { QTimeZone qtTimeZone("America/Los_Angeles"); @@ -39,5 +39,5 @@ void tst_QTimeZone_darwinTypes() QVERIFY([qtTimeZone.toNSTimeZone() isEqual:nsTimeZone]); [autoreleasepool release]; } -#endif +#endif // feature timezone } diff --git a/tests/auto/corelib/tools/qbitarray/CMakeLists.txt b/tests/auto/corelib/tools/qbitarray/CMakeLists.txt index 802d647abb..ac3bd24bd5 100644 --- a/tests/auto/corelib/tools/qbitarray/CMakeLists.txt +++ b/tests/auto/corelib/tools/qbitarray/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qbitarray SOURCES tst_qbitarray.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp index 5fcf444485..f52a368aa9 100644 --- a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp +++ b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QtCore/QBuffer> #include <QtCore/QDataStream> @@ -39,6 +40,7 @@ class tst_QBitArray : public QObject { Q_OBJECT private slots: + void compareCompiles(); void canHandleIntMaxBits(); void size_data(); void size(); @@ -85,6 +87,11 @@ private slots: void toUInt32(); }; +void tst_QBitArray::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QBitArray>(); +} + void tst_QBitArray::canHandleIntMaxBits() { QElapsedTimer timer; @@ -126,7 +133,7 @@ void tst_QBitArray::canHandleIntMaxBits() QBitArray ba2; ds >> ba2; QCOMPARE(ds.status(), QDataStream::Status::Ok); - QCOMPARE(ba, ba2); + QT_TEST_EQUALITY_OPS(ba, ba2, true); } } catch (const std::bad_alloc &) { QSKIP("Failed to allocate sufficient memory"); @@ -266,14 +273,20 @@ void tst_QBitArray::isEmpty() QVERIFY(!a1.isEmpty()); QVERIFY(!a1.isNull()); QVERIFY(a1.size() == 2); + + QT_TEST_EQUALITY_OPS(a1, a2, false); + QT_TEST_EQUALITY_OPS(a2, a3, false); + QT_TEST_EQUALITY_OPS(QBitArray(), QBitArray(), true); + a3 = a2; + QT_TEST_EQUALITY_OPS(a2, a3, true); } void tst_QBitArray::swap() { QBitArray b1 = QStringToQBitArray("1"), b2 = QStringToQBitArray("10"); b1.swap(b2); - QCOMPARE(b1,QStringToQBitArray("10")); - QCOMPARE(b2,QStringToQBitArray("1")); + QT_TEST_EQUALITY_OPS(b1,QStringToQBitArray("10"), true); + QT_TEST_EQUALITY_OPS(b2,QStringToQBitArray("1"), true); } void tst_QBitArray::fill() @@ -323,7 +336,7 @@ void tst_QBitArray::toggleBit() input.toggleBit(index); - QCOMPARE(input, res); + QT_TEST_EQUALITY_OPS(input, res, true); } void tst_QBitArray::operator_andeq_data() @@ -370,32 +383,32 @@ void tst_QBitArray::operator_andeq() QBitArray result = input1; result &= input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result &= std::move(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result &= detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2; result &= input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result &= std::move(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result &= detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is idempotent result &= result; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result &= std::move(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result &= detached(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); } void tst_QBitArray::operator_and() @@ -405,27 +418,27 @@ void tst_QBitArray::operator_and() QFETCH(QBitArray, res); QBitArray result = input1 & input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 & QBitArray(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 & detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2 & input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 & QBitArray(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 & detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is idempotent result = result & result; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = result & QBitArray(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = result & detached(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); } void tst_QBitArray::operator_oreq_data() @@ -476,32 +489,32 @@ void tst_QBitArray::operator_oreq() QBitArray result = input1; result |= input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result |= QBitArray(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result |= detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2; result |= input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result |= QBitArray(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result |= detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is idempotent result |= result; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result |= QBitArray(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result |= detached(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); } void tst_QBitArray::operator_or() @@ -511,27 +524,27 @@ void tst_QBitArray::operator_or() QFETCH(QBitArray, res); QBitArray result = input1 | input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 | QBitArray(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 | detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2 | input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 | QBitArray(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 | detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is idempotent result = result | result; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = result | QBitArray(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = result | detached(result); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); } void tst_QBitArray::operator_xoreq_data() @@ -580,55 +593,55 @@ void tst_QBitArray::operator_xoreq() QBitArray result = input1; result ^= input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result ^= QBitArray(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1; result ^= detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2; result ^= input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result ^= QBitArray(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2; result ^= detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // XORing with oneself is nilpotent result = input1; result ^= input1; - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input1; result ^= QBitArray(result); - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input1; result ^= detached(result); - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input2; result ^= input2; - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = input2; result ^= QBitArray(input2); - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = input2; result ^= detached(input2); - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = res; result ^= res; - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); result = res; result ^= QBitArray(res); - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); result = res; result ^= detached(res); - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); } void tst_QBitArray::operator_xor() @@ -638,41 +651,41 @@ void tst_QBitArray::operator_xor() QFETCH(QBitArray, res); QBitArray result = input1 ^ input2; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 ^ QBitArray(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input1 ^ detached(input2); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // operation is commutative result = input2 ^ input1; - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 ^ QBitArray(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); result = input2 ^ detached(input1); - QCOMPARE(result, res); + QT_TEST_EQUALITY_OPS(result, res, true); // XORing with oneself is nilpotent result = input1 ^ input1; - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input1 ^ QBitArray(input1); - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input1 ^ detached(input1); - QCOMPARE(result, QBitArray(input1.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input1.size()), true); result = input2 ^ input2; - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = input2 ^ QBitArray(input2); - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = input2 ^ detached(input2); - QCOMPARE(result, QBitArray(input2.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(input2.size()), true); result = res ^ res; - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); result = res ^ QBitArray(res); - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); result = res ^ detached(res); - QCOMPARE(result, QBitArray(res.size())); + QT_TEST_EQUALITY_OPS(result, QBitArray(res.size()), true); } void tst_QBitArray::operator_neg_data() @@ -721,8 +734,8 @@ void tst_QBitArray::operator_neg() input = ~input; - QCOMPARE(input, res); - QCOMPARE(~~input, res); // performs two in-place negations + QT_TEST_EQUALITY_OPS(input, res, true); + QT_TEST_EQUALITY_OPS(~~input, res, true); // performs two in-place negations } void tst_QBitArray::datastream_data() @@ -782,15 +795,15 @@ void tst_QBitArray::datastream() QCOMPARE(array1.count(true), onBits); QCOMPARE(array1.count(false), numBits - onBits); - QCOMPARE(array1, bits); - QCOMPARE(array2, bits); - QCOMPARE(array3, bits); + QT_TEST_EQUALITY_OPS(array1, bits, true); + QT_TEST_EQUALITY_OPS(array2, bits, true); + QT_TEST_EQUALITY_OPS(array3, bits, true); } void tst_QBitArray::invertOnNull() const { QBitArray a; - QCOMPARE(a = ~a, QBitArray()); + QT_TEST_EQUALITY_OPS(a = ~a, QBitArray(), true); } void tst_QBitArray::operator_noteq_data() @@ -831,7 +844,7 @@ void tst_QBitArray::operator_noteq() QFETCH(bool, res); bool b = input1 != input2; - QCOMPARE(b, res); + QT_TEST_EQUALITY_OPS(b, res, true); } void tst_QBitArray::resize() @@ -840,22 +853,22 @@ void tst_QBitArray::resize() QBitArray a = QStringToQBitArray(QString("11")); a.resize(10); QVERIFY(a.size() == 10); - QCOMPARE( a, QStringToQBitArray(QString("1100000000")) ); + QT_TEST_EQUALITY_OPS( a, QStringToQBitArray(QString("1100000000")), true); a.setBit(9); a.resize(9); // now the bit in a should have been gone: - QCOMPARE( a, QStringToQBitArray(QString("110000000")) ); + QT_TEST_EQUALITY_OPS( a, QStringToQBitArray(QString("110000000")), true); // grow the array back and check the new bit a.resize(10); - QCOMPARE( a, QStringToQBitArray(QString("1100000000")) ); + QT_TEST_EQUALITY_OPS( a, QStringToQBitArray(QString("1100000000")), true); // other test with and a.resize(9); QBitArray b = QStringToQBitArray(QString("1111111111")); b &= a; - QCOMPARE( b, QStringToQBitArray(QString("1100000000")) ); + QT_TEST_EQUALITY_OPS( b, QStringToQBitArray(QString("1100000000")), true); } @@ -909,9 +922,9 @@ void tst_QBitArray::fromBits() QFETCH(QBitArray, expected); QBitArray fromBits = QBitArray::fromBits(data, size); - QCOMPARE(fromBits, expected); + QT_TEST_EQUALITY_OPS(fromBits, expected, true); - QCOMPARE(QBitArray::fromBits(fromBits.bits(), fromBits.size()), expected); + QT_TEST_EQUALITY_OPS(QBitArray::fromBits(fromBits.bits(), fromBits.size()), expected, true); } void tst_QBitArray::toUInt32_data() diff --git a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp index c08afd67c4..fe1a9b828a 100644 --- a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp +++ b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp @@ -20,6 +20,8 @@ private slots: void repeated_result(); void intermediary_result_data(); void intermediary_result(); + void static_hash_data() { intermediary_result_data(); } + void static_hash(); void sha1(); void sha3_data(); void sha3(); @@ -29,9 +31,9 @@ private slots: void blake2(); void files_data(); void files(); - void hashLength_data(); + void hashLength_data() { all_methods(true); } void hashLength(); - void addDataAcceptsNullByteArrayView_data() { hashLength_data(); } + void addDataAcceptsNullByteArrayView_data() { all_methods(false); } void addDataAcceptsNullByteArrayView(); void move(); void swap(); @@ -40,6 +42,7 @@ private slots: void moreThan4GiBOfData(); void keccakBufferOverflow(); private: + void all_methods(bool includingNumAlgorithms) const; void ensureLargeData(); std::vector<char> large; }; @@ -197,6 +200,17 @@ void tst_QCryptographicHash::intermediary_result() hash.reset(); } +void tst_QCryptographicHash::static_hash() +{ + QFETCH(const int, algo); + QFETCH(const QByteArray, first); + QFETCH(const QByteArray, hash_first); + + const auto _algo = QCryptographicHash::Algorithm(algo); + + QCOMPARE(QCryptographicHash::hash(first, _algo), hash_first); +} + void tst_QCryptographicHash::sha1() { @@ -474,12 +488,14 @@ void tst_QCryptographicHash::files() } } -void tst_QCryptographicHash::hashLength_data() +void tst_QCryptographicHash::all_methods(bool inclNumAlgos) const { QTest::addColumn<QCryptographicHash::Algorithm>("algorithm"); auto metaEnum = QMetaEnum::fromType<QCryptographicHash::Algorithm>(); for (int i = 0, value = metaEnum.value(i); value != -1; value = metaEnum.value(++i)) { auto algorithm = QCryptographicHash::Algorithm(value); + if (!inclNumAlgos && algorithm == QCryptographicHash::Algorithm::NumAlgorithms) + continue; QTest::addRow("%s", metaEnum.key(i)) << algorithm; } } diff --git a/tests/auto/corelib/tools/qeasingcurve/CMakeLists.txt b/tests/auto/corelib/tools/qeasingcurve/CMakeLists.txt index 3f76f8a38f..2569e0c7a9 100644 --- a/tests/auto/corelib/tools/qeasingcurve/CMakeLists.txt +++ b/tests/auto/corelib/tools/qeasingcurve/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qeasingcurve SOURCES tst_qeasingcurve.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp index fc8c1a3e5c..0a933a1e2b 100644 --- a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp +++ b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <private/qcomparisontesthelper_p.h> #include <qeasingcurve.h> @@ -16,6 +17,7 @@ private slots: void valueForProgress_data(); void valueForProgress(); void setCustomType(); + void comparisonCompiles(); void operators(); void properties(); void metaTypes(); @@ -420,6 +422,11 @@ void tst_QEasingCurve::setCustomType() QCOMPARE(curve.valueForProgress(0.99), 0.99); } +void tst_QEasingCurve::comparisonCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QEasingCurve>(); +} + void tst_QEasingCurve::operators() { { // member-swap() @@ -447,28 +454,28 @@ void tst_QEasingCurve::operators() curve2 = curve; curve2.setOvershoot(qreal(1.70158)); QCOMPARE(curve.overshoot(), curve2.overshoot()); - QVERIFY(curve2 == curve); + QT_TEST_EQUALITY_OPS(curve2, curve, true); curve.setOvershoot(3.0); - QVERIFY(curve2 != curve); + QT_TEST_EQUALITY_OPS(curve2, curve, false); curve2.setOvershoot(3.0); - QVERIFY(curve2 == curve); + QT_TEST_EQUALITY_OPS(curve2, curve, true); curve2.setType(QEasingCurve::Linear); QCOMPARE(curve.overshoot(), curve2.overshoot()); - QVERIFY(curve2 != curve); + QT_TEST_EQUALITY_OPS(curve2, curve, false); curve2.setType(QEasingCurve::InBack); QCOMPARE(curve.overshoot(), curve2.overshoot()); - QVERIFY(curve2 == curve); + QT_TEST_EQUALITY_OPS(curve2, curve, true); QEasingCurve curve3; QEasingCurve curve4; curve4.setAmplitude(curve4.amplitude()); QEasingCurve curve5; curve5.setAmplitude(0.12345); - QVERIFY(curve3 == curve4); // default value and not assigned - QVERIFY(curve3 != curve5); // unassinged and other value - QVERIFY(curve4 != curve5); + QT_TEST_EQUALITY_OPS(curve3, curve4, true); // default value and not assigned + QT_TEST_EQUALITY_OPS(curve3, curve5, false); // unassinged and other value + QT_TEST_EQUALITY_OPS(curve4, curve5, false); } class tst_QEasingProperties : public QObject @@ -890,7 +897,7 @@ void tst_QEasingCurve::streamInOut() dsw << orig; dsr >> copy; - QCOMPARE(copy == orig, equality); + QT_TEST_EQUALITY_OPS(copy, orig, equality); } QTEST_MAIN(tst_QEasingCurve) diff --git a/tests/auto/corelib/tools/qhashseed/tst_qhashseed.cpp b/tests/auto/corelib/tools/qhashseed/tst_qhashseed.cpp index 99fc7c5772..e004a560a2 100644 --- a/tests/auto/corelib/tools/qhashseed/tst_qhashseed.cpp +++ b/tests/auto/corelib/tools/qhashseed/tst_qhashseed.cpp @@ -21,7 +21,7 @@ private Q_SLOTS: void deterministicSeed(); void reseeding(); void quality(); -#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) +#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) && QT_DEPRECATED_SINCE(6,6) void compatibilityApi(); void deterministicSeed_compat(); #endif @@ -157,7 +157,7 @@ void tst_QHashSeed::quality() "seedsToMinus1 = " + QByteArray::number(seedsToMinus1)); } -#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) +#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) && QT_DEPRECATED_SINCE(6,6) QT_WARNING_DISABLE_DEPRECATED void tst_QHashSeed::compatibilityApi() { diff --git a/tests/auto/corelib/tools/qline/CMakeLists.txt b/tests/auto/corelib/tools/qline/CMakeLists.txt index 17a3a1bcef..7d9fdf51a9 100644 --- a/tests/auto/corelib/tools/qline/CMakeLists.txt +++ b/tests/auto/corelib/tools/qline/CMakeLists.txt @@ -14,6 +14,8 @@ endif() qt_internal_add_test(tst_qline SOURCES tst_qline.cpp + LIBRARIES + Qt::TestPrivate ) ## Scopes: diff --git a/tests/auto/corelib/tools/qline/tst_qline.cpp b/tests/auto/corelib/tools/qline/tst_qline.cpp index 51f1f8ac79..10069e821b 100644 --- a/tests/auto/corelib/tools/qline/tst_qline.cpp +++ b/tests/auto/corelib/tools/qline/tst_qline.cpp @@ -4,6 +4,7 @@ #include <QTest> #include <qline.h> #include <qmath.h> +#include <private/qcomparisontesthelper_p.h> #include <array> @@ -11,6 +12,16 @@ class tst_QLine : public QObject { Q_OBJECT private slots: + void testComparisonCompiles(); + void testComparison_data(); + void testComparison(); + + void testFuzzyCompare_data(); + void testFuzzyCompare(); + + void testIsNull_data(); + void testIsNull(); + void testIntersection(); void testIntersection_data(); @@ -41,6 +52,120 @@ private slots: }; const qreal epsilon = sizeof(qreal) == sizeof(double) ? 1e-8 : 1e-4; +constexpr static qreal qreal_min = std::numeric_limits<qreal>::min(); + +void tst_QLine::testComparisonCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QLine>(); + QTestPrivate::testEqualityOperatorsCompile<QLineF>(); + QTestPrivate::testEqualityOperatorsCompile<QLineF, QLine>(); +} + +void tst_QLine::testComparison_data() +{ + QTest::addColumn<double>("xa1"); + QTest::addColumn<double>("ya1"); + QTest::addColumn<double>("xa2"); + QTest::addColumn<double>("ya2"); + QTest::addColumn<double>("xb1"); + QTest::addColumn<double>("yb1"); + QTest::addColumn<double>("xb2"); + QTest::addColumn<double>("yb2"); + QTest::addColumn<bool>("result"); + QTest::addColumn<bool>("floatResult"); + QTest::addColumn<bool>("mixedResult"); + + auto row = [&](double xa1, double ya1, double xa2, double ya2, + double xb1, double yb1, double xb2, double yb2, + bool result, bool floatResult, bool mixedResult) + { + QString str; + QDebug dbg(&str); + dbg.nospace() << "[(" << xa1 << ", " << ya1 << "); (" << xa2 << ", " << ya2 << ")] vs [(" + << xb1 << ", " << yb1 << "); (" << xb2 << ", " << yb2 << ")]"; + QTest::addRow("%s", str.toLatin1().constData()) + << xa1 << ya1 << xa2 << ya2 << xb1 << yb1 << xb2 << yb2 + << result << floatResult << mixedResult; + }; + + row(-1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, true, true, true); + row(-1.1, -0.9, 1.1, 0.9, -1.0, -1.0, 1.0, 1.0, true, false, false); + row(-1.0, -1.0, 1.0, 1.0, -0.9, -1.1, 0.9, 1.1, true, false, true); + row(-qreal_min, -1.0, 1.0, qreal_min, 0.0, -1.1, 0.9, 0.0, true, false, true); +} + +void tst_QLine::testComparison() +{ + QFETCH(double, xa1); + QFETCH(double, ya1); + QFETCH(double, xa2); + QFETCH(double, ya2); + QFETCH(double, xb1); + QFETCH(double, yb1); + QFETCH(double, xb2); + QFETCH(double, yb2); + QFETCH(bool, result); + QFETCH(bool, floatResult); + QFETCH(bool, mixedResult); + + const QLineF l1f(xa1, ya1, xa2, ya2); + const QLine l1 = l1f.toLine(); + + const QLineF l2f(xb1, yb1, xb2, yb2); + const QLine l2 = l2f.toLine(); + + QT_TEST_EQUALITY_OPS(l1, l2, result); + QT_TEST_EQUALITY_OPS(l1f, l2f, floatResult); + QT_TEST_EQUALITY_OPS(l1f, l2, mixedResult); +} + +void tst_QLine::testFuzzyCompare_data() +{ + testComparison_data(); +} + +void tst_QLine::testFuzzyCompare() +{ + QFETCH(double, xa1); + QFETCH(double, ya1); + QFETCH(double, xa2); + QFETCH(double, ya2); + QFETCH(double, xb1); + QFETCH(double, yb1); + QFETCH(double, xb2); + QFETCH(double, yb2); + QFETCH(bool, floatResult); + + const QLineF l1f(xa1, ya1, xa2, ya2); + const QLineF l2f(xb1, yb1, xb2, yb2); + + QCOMPARE_EQ(qFuzzyCompare(l1f, l2f), floatResult); +} + +void tst_QLine::testIsNull_data() +{ + QTest::addColumn<QLineF>("lineF"); + QTest::addColumn<bool>("result"); + QTest::addColumn<bool>("floatResult"); + + QTest::newRow("non-null") << QLineF(1.0, 1.0, 2.0, 2.0) << false << false; + QTest::newRow("null") << QLineF(1.0, 1.0, 1.0, 1.0) << true << true; + QTest::newRow("null_int_non-null_float") << QLineF(1.0, 1.0, 1.1, 1.1) << true << false; + QTest::newRow("with_qreal_min") << QLineF(-qreal_min, qreal_min, 0.0, 0.0) << true << true; +} + +void tst_QLine::testIsNull() +{ + QFETCH(QLineF, lineF); + QFETCH(bool, result); + QFETCH(bool, floatResult); + + const QLine line = lineF.toLine(); + + QCOMPARE_EQ(line.isNull(), result); + QCOMPARE_EQ(lineF.isNull(), floatResult); + QCOMPARE_EQ(qFuzzyIsNull(lineF), floatResult); +} void tst_QLine::testSet() { diff --git a/tests/auto/corelib/tools/qmargins/CMakeLists.txt b/tests/auto/corelib/tools/qmargins/CMakeLists.txt index 2e0ea797ff..b0adf63f40 100644 --- a/tests/auto/corelib/tools/qmargins/CMakeLists.txt +++ b/tests/auto/corelib/tools/qmargins/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qmargins SOURCES tst_qmargins.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp index 2611f62f01..dc0b0e4085 100644 --- a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp +++ b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp @@ -32,15 +32,28 @@ CHECK(const &&); #include <QTest> #include <qmargins.h> +#include <private/qcomparisontesthelper_p.h> #include <array> Q_DECLARE_METATYPE(QMargins) +constexpr static qreal qreal_min = std::numeric_limits<qreal>::min(); + class tst_QMargins : public QObject { Q_OBJECT private slots: + void comparisonCompiles(); + void comparison_data(); + void comparison(); + + void fuzzyComparison_data(); + void fuzzyComparison(); + + void isNull_data(); + void isNull(); + void getSetCheck(); #ifndef QT_NO_DATASTREAM void dataStreamCheck(); @@ -65,6 +78,92 @@ private slots: void toMarginsF(); }; +void tst_QMargins::comparisonCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QMargins>(); + QTestPrivate::testEqualityOperatorsCompile<QMarginsF>(); + QTestPrivate::testEqualityOperatorsCompile<QMarginsF, QMargins>(); +} + +void tst_QMargins::comparison_data() +{ + QTest::addColumn<QMarginsF>("lhs"); + QTest::addColumn<QMarginsF>("rhs"); + QTest::addColumn<bool>("result"); + QTest::addColumn<bool>("floatResult"); + QTest::addColumn<bool>("mixedResult"); + + auto row = [](const QMarginsF &lhs, const QMarginsF &rhs, bool res, bool fRes, bool mRes) { + QString str; + QDebug dbg(&str); + dbg.nospace() << "(" << lhs.left() << ", " << lhs.top() << ", " << lhs.right() << ", " + << lhs.bottom() << ") vs (" << rhs.left() << ", " << rhs.top() << ", " + << rhs.right() << ", " << rhs.bottom() << ")"; + QTest::addRow("%s", str.toLatin1().constData()) << lhs << rhs << res << fRes << mRes; + }; + + row(QMarginsF(0.0, 0.0, 0.0, 0.0), QMarginsF(0.0, 0.0, 0.0, 0.0), true, true, true); + row(QMarginsF(qreal_min, -qreal_min, -qreal_min, qreal_min), QMarginsF(0.0, 0.0, 0.0, 0.0), true, true, true); + row(QMarginsF(1.0, 2.0, 3.0, 4.0), QMarginsF(1.1, 2.1, 2.9, 3.9), true, false, true); + row(QMarginsF(1.5, 2.5, 3.0, 4.0), QMarginsF(1.1, 2.1, 2.9, 3.9), false, false, false); +} + +void tst_QMargins::comparison() +{ + QFETCH(const QMarginsF, lhs); + QFETCH(const QMarginsF, rhs); + QFETCH(const bool, result); + QFETCH(const bool, floatResult); + QFETCH(const bool, mixedResult); + + QT_TEST_EQUALITY_OPS(lhs, rhs, floatResult); + + const QMargins lhsInt = lhs.toMargins(); + const QMargins rhsInt = rhs.toMargins(); + QT_TEST_EQUALITY_OPS(lhsInt, rhsInt, result); + + QT_TEST_EQUALITY_OPS(lhs, rhsInt, mixedResult); +} + +void tst_QMargins::fuzzyComparison_data() +{ + comparison_data(); +} + +void tst_QMargins::fuzzyComparison() +{ + QFETCH(const QMarginsF, lhs); + QFETCH(const QMarginsF, rhs); + QFETCH(const bool, floatResult); + + QCOMPARE_EQ(qFuzzyCompare(lhs, rhs), floatResult); +} + +void tst_QMargins::isNull_data() +{ + QTest::addColumn<QMarginsF>("margins"); + QTest::addColumn<bool>("result"); + + QTest::newRow("null") << QMarginsF(0.0, 0.0, 0.0, 0.0) << true; + QTest::newRow("non_null_left") << QMarginsF(1.0, 0.0, 0.0, 0.0) << false; + QTest::newRow("non_null_top") << QMarginsF(0.0, 0.5, 0.0, 0.0) << false; + QTest::newRow("non_null_right") << QMarginsF(0.0, 0.0, -2.0, 0.0) << false; + QTest::newRow("non_null_bottom") << QMarginsF(0.0, 0.0, 0.0, -0.6) << false; + QTest::newRow("almost_null") << QMarginsF(qreal_min, -qreal_min, qreal_min, -qreal_min) << true; +} + +void tst_QMargins::isNull() +{ + QFETCH(const QMarginsF, margins); + QFETCH(const bool, result); + + QCOMPARE_EQ(margins.isNull(), result); + QCOMPARE_EQ(qFuzzyIsNull(margins), result); + + const QMargins marginsInt = margins.toMargins(); + QCOMPARE_EQ(marginsInt.isNull(), result); +} + // Testing get/set functions void tst_QMargins::getSetCheck() { diff --git a/tests/auto/corelib/tools/qpoint/CMakeLists.txt b/tests/auto/corelib/tools/qpoint/CMakeLists.txt index f1402d8815..82ece1fc15 100644 --- a/tests/auto/corelib/tools/qpoint/CMakeLists.txt +++ b/tests/auto/corelib/tools/qpoint/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qpoint SOURCES tst_qpoint.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp b/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp index 7fea787131..4763c1bf07 100644 --- a/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp +++ b/tests/auto/corelib/tools/qpoint/tst_qpoint.cpp @@ -5,6 +5,7 @@ #ifdef QVARIANT_H # error "This test requires qpoint.h to not include qvariant.h" #endif +#include <private/qcomparisontesthelper_p.h> // don't assume <type_traits> template <typename T, typename U> @@ -71,6 +72,7 @@ private slots: void operator_unary_minus_data(); void operator_unary_minus(); + void operatorsCompile(); void operator_eq_data(); void operator_eq(); @@ -155,6 +157,8 @@ void tst_QPoint::toPointF() QFETCH(const QPointF, result); QCOMPARE(input.toPointF(), result); + // test also mixed-type comparison + QT_TEST_EQUALITY_OPS(input, result, true); } void tst_QPoint::transposed() @@ -350,6 +354,12 @@ void tst_QPoint::operator_unary_minus() QCOMPARE(-point, expected); } +void tst_QPoint::operatorsCompile() +{ + // Mixed-type comparison is tested in tst_QPointF. + QTestPrivate::testEqualityOperatorsCompile<QPoint>(); +} + void tst_QPoint::operator_eq_data() { QTest::addColumn<QPoint>("point1"); @@ -371,12 +381,9 @@ void tst_QPoint::operator_eq() QFETCH(QPoint, point2); QFETCH(bool, expectEqual); - bool equal = point1 == point2; - QCOMPARE(equal, expectEqual); - bool notEqual = point1 != point2; - QCOMPARE(notEqual, !expectEqual); + QT_TEST_EQUALITY_OPS(point1, point2, expectEqual); - if (equal) + if (expectEqual) QCOMPARE(qHash(point1), qHash(point2)); } diff --git a/tests/auto/corelib/tools/qpointf/CMakeLists.txt b/tests/auto/corelib/tools/qpointf/CMakeLists.txt index 16e5a9036a..28cbe185b2 100644 --- a/tests/auto/corelib/tools/qpointf/CMakeLists.txt +++ b/tests/auto/corelib/tools/qpointf/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qpointf SOURCES tst_qpointf.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp b/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp index 392c22c70a..ebbac4ec7c 100644 --- a/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp +++ b/tests/auto/corelib/tools/qpointf/tst_qpointf.cpp @@ -5,6 +5,7 @@ #ifdef QVARIANT_H # error "This test requires qpoint.h to not include qvariant.h" #endif +#include <private/qcomparisontesthelper_p.h> // don't assume <type_traits> template <typename T, typename U> @@ -71,9 +72,13 @@ private slots: void operator_unary_minus_data(); void operator_unary_minus(); + void operatorsCompile(); void operator_eq_data(); void operator_eq(); + void fuzzyCompare_data(); + void fuzzyCompare(); + void toPoint_data(); void toPoint(); @@ -101,15 +106,19 @@ void tst_QPointF::isNull() { QPointF point(0, 0); QVERIFY(point.isNull()); + QVERIFY(qFuzzyIsNull(point)); ++point.rx(); QVERIFY(!point.isNull()); + QVERIFY(!qFuzzyIsNull(point)); point.rx() -= 2; QVERIFY(!point.isNull()); + QVERIFY(!qFuzzyIsNull(point)); QPointF nullNegativeZero(qreal(-0.0), qreal(-0.0)); QCOMPARE(nullNegativeZero.x(), (qreal)-0.0f); QCOMPARE(nullNegativeZero.y(), (qreal)-0.0f); QVERIFY(nullNegativeZero.isNull()); + QVERIFY(qFuzzyIsNull(nullNegativeZero)); } void tst_QPointF::manhattanLength_data() @@ -345,21 +354,29 @@ void tst_QPointF::operator_unary_minus() QCOMPARE(-point, expected); } +void tst_QPointF::operatorsCompile() +{ + QTestPrivate::testEqualityOperatorsCompile<QPointF>(); + QTestPrivate::testEqualityOperatorsCompile<QPointF, QPoint>(); +} + void tst_QPointF::operator_eq_data() { QTest::addColumn<QPointF>("point1"); QTest::addColumn<QPointF>("point2"); QTest::addColumn<bool>("expectEqual"); - - QTest::newRow("(0, 0) == (0, 0)") << QPointF(0, 0) << QPointF(0, 0) << true; - QTest::newRow("(-1, 0) == (-1, 0)") << QPointF(-1, 0) << QPointF(-1, 0) << true; - QTest::newRow("(-1, 0) != (0, 0)") << QPointF(-1, 0) << QPointF(0, 0) << false; - QTest::newRow("(-1, 0) != (0, -1)") << QPointF(-1, 0) << QPointF(0, -1) << false; - QTest::newRow("(-1.125, 0.25) == (-1.125, 0.25)") << QPointF(-1.125, 0.25) << QPointF(-1.125, 0.25) << true; + QTest::addColumn<bool>("expectIntEqual"); + + QTest::newRow("(0, 0) == (0, 0)") << QPointF(0, 0) << QPointF(0, 0) << true << true; + QTest::newRow("(-1, 0) == (-1, 0)") << QPointF(-1, 0) << QPointF(-1, 0) << true << true; + QTest::newRow("(-1, 0) != (0, 0)") << QPointF(-1, 0) << QPointF(0, 0) << false << false; + QTest::newRow("(-1, 0) != (0, -1)") << QPointF(-1, 0) << QPointF(0, -1) << false << false; + QTest::newRow("(-1.125, 0.25) == (-1.125, 0.25)") + << QPointF(-1.125, 0.25) << QPointF(-1.125, 0.25) << true << false; QTest::newRow("(QREAL_MIN, QREAL_MIN) == (QREAL_MIN, QREAL_MIN)") - << QPointF(QREAL_MIN, QREAL_MIN) << QPointF(QREAL_MIN, QREAL_MIN) << true; + << QPointF(QREAL_MIN, QREAL_MIN) << QPointF(QREAL_MIN, QREAL_MIN) << true << true; QTest::newRow("(QREAL_MAX, QREAL_MAX) == (QREAL_MAX, QREAL_MAX)") - << QPointF(QREAL_MAX, QREAL_MAX) << QPointF(QREAL_MAX, QREAL_MAX) << true; + << QPointF(QREAL_MAX, QREAL_MAX) << QPointF(QREAL_MAX, QREAL_MAX) << true << false; } void tst_QPointF::operator_eq() @@ -367,11 +384,26 @@ void tst_QPointF::operator_eq() QFETCH(QPointF, point1); QFETCH(QPointF, point2); QFETCH(bool, expectEqual); + QFETCH(bool, expectIntEqual); + + QT_TEST_EQUALITY_OPS(point1, point2, expectEqual); + + const QPoint intPoint2 = point2.toPoint(); + QT_TEST_EQUALITY_OPS(point1, intPoint2, expectIntEqual); +} + +void tst_QPointF::fuzzyCompare_data() +{ + operator_eq_data(); +} + +void tst_QPointF::fuzzyCompare() +{ + QFETCH(QPointF, point1); + QFETCH(QPointF, point2); + QFETCH(bool, expectEqual); - bool equal = point1 == point2; - QCOMPARE(equal, expectEqual); - bool notEqual = point1 != point2; - QCOMPARE(notEqual, !expectEqual); + QCOMPARE_EQ(qFuzzyCompare(point1, point2), expectEqual); } void tst_QPointF::toPoint_data() diff --git a/tests/auto/corelib/tools/qrect/CMakeLists.txt b/tests/auto/corelib/tools/qrect/CMakeLists.txt index a02e1c33a5..c98c836379 100644 --- a/tests/auto/corelib/tools/qrect/CMakeLists.txt +++ b/tests/auto/corelib/tools/qrect/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qrect SOURCES tst_qrect.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qrect/tst_qrect.cpp b/tests/auto/corelib/tools/qrect/tst_qrect.cpp index 0f3dd1a0ef..c7c8b3a560 100644 --- a/tests/auto/corelib/tools/qrect/tst_qrect.cpp +++ b/tests/auto/corelib/tools/qrect/tst_qrect.cpp @@ -7,6 +7,8 @@ #include <limits.h> #include <qdebug.h> +#include <private/qcomparisontesthelper_p.h> + #include <array> class tst_QRect : public QObject @@ -33,8 +35,14 @@ public: static QPoint getQPointCase( QPointCases p ); private slots: + void comparisonCompiles(); + void comparison_data(); + void comparison(); + void fuzzyComparison_data(); + void fuzzyComparison(); void isNull_data(); void isNull(); + void fuzzyIsNull(); void newIsEmpty_data(); void newIsEmpty(); void newIsValid_data(); @@ -160,6 +168,8 @@ private slots: #define LARGE 1000000000 static bool isLarge(int x) { return x > LARGE || x < -LARGE; } +static constexpr qreal qreal_min = std::numeric_limits<qreal>::min(); + QRect tst_QRect::getQRectCase( QRectCases c ) { // Should return the best variety of possible QRects, if a @@ -242,6 +252,80 @@ QPoint tst_QRect::getQPointCase( QPointCases p ) } } +void tst_QRect::comparisonCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QRect>(); + QTestPrivate::testEqualityOperatorsCompile<QRectF>(); + QTestPrivate::testEqualityOperatorsCompile<QRectF, QRect>(); +} + +void tst_QRect::comparison_data() +{ + QTest::addColumn<QRectF>("lhsF"); + QTest::addColumn<QRectF>("rhsF"); + QTest::addColumn<bool>("result"); + QTest::addColumn<bool>("floatResult"); + QTest::addColumn<bool>("mixedResult"); + + QTest::newRow("Invalid_vs_Invalid") << getQRectCase(InvalidQRect).toRectF() + << getQRectCase(InvalidQRect).toRectF() + << true << true << true; + + QTest::newRow("Null_vs_Null") << getQRectCase(NullQRect).toRectF() + << getQRectCase(NullQRect).toRectF() + << true << true << true; + + QTest::newRow("Empty_vs_Empty") << getQRectCase(EmptyQRect).toRectF() + << getQRectCase(EmptyQRect).toRectF() + << true << true << true; + + QTest::newRow("NegativeSize_vs_NegativeSize") << getQRectCase(NegativeSizeQRect).toRectF() + << getQRectCase(NegativeSizeQRect).toRectF() + << true << true << true; + + QTest::newRow("Invalid_vs_Null") << getQRectCase(InvalidQRect).toRectF() + << getQRectCase(NullQRect).toRectF() + << false << false << false; + + QTest::newRow("NearlySimilar") << QRectF(QPointF(1.1, 9.9), QPointF(9.9, 1.1)) + << QRectF(QPointF(1., 10.), QPointF(10., 1.)) + << true << false << true; + + QTest::newRow("WithQREAL_MIN") << QRectF(QPointF(0., -10.), QPointF(-1., 0.)) + << QRectF(QPointF(-qreal_min, -10.), QPointF(-1., qreal_min)) + << true << true << true; +} + +void tst_QRect::comparison() +{ + QFETCH(const QRectF, lhsF); + QFETCH(const QRectF, rhsF); + QFETCH(const bool, result); + QFETCH(const bool, floatResult); + QFETCH(const bool, mixedResult); + + const QRect lhs = lhsF.toRect(); + const QRect rhs = rhsF.toRect(); + + QT_TEST_EQUALITY_OPS(lhs, rhs, result); + QT_TEST_EQUALITY_OPS(lhsF, rhsF, floatResult); + QT_TEST_EQUALITY_OPS(lhs, rhsF, mixedResult); +} + +void tst_QRect::fuzzyComparison_data() +{ + comparison_data(); +} + +void tst_QRect::fuzzyComparison() +{ + QFETCH(const QRectF, lhsF); + QFETCH(const QRectF, rhsF); + QFETCH(const bool, floatResult); + + QCOMPARE_EQ(qFuzzyCompare(lhsF, rhsF), floatResult); +} + void tst_QRect::isNull_data() { QTest::addColumn<QRect>("r"); @@ -271,6 +355,14 @@ void tst_QRect::isNull() QVERIFY( rf.isNull() == isNull ); } +void tst_QRect::fuzzyIsNull() +{ + QRectF rf(QPointF(-qreal_min, qreal_min), QPointF(qreal_min, -qreal_min)); + + QVERIFY(!rf.isNull()); // QRectF::isNull() does strict comparison + QVERIFY(qFuzzyIsNull(rf)); +} + void tst_QRect::newIsEmpty_data() { QTest::addColumn<QRect>("r"); diff --git a/tests/auto/corelib/tools/qsize/CMakeLists.txt b/tests/auto/corelib/tools/qsize/CMakeLists.txt index 91de696ddd..4a4c96b52c 100644 --- a/tests/auto/corelib/tools/qsize/CMakeLists.txt +++ b/tests/auto/corelib/tools/qsize/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qsize SOURCES tst_qsize.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qsize/tst_qsize.cpp b/tests/auto/corelib/tools/qsize/tst_qsize.cpp index c9699c5e76..d379275dd8 100644 --- a/tests/auto/corelib/tools/qsize/tst_qsize.cpp +++ b/tests/auto/corelib/tools/qsize/tst_qsize.cpp @@ -24,6 +24,7 @@ CHECK(const &&); #undef CHECK #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <qsize.h> #include <array> @@ -34,6 +35,10 @@ class tst_QSize : public QObject { Q_OBJECT private slots: + void compareCompiles(); + void compare_data(); + void compare(); + void getSetCheck(); void scale(); @@ -55,6 +60,38 @@ private slots: void structuredBinding(); }; +void tst_QSize::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QSize>(); +} + +void tst_QSize::compare_data() +{ + QTest::addColumn<QSize>("lhs"); + QTest::addColumn<QSize>("rhs"); + QTest::addColumn<bool>("result"); + + auto row = [](QSize lhs, QSize rhs, bool res) { + QTest::addRow("(%d, %d) vs (%d, %d)", lhs.width(), lhs.height(), rhs.width(), rhs.height()) + << lhs << rhs << res; + }; + + row(QSize(0, 0), QSize(0, 0), true); + row(QSize(1, 0), QSize(0, 1), false); + row(QSize(-1, -1), QSize(-1, -1), true); + row(QSize(-1, -1), QSize(1, 1), false); + row(QSize(INT_MIN, INT_MAX), QSize(INT_MAX, INT_MIN), false); +} + +void tst_QSize::compare() +{ + QFETCH(QSize, lhs); + QFETCH(QSize, rhs); + QFETCH(bool, result); + + QT_TEST_EQUALITY_OPS(lhs, rhs, result); +} + // Testing get/set functions void tst_QSize::getSetCheck() { diff --git a/tests/auto/corelib/tools/qsizef/CMakeLists.txt b/tests/auto/corelib/tools/qsizef/CMakeLists.txt index 9adaafe2ea..d8a1c7f46e 100644 --- a/tests/auto/corelib/tools/qsizef/CMakeLists.txt +++ b/tests/auto/corelib/tools/qsizef/CMakeLists.txt @@ -14,4 +14,6 @@ endif() qt_internal_add_test(tst_qsizef SOURCES tst_qsizef.cpp + LIBRARIES + Qt::TestPrivate ) diff --git a/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp b/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp index ee33fa13b6..bb087e89de 100644 --- a/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp +++ b/tests/auto/corelib/tools/qsizef/tst_qsizef.cpp @@ -24,17 +24,30 @@ CHECK(const &&); #undef CHECK #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <qsize.h> Q_DECLARE_METATYPE(QMarginsF) +static constexpr qreal qreal_min = std::numeric_limits<qreal>::min(); + class tst_QSizeF : public QObject { Q_OBJECT private slots: + void compareCompiles(); + void compare_data(); + void compare(); + + void fuzzyCompare_data(); + void fuzzyCompare(); + void isNull_data(); void isNull(); + void fuzzyIsNull_data(); + void fuzzyIsNull(); + void scale(); void expandedTo(); @@ -52,6 +65,61 @@ private slots: void structuredBinding(); }; +void tst_QSizeF::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QSizeF>(); + QTestPrivate::testEqualityOperatorsCompile<QSizeF, QSize>(); +} + +void tst_QSizeF::compare_data() +{ + QTest::addColumn<QSizeF>("lhs"); + QTest::addColumn<QSizeF>("rhs"); + QTest::addColumn<bool>("result"); + QTest::addColumn<bool>("mixedResult"); + + auto row = [&](QSizeF lhs, QSizeF rhs, bool res, bool mixedRes) { + QString str; + QDebug dbg(&str); + dbg.nospace() << "(" << lhs.width() << ", " << lhs.height() << ") vs " + << "(" << rhs.width() << ", " << rhs.height() << ")"; + QTest::addRow("%s", str.toLatin1().constData()) << lhs << rhs << res << mixedRes; + }; + + row(QSizeF(0.0, 0.0), QSizeF(0.0, 0.0), true, true); + row(QSizeF(1.0, 2.0), QSizeF(1.0, 2.0), true, true); + row(QSizeF(1.0, -1.0), QSizeF(-1.0, 1.0), false, false); + row(QSizeF(0.1, 1.1), QSizeF(0.1, 1.1), true, false); + row(QSizeF(qreal_min, 0.0), QSizeF(0.0, -qreal_min), true, true); +} + +void tst_QSizeF::compare() +{ + QFETCH(QSizeF, lhs); + QFETCH(QSizeF, rhs); + QFETCH(bool, result); + QFETCH(bool, mixedResult); + + QT_TEST_EQUALITY_OPS(lhs, rhs, result); + + const QSize rhsFixed = rhs.toSize(); + QT_TEST_EQUALITY_OPS(lhs, rhsFixed, mixedResult); +} + +void tst_QSizeF::fuzzyCompare_data() +{ + compare_data(); +} + +void tst_QSizeF::fuzzyCompare() +{ + QFETCH(QSizeF, lhs); + QFETCH(QSizeF, rhs); + QFETCH(bool, result); + + QCOMPARE_EQ(qFuzzyCompare(lhs, rhs), result); +} + void tst_QSizeF::isNull_data() { QTest::addColumn<qreal>("width"); @@ -66,6 +134,7 @@ void tst_QSizeF::isNull_data() QTest::newRow("0, -0.1") << qreal(0) << qreal(-0.1) << false; QTest::newRow("0.1, 0") << qreal(0.1) << qreal(0) << false; QTest::newRow("0, 0.1") << qreal(0) << qreal(0.1) << false; + QTest::newRow("qreal_min, -qreal_min") << qreal_min << -qreal_min << false; } void tst_QSizeF::isNull() @@ -80,6 +149,33 @@ void tst_QSizeF::isNull() QCOMPARE(size.isNull(), isNull); } +void tst_QSizeF::fuzzyIsNull_data() +{ + QTest::addColumn<qreal>("width"); + QTest::addColumn<qreal>("height"); + QTest::addColumn<bool>("fuzzyNull"); + + QTest::newRow("0, 0") << qreal(0.0) << qreal(0.0) << true; + QTest::newRow("-0, -0") << qreal(-0.0) << qreal(-0.0) << true; + QTest::newRow("0, -0") << qreal(0) << qreal(-0.0) << true; + QTest::newRow("-0, 0") << qreal(-0.0) << qreal(0) << true; + QTest::newRow("-0.1, 0") << qreal(-0.1) << qreal(0) << false; + QTest::newRow("0, -0.1") << qreal(0) << qreal(-0.1) << false; + QTest::newRow("0.1, 0") << qreal(0.1) << qreal(0) << false; + QTest::newRow("0, 0.1") << qreal(0) << qreal(0.1) << false; + QTest::newRow("qreal_min, -qreal_min") << qreal_min << -qreal_min << true; +} + +void tst_QSizeF::fuzzyIsNull() +{ + QFETCH(qreal, width); + QFETCH(qreal, height); + QFETCH(bool, fuzzyNull); + + QSizeF size(width, height); + QCOMPARE(qFuzzyIsNull(size), fuzzyNull); +} + void tst_QSizeF::scale() { QSizeF t1(10.4, 12.8); t1.scale(60.6, 60.6, Qt::IgnoreAspectRatio); diff --git a/tests/auto/corelib/tools/qspan/tst_qspan.cpp b/tests/auto/corelib/tools/qspan/tst_qspan.cpp index 91d2ecf739..b8fcd0cdde 100644 --- a/tests/auto/corelib/tools/qspan/tst_qspan.cpp +++ b/tests/auto/corelib/tools/qspan/tst_qspan.cpp @@ -173,7 +173,7 @@ void tst_QSpan::onlyZeroExtentSpansHaveDefaultCtors() const void tst_QSpan::zeroExtentSpansMaintainADataPointer() const { - int i; + int i = 0; QSpan<int, 0> si{&i, 0}; QCOMPARE(si.data(), &i); check_empty_span_incl_subspans(si); diff --git a/tests/auto/corelib/tools/qversionnumber/CMakeLists.txt b/tests/auto/corelib/tools/qversionnumber/CMakeLists.txt index 8f6ed66841..5b9fa60c64 100644 --- a/tests/auto/corelib/tools/qversionnumber/CMakeLists.txt +++ b/tests/auto/corelib/tools/qversionnumber/CMakeLists.txt @@ -14,6 +14,8 @@ endif() qt_internal_add_test(tst_qversionnumber SOURCES tst_qversionnumber.cpp + LIBRARIES + Qt::TestPrivate ) ## Scopes: diff --git a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp index da9dcc9366..5ccf56c1d1 100644 --- a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp +++ b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp @@ -3,6 +3,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> +#include <QtTest/private/qcomparisontesthelper_p.h> #include <QtCore/qversionnumber.h> #include <QtCore/qlibraryinfo.h> @@ -16,24 +17,15 @@ private: private slots: void initTestCase(); + void compareCompiles(); void constructorDefault(); void constructorVersioned_data(); void constructorVersioned(); void constructorExplicit(); void constructorCopy_data(); void constructorCopy(); - void compareGreater_data(); - void compareGreater(); - void compareGreaterEqual_data(); - void compareGreaterEqual(); - void compareLess_data(); - void compareLess(); - void compareLessEqual_data(); - void compareLessEqual(); - void compareEqual_data(); - void compareEqual(); - void compareNotEqual_data(); - void compareNotEqual(); + void comparisonOperators_data(); + void comparisonOperators(); void compare_data(); void compare(); void isPrefixOf_data(); @@ -121,74 +113,69 @@ void tst_QVersionNumber::comparisonData() { QTest::addColumn<QVersionNumber>("lhs"); QTest::addColumn<QVersionNumber>("rhs"); - QTest::addColumn<bool>("equal"); - QTest::addColumn<bool>("notEqual"); - QTest::addColumn<bool>("lessThan"); - QTest::addColumn<bool>("lessThanOrEqual"); - QTest::addColumn<bool>("greaterThan"); - QTest::addColumn<bool>("greaterThanOrEqual"); + QTest::addColumn<Qt::strong_ordering>("ordering"); QTest::addColumn<int>("compareResult"); QTest::addColumn<bool>("isPrefix"); QTest::addColumn<QVersionNumber>("common"); - // LHS RHS == != < <= > >= compareResult isPrefixOf commonPrefix - QTest::newRow("null, null") << QVersionNumber() << QVersionNumber() << true << false << false << true << false << true << 0 << true << QVersionNumber(); - QTest::newRow("null, 0") << QVersionNumber() << QVersionNumber(0) << false << true << true << true << false << false << -1 << true << QVersionNumber(); - QTest::newRow("0, null") << QVersionNumber(0) << QVersionNumber() << false << true << false << false << true << true << 1 << false << QVersionNumber(); - QTest::newRow("0, 0") << QVersionNumber(0) << QVersionNumber(0) << true << false << false << true << false << true << 0 << true << QVersionNumber(0); - QTest::newRow("1.0, 1.0") << QVersionNumber(1, 0) << QVersionNumber(1, 0) << true << false << false << true << false << true << 0 << true << QVersionNumber(1, 0); - QTest::newRow("1, 1.0") << QVersionNumber(1) << QVersionNumber(1, 0) << false << true << true << true << false << false << -1 << true << QVersionNumber(1); - QTest::newRow("1.0, 1") << QVersionNumber(1, 0) << QVersionNumber(1) << false << true << false << false << true << true << 1 << false << QVersionNumber(1); - - QTest::newRow("0.1.2, 0.1") << QVersionNumber(0, 1, 2) << QVersionNumber(0, 1) << false << true << false << false << true << true << 2 << false << QVersionNumber(0, 1); - QTest::newRow("0.1, 0.1.2") << QVersionNumber(0, 1) << QVersionNumber(0, 1, 2) << false << true << true << true << false << false << -2 << true << QVersionNumber(0, 1); - QTest::newRow("0.1.2, 0.1.2") << QVersionNumber(0, 1, 2) << QVersionNumber(0, 1, 2) << true << false << false << true << false << true << 0 << true << QVersionNumber(0, 1, 2); - QTest::newRow("0.1.2, 1.1.2") << QVersionNumber(0, 1, 2) << QVersionNumber(1, 1, 2) << false << true << true << true << false << false << -1 << false << QVersionNumber(); - QTest::newRow("1.1.2, 0.1.2") << QVersionNumber(1, 1, 2) << QVersionNumber(0, 1, 2) << false << true << false << false << true << true << 1 << false << QVersionNumber(); - QTest::newRow("1, -1") << QVersionNumber(1) << QVersionNumber(-1) << false << true << false << false << true << true << 2 << false << QVersionNumber(); - QTest::newRow("-1, 1") << QVersionNumber(-1) << QVersionNumber(1) << false << true << true << true << false << false << -2 << false << QVersionNumber(); - QTest::newRow("0.1, 0.-1") << QVersionNumber(0, 1) << QVersionNumber(0, -1) << false << true << false << false << true << true << 2 << false << QVersionNumber(0); - QTest::newRow("0.-1, 0.1") << QVersionNumber(0, -1) << QVersionNumber(0, 1) << false << true << true << true << false << false << -2 << false << QVersionNumber(0); - QTest::newRow("0.-1, 0") << QVersionNumber(0, -1) << QVersionNumber(0) << false << true << true << true << false << false << -1 << false << QVersionNumber(0); - QTest::newRow("0, 0.-1") << QVersionNumber(0) << QVersionNumber(0, -1) << false << true << false << false << true << true << 1 << true << QVersionNumber(0); - - QTest::newRow("0.127.2, 0.127") << QVersionNumber(0, 127, 2) << QVersionNumber(0, 127) << false << true << false << false << true << true << 2 << false << QVersionNumber(0, 127); - QTest::newRow("0.127, 0.127.2") << QVersionNumber(0, 127) << QVersionNumber(0, 127, 2) << false << true << true << true << false << false << -2 << true << QVersionNumber(0, 127); - QTest::newRow("0.127.2, 0.127.2") << QVersionNumber(0, 127, 2) << QVersionNumber(0, 127, 2) << true << false << false << true << false << true << 0 << true << QVersionNumber(0, 127, 2); - QTest::newRow("0.127.2, 127.127.2") << QVersionNumber(0, 127, 2) << QVersionNumber(127, 127, 2) << false << true << true << true << false << false << -127 << false << QVersionNumber(); - QTest::newRow("127.127.2, 0.127.2") << QVersionNumber(127, 127, 2) << QVersionNumber(0, 127, 2) << false << true << false << false << true << true << 127 << false << QVersionNumber(); - QTest::newRow("127, -128") << QVersionNumber(127) << QVersionNumber(-128) << false << true << false << false << true << true << 255 << false << QVersionNumber(); - QTest::newRow("-128, 127") << QVersionNumber(-128) << QVersionNumber(127) << false << true << true << true << false << false << -255 << false << QVersionNumber(); - QTest::newRow("0.127, 0.-128") << QVersionNumber(0, 127) << QVersionNumber(0, -128) << false << true << false << false << true << true << 255 << false << QVersionNumber(0); - QTest::newRow("0.-128, 0.127") << QVersionNumber(0, -128) << QVersionNumber(0, 127) << false << true << true << true << false << false << -255 << false << QVersionNumber(0); - QTest::newRow("0.-128, 0") << QVersionNumber(0, -128) << QVersionNumber(0) << false << true << true << true << false << false << -128 << false << QVersionNumber(0); - QTest::newRow("0, 0.-128") << QVersionNumber(0) << QVersionNumber(0, -128) << false << true << false << false << true << true << 128 << true << QVersionNumber(0); - - QTest::newRow("0.128.2, 0.128") << QVersionNumber(0, 128, 2) << QVersionNumber(0, 128) << false << true << false << false << true << true << 2 << false << QVersionNumber(0, 128); - QTest::newRow("0.128, 0.128.2") << QVersionNumber(0, 128) << QVersionNumber(0, 128, 2) << false << true << true << true << false << false << -2 << true << QVersionNumber(0, 128); - QTest::newRow("0.128.2, 0.128.2") << QVersionNumber(0, 128, 2) << QVersionNumber(0, 128, 2) << true << false << false << true << false << true << 0 << true << QVersionNumber(0, 128, 2); - QTest::newRow("0.128.2, 128.128.2") << QVersionNumber(0, 128, 2) << QVersionNumber(128, 128, 2) << false << true << true << true << false << false << -128 << false << QVersionNumber(); - QTest::newRow("128.128.2, 0.128.2") << QVersionNumber(128, 128, 2) << QVersionNumber(0, 128, 2) << false << true << false << false << true << true << 128 << false << QVersionNumber(); - QTest::newRow("128, -129") << QVersionNumber(128) << QVersionNumber(-129) << false << true << false << false << true << true << 257 << false << QVersionNumber(); - QTest::newRow("-129, 128") << QVersionNumber(-129) << QVersionNumber(128) << false << true << true << true << false << false << -257 << false << QVersionNumber(); - QTest::newRow("0.128, 0.-129") << QVersionNumber(0, 128) << QVersionNumber(0, -129) << false << true << false << false << true << true << 257 << false << QVersionNumber(0); - QTest::newRow("0.-129, 0.128") << QVersionNumber(0, -129) << QVersionNumber(0, 128) << false << true << true << true << false << false << -257 << false << QVersionNumber(0); - QTest::newRow("0.-129, 0") << QVersionNumber(0, -129) << QVersionNumber(0) << false << true << true << true << false << false << -129 << false << QVersionNumber(0); - QTest::newRow("0, 0.-129") << QVersionNumber(0) << QVersionNumber(0, -129) << false << true << false << false << true << true << 129 << true << QVersionNumber(0); + // LHS RHS ordering compareResult isPrefixOf commonPrefix + QTest::newRow("null, null") << QVersionNumber() << QVersionNumber() << Qt::strong_ordering::equal << 0 << true << QVersionNumber(); + QTest::newRow("null, 0") << QVersionNumber() << QVersionNumber(0) << Qt::strong_ordering::less << -1 << true << QVersionNumber(); + QTest::newRow("0, null") << QVersionNumber(0) << QVersionNumber() << Qt::strong_ordering::greater << 1 << false << QVersionNumber(); + QTest::newRow("0, 0") << QVersionNumber(0) << QVersionNumber(0) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(0); + QTest::newRow("1.0, 1.0") << QVersionNumber(1, 0) << QVersionNumber(1, 0) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(1, 0); + QTest::newRow("1, 1.0") << QVersionNumber(1) << QVersionNumber(1, 0) << Qt::strong_ordering::less << -1 << true << QVersionNumber(1); + QTest::newRow("1.0, 1") << QVersionNumber(1, 0) << QVersionNumber(1) << Qt::strong_ordering::greater << 1 << false << QVersionNumber(1); + + QTest::newRow("0.1.2, 0.1") << QVersionNumber(0, 1, 2) << QVersionNumber(0, 1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(0, 1); + QTest::newRow("0.1, 0.1.2") << QVersionNumber(0, 1) << QVersionNumber(0, 1, 2) << Qt::strong_ordering::less << -2 << true << QVersionNumber(0, 1); + QTest::newRow("0.1.2, 0.1.2") << QVersionNumber(0, 1, 2) << QVersionNumber(0, 1, 2) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(0, 1, 2); + QTest::newRow("0.1.2, 1.1.2") << QVersionNumber(0, 1, 2) << QVersionNumber(1, 1, 2) << Qt::strong_ordering::less << -1 << false << QVersionNumber(); + QTest::newRow("1.1.2, 0.1.2") << QVersionNumber(1, 1, 2) << QVersionNumber(0, 1, 2) << Qt::strong_ordering::greater << 1 << false << QVersionNumber(); + QTest::newRow("1, -1") << QVersionNumber(1) << QVersionNumber(-1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(); + QTest::newRow("-1, 1") << QVersionNumber(-1) << QVersionNumber(1) << Qt::strong_ordering::less << -2 << false << QVersionNumber(); + QTest::newRow("0.1, 0.-1") << QVersionNumber(0, 1) << QVersionNumber(0, -1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(0); + QTest::newRow("0.-1, 0.1") << QVersionNumber(0, -1) << QVersionNumber(0, 1) << Qt::strong_ordering::less << -2 << false << QVersionNumber(0); + QTest::newRow("0.-1, 0") << QVersionNumber(0, -1) << QVersionNumber(0) << Qt::strong_ordering::less << -1 << false << QVersionNumber(0); + QTest::newRow("0, 0.-1") << QVersionNumber(0) << QVersionNumber(0, -1) << Qt::strong_ordering::greater << 1 << true << QVersionNumber(0); + + QTest::newRow("0.127.2, 0.127") << QVersionNumber(0, 127, 2) << QVersionNumber(0, 127) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(0, 127); + QTest::newRow("0.127, 0.127.2") << QVersionNumber(0, 127) << QVersionNumber(0, 127, 2) << Qt::strong_ordering::less << -2 << true << QVersionNumber(0, 127); + QTest::newRow("0.127.2, 0.127.2") << QVersionNumber(0, 127, 2) << QVersionNumber(0, 127, 2) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(0, 127, 2); + QTest::newRow("0.127.2, 127.127.2") << QVersionNumber(0, 127, 2) << QVersionNumber(127, 127, 2) << Qt::strong_ordering::less << -127 << false << QVersionNumber(); + QTest::newRow("127.127.2, 0.127.2") << QVersionNumber(127, 127, 2) << QVersionNumber(0, 127, 2) << Qt::strong_ordering::greater << 127 << false << QVersionNumber(); + QTest::newRow("127, -128") << QVersionNumber(127) << QVersionNumber(-128) << Qt::strong_ordering::greater << 255 << false << QVersionNumber(); + QTest::newRow("-128, 127") << QVersionNumber(-128) << QVersionNumber(127) << Qt::strong_ordering::less << -255 << false << QVersionNumber(); + QTest::newRow("0.127, 0.-128") << QVersionNumber(0, 127) << QVersionNumber(0, -128) << Qt::strong_ordering::greater << 255 << false << QVersionNumber(0); + QTest::newRow("0.-128, 0.127") << QVersionNumber(0, -128) << QVersionNumber(0, 127) << Qt::strong_ordering::less << -255 << false << QVersionNumber(0); + QTest::newRow("0.-128, 0") << QVersionNumber(0, -128) << QVersionNumber(0) << Qt::strong_ordering::less << -128 << false << QVersionNumber(0); + QTest::newRow("0, 0.-128") << QVersionNumber(0) << QVersionNumber(0, -128) << Qt::strong_ordering::greater << 128 << true << QVersionNumber(0); + + QTest::newRow("0.128.2, 0.128") << QVersionNumber(0, 128, 2) << QVersionNumber(0, 128) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(0, 128); + QTest::newRow("0.128, 0.128.2") << QVersionNumber(0, 128) << QVersionNumber(0, 128, 2) << Qt::strong_ordering::less << -2 << true << QVersionNumber(0, 128); + QTest::newRow("0.128.2, 0.128.2") << QVersionNumber(0, 128, 2) << QVersionNumber(0, 128, 2) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(0, 128, 2); + QTest::newRow("0.128.2, 128.128.2") << QVersionNumber(0, 128, 2) << QVersionNumber(128, 128, 2) << Qt::strong_ordering::less << -128 << false << QVersionNumber(); + QTest::newRow("128.128.2, 0.128.2") << QVersionNumber(128, 128, 2) << QVersionNumber(0, 128, 2) << Qt::strong_ordering::greater << 128 << false << QVersionNumber(); + QTest::newRow("128, -129") << QVersionNumber(128) << QVersionNumber(-129) << Qt::strong_ordering::greater << 257 << false << QVersionNumber(); + QTest::newRow("-129, 128") << QVersionNumber(-129) << QVersionNumber(128) << Qt::strong_ordering::less << -257 << false << QVersionNumber(); + QTest::newRow("0.128, 0.-129") << QVersionNumber(0, 128) << QVersionNumber(0, -129) << Qt::strong_ordering::greater << 257 << false << QVersionNumber(0); + QTest::newRow("0.-129, 0.128") << QVersionNumber(0, -129) << QVersionNumber(0, 128) << Qt::strong_ordering::less << -257 << false << QVersionNumber(0); + QTest::newRow("0.-129, 0") << QVersionNumber(0, -129) << QVersionNumber(0) << Qt::strong_ordering::less << -129 << false << QVersionNumber(0); + QTest::newRow("0, 0.-129") << QVersionNumber(0) << QVersionNumber(0, -129) << Qt::strong_ordering::greater << 129 << true << QVersionNumber(0); const QList<int> common = QList<int>({ 0, 1, 2, 3, 4, 5, 6 }); using namespace UglyOperator; - QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.0.1") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 0 + 1) << false << true << false << false << true << true << 2 << false << QVersionNumber(common + 0 + 1); - QTest::newRow("0.1.2.3.4.5.6.0.1, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 0 + 1) << QVersionNumber(common + 0 + 1 + 2) << false << true << true << true << false << false << -2 << true << QVersionNumber(common + 0 + 1); - QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 0 + 1 + 2) << true << false << false << true << false << true << 0 << true << QVersionNumber(common + 0 + 1 + 2); - QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.1.1.2") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 1 + 1 + 2) << false << true << true << true << false << false << -1 << false << QVersionNumber(common); - QTest::newRow("0.1.2.3.4.5.6.1.1.2, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 1 + 1 + 2) << QVersionNumber(common + 0 + 1 + 2) << false << true << false << false << true << true << 1 << false << QVersionNumber(common); - QTest::newRow("0.1.2.3.4.5.6.1, 0.1.2.3.4.5.6.-1") << QVersionNumber(common + 1) << QVersionNumber(common + -1) << false << true << false << false << true << true << 2 << false << QVersionNumber(common); - QTest::newRow("0.1.2.3.4.5.6.-1, 0.1.2.3.4.5.6.1") << QVersionNumber(common + -1) << QVersionNumber(common + 1) << false << true << true << true << false << false << -2 << false << QVersionNumber(common); - QTest::newRow("0.1.2.3.4.5.6.0.1, 0.1.2.3.4.5.6.0.-1") << QVersionNumber(common + 0 + 1) << QVersionNumber(common + 0 + -1) << false << true << false << false << true << true << 2 << false << QVersionNumber(common + 0); - QTest::newRow("0.1.2.3.4.5.6.0.-1, 0.1.2.3.4.5.6.0.1") << QVersionNumber(common + 0 + -1) << QVersionNumber(common + 0 + 1) << false << true << true << true << false << false << -2 << false << QVersionNumber(common + 0); - QTest::newRow("0.1.2.3.4.5.6.0.-1, 0.1.2.3.4.5.6.0") << QVersionNumber(common + 0 + -1) << QVersionNumber(common + 0) << false << true << true << true << false << false << -1 << false << QVersionNumber(common + 0); - QTest::newRow("0.1.2.3.4.5.6.0, 0.1.2.3.4.5.6.0.-1") << QVersionNumber(common + 0) << QVersionNumber(common + 0 + -1) << false << true << false << false << true << true << 1 << true << QVersionNumber(common + 0); + QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.0.1") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 0 + 1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(common + 0 + 1); + QTest::newRow("0.1.2.3.4.5.6.0.1, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 0 + 1) << QVersionNumber(common + 0 + 1 + 2) << Qt::strong_ordering::less << -2 << true << QVersionNumber(common + 0 + 1); + QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 0 + 1 + 2) << Qt::strong_ordering::equal << 0 << true << QVersionNumber(common + 0 + 1 + 2); + QTest::newRow("0.1.2.3.4.5.6.0.1.2, 0.1.2.3.4.5.6.1.1.2") << QVersionNumber(common + 0 + 1 + 2) << QVersionNumber(common + 1 + 1 + 2) << Qt::strong_ordering::less << -1 << false << QVersionNumber(common); + QTest::newRow("0.1.2.3.4.5.6.1.1.2, 0.1.2.3.4.5.6.0.1.2") << QVersionNumber(common + 1 + 1 + 2) << QVersionNumber(common + 0 + 1 + 2) << Qt::strong_ordering::greater << 1 << false << QVersionNumber(common); + QTest::newRow("0.1.2.3.4.5.6.1, 0.1.2.3.4.5.6.-1") << QVersionNumber(common + 1) << QVersionNumber(common + -1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(common); + QTest::newRow("0.1.2.3.4.5.6.-1, 0.1.2.3.4.5.6.1") << QVersionNumber(common + -1) << QVersionNumber(common + 1) << Qt::strong_ordering::less << -2 << false << QVersionNumber(common); + QTest::newRow("0.1.2.3.4.5.6.0.1, 0.1.2.3.4.5.6.0.-1") << QVersionNumber(common + 0 + 1) << QVersionNumber(common + 0 + -1) << Qt::strong_ordering::greater << 2 << false << QVersionNumber(common + 0); + QTest::newRow("0.1.2.3.4.5.6.0.-1, 0.1.2.3.4.5.6.0.1") << QVersionNumber(common + 0 + -1) << QVersionNumber(common + 0 + 1) << Qt::strong_ordering::less << -2 << false << QVersionNumber(common + 0); + QTest::newRow("0.1.2.3.4.5.6.0.-1, 0.1.2.3.4.5.6.0") << QVersionNumber(common + 0 + -1) << QVersionNumber(common + 0) << Qt::strong_ordering::less << -1 << false << QVersionNumber(common + 0); + QTest::newRow("0.1.2.3.4.5.6.0, 0.1.2.3.4.5.6.0.-1") << QVersionNumber(common + 0) << QVersionNumber(common + 0 + -1) << Qt::strong_ordering::greater << 1 << true << QVersionNumber(common + 0); } void tst_QVersionNumber::initTestCase() @@ -196,6 +183,11 @@ void tst_QVersionNumber::initTestCase() qRegisterMetaType<QList<int>>(); } +void tst_QVersionNumber::compareCompiles() +{ + QTestPrivate::testAllComparisonOperatorsCompile<QVersionNumber>(); +} + void tst_QVersionNumber::constructorDefault() { QVersionNumber version; @@ -270,88 +262,18 @@ void tst_QVersionNumber::constructorCopy() QCOMPARE(version.segments(), expectedVersion.segments()); } -void tst_QVersionNumber::compareGreater_data() -{ - comparisonData(); -} - -void tst_QVersionNumber::compareGreater() -{ - QFETCH(QVersionNumber, lhs); - QFETCH(QVersionNumber, rhs); - QFETCH(bool, greaterThan); - - QCOMPARE(lhs > rhs, greaterThan); -} - -void tst_QVersionNumber::compareGreaterEqual_data() -{ - comparisonData(); -} - -void tst_QVersionNumber::compareGreaterEqual() -{ - QFETCH(QVersionNumber, lhs); - QFETCH(QVersionNumber, rhs); - QFETCH(bool, greaterThanOrEqual); - - QCOMPARE(lhs >= rhs, greaterThanOrEqual); -} - -void tst_QVersionNumber::compareLess_data() -{ - comparisonData(); -} - -void tst_QVersionNumber::compareLess() -{ - QFETCH(QVersionNumber, lhs); - QFETCH(QVersionNumber, rhs); - QFETCH(bool, lessThan); - - QCOMPARE(lhs < rhs, lessThan); -} - -void tst_QVersionNumber::compareLessEqual_data() -{ - comparisonData(); -} - -void tst_QVersionNumber::compareLessEqual() -{ - QFETCH(QVersionNumber, lhs); - QFETCH(QVersionNumber, rhs); - QFETCH(bool, lessThanOrEqual); - - QCOMPARE(lhs <= rhs, lessThanOrEqual); -} - -void tst_QVersionNumber::compareEqual_data() -{ - comparisonData(); -} - -void tst_QVersionNumber::compareEqual() -{ - QFETCH(QVersionNumber, lhs); - QFETCH(QVersionNumber, rhs); - QFETCH(bool, equal); - - QCOMPARE(lhs == rhs, equal); -} - -void tst_QVersionNumber::compareNotEqual_data() +void tst_QVersionNumber::comparisonOperators_data() { comparisonData(); } -void tst_QVersionNumber::compareNotEqual() +void tst_QVersionNumber::comparisonOperators() { QFETCH(QVersionNumber, lhs); QFETCH(QVersionNumber, rhs); - QFETCH(bool, notEqual); + QFETCH(Qt::strong_ordering, ordering); - QCOMPARE(lhs != rhs, notEqual); + QT_TEST_ALL_COMPARISON_OPS(lhs, rhs, ordering); } void tst_QVersionNumber::compare_data() @@ -394,7 +316,7 @@ void tst_QVersionNumber::commonPrefix() QFETCH(QVersionNumber, common); QVersionNumber calculatedPrefix = QVersionNumber::commonPrefix(lhs, rhs); - QCOMPARE(calculatedPrefix, common); + QT_TEST_EQUALITY_OPS(calculatedPrefix, common, true); QCOMPARE(calculatedPrefix.segments(), common.segments()); } @@ -530,18 +452,18 @@ void tst_QVersionNumber::fromString_extra() // when passing explicit nullptr: { auto v = QVersionNumber::fromString("1.2.3-rc1", nullptr); - QCOMPARE(v, QVersionNumber({1, 2, 3})); + QT_TEST_EQUALITY_OPS(v, QVersionNumber({1, 2, 3}), true); } { auto v = QVersionNumber::fromString("1.2.3-rc1", 0); - QCOMPARE(v, QVersionNumber({1, 2, 3})); + QT_TEST_EQUALITY_OPS(v, QVersionNumber({1, 2, 3}), true); } // check the UTF16->L1 conversion isn't doing something weird { qsizetype i = -1; auto v = QVersionNumber::fromString(u"1.0ı", &i); // LATIN SMALL LETTER DOTLESS I - QCOMPARE(v, QVersionNumber(1, 0)); + QT_TEST_EQUALITY_OPS(v, QVersionNumber(1, 0), true); QCOMPARE(i, 3); } } @@ -652,14 +574,14 @@ void tst_QVersionNumber::moveSemantics() { QVersionNumber v1(1, 2, 3); QVersionNumber v2 = std::move(v1); - QCOMPARE(v2, QVersionNumber(1, 2, 3)); + QT_TEST_EQUALITY_OPS(v2, QVersionNumber(1, 2, 3), true); } // QVersionNumber &operator=(QVersionNumber &&) { QVersionNumber v1(1, 2, 3); QVersionNumber v2; v2 = std::move(v1); - QCOMPARE(v2, QVersionNumber(1, 2, 3)); + QT_TEST_EQUALITY_OPS(v2, QVersionNumber(1, 2, 3), true); } // QVersionNumber(QList<int> &&) { @@ -668,7 +590,7 @@ void tst_QVersionNumber::moveSemantics() QVersionNumber v2(std::move(segments)); QVERIFY(!v1.isNull()); QVERIFY(!v2.isNull()); - QCOMPARE(v1, v2); + QT_TEST_EQUALITY_OPS(v1, v2, true); } #ifdef Q_COMPILER_REF_QUALIFIERS // normalized() diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp index 504d1a4fea..ab750dff33 100644 --- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp +++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp @@ -1422,7 +1422,7 @@ void tst_QDBusConnection::connectionLimit() QProcess daemon; daemon.start("dbus-daemon", - QStringList() << "--config-file" << QFINDTESTDATA("tst_qdbusconnection.conf") + QStringList() << "--config-file" << QFINDTESTDATA("../qdbusconnection/tst_qdbusconnection.conf") << "--nofork" << "--print-address"); QVERIFY2(daemon.waitForReadyRead(2000), diff --git a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp index e7a8273115..355a65bc59 100644 --- a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp +++ b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp @@ -161,7 +161,9 @@ void basicStringTypes_data() { QTest::newRow("string") << QVariant("ping") << "s" << "\"ping\""; QTest::newRow("objectpath") << QVariant::fromValue(QDBusObjectPath("/org/kde")) << "o" << "[ObjectPath: /org/kde]"; + QTest::newRow("emptysignature") << QVariant::fromValue(QDBusSignature(QString())) << "g" << "[Signature: ]"; QTest::newRow("signature") << QVariant::fromValue(QDBusSignature("g")) << "g" << "[Signature: g]"; + QTest::newRow("multisignature") << QVariant::fromValue(QDBusSignature("bit")) << "g" << "[Signature: bit]"; QTest::newRow("emptystring") << QVariant("") << "s" << "\"\""; QTest::newRow("nullstring") << QVariant(QString()) << "s" << "\"\""; } @@ -907,7 +909,7 @@ void tst_QDBusMarshall::sendSignalErrors() QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal to service \"\" path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid object path passed in arguments"); QVERIFY(!con.send(msg)); - QDBusSignature sig; + QDBusSignature sig(QChar(0)); msg.setArguments(QVariantList() << QVariant::fromValue(sig)); QTest::ignoreMessage(QtWarningMsg, "QDBusConnection: error: could not send signal to service \"\" path \"/foo\" interface \"local.interfaceName\" member \"signalName\": Marshalling failed: Invalid signature passed in arguments"); QVERIFY(!con.send(msg)); @@ -992,7 +994,7 @@ void tst_QDBusMarshall::sendCallErrors_data() << ""; QTest::newRow("invalid-signature-arg") << serviceName << objectPath << interfaceName << "ping" - << (QVariantList() << QVariant::fromValue(QDBusSignature())) + << (QVariantList() << QVariant::fromValue(QDBusSignature(QChar(0)))) << "org.freedesktop.DBus.Error.Failed" << "Marshalling failed: Invalid signature passed in arguments" << ""; diff --git a/tests/auto/dbus/qdbustype/tst_qdbustype.cpp b/tests/auto/dbus/qdbustype/tst_qdbustype.cpp index f4ad4cb77a..63cb7d4a65 100644 --- a/tests/auto/dbus/qdbustype/tst_qdbustype.cpp +++ b/tests/auto/dbus/qdbustype/tst_qdbustype.cpp @@ -206,6 +206,7 @@ void tst_QDBusType::isValidBasicType() void tst_QDBusType::isValidSingleSignature_data() { addColumns(); + QTest::newRow("empty") << "" << false; addSingleSignatures(); addNakedDictEntry(); } @@ -222,6 +223,7 @@ void tst_QDBusType::isValidSingleSignature() void tst_QDBusType::isValidArray_data() { addColumns(); + QTest::newRow("empty") << "" << false; addSingleSignatures(); } @@ -241,7 +243,10 @@ void tst_QDBusType::isValidArray() void tst_QDBusType::isValidSignature_data() { - isValidSingleSignature_data(); + addColumns(); + QTest::newRow("empty") << "" << true; + addSingleSignatures(); + addNakedDictEntry(); } void tst_QDBusType::isValidSignature() @@ -250,8 +255,10 @@ void tst_QDBusType::isValidSignature() QFETCH(bool, result); data.append(data); - if (data.at(0).unicode()) - QCOMPARE(bool(q_dbus_signature_validate(data.toLatin1(), 0)), result); + if (!data.isEmpty() && data.at(0).unicode()) { + // libdbus-1 API can't deal with string containing NULs + QCOMPARE(bool(q_dbus_signature_validate(data.toLatin1(), nullptr)), result); + } QCOMPARE(QDBusUtil::isValidSignature(data), result); } diff --git a/tests/auto/gui/image/CMakeLists.txt b/tests/auto/gui/image/CMakeLists.txt index 9cc6d4d2bf..3535d5f01e 100644 --- a/tests/auto/gui/image/CMakeLists.txt +++ b/tests/auto/gui/image/CMakeLists.txt @@ -12,8 +12,12 @@ add_subdirectory(qpixmap) add_subdirectory(qimage) add_subdirectory(qimageiohandler) add_subdirectory(qimagewriter) -add_subdirectory(qmovie) -add_subdirectory(qpicture) +if(QT_FEATURE_movie) + add_subdirectory(qmovie) +endif() +if(QT_FEATURE_picture) + add_subdirectory(qpicture) +endif() add_subdirectory(qiconhighdpi) if(QT_FEATURE_private_tests) add_subdirectory(qpixmapcache) diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index 1d0cdfcc4e..3e3d0a49bc 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -3863,10 +3863,12 @@ void tst_QImage::metadataPassthrough() QCOMPARE(alphaMask.dotsPerMeterY(), a.dotsPerMeterY()); QCOMPARE(alphaMask.devicePixelRatio(), a.devicePixelRatio()); +#ifndef QT_NO_IMAGE_HEURISTIC_MASK QImage heuristicMask = a.createHeuristicMask(); QCOMPARE(heuristicMask.dotsPerMeterX(), a.dotsPerMeterX()); QCOMPARE(heuristicMask.dotsPerMeterY(), a.dotsPerMeterY()); QCOMPARE(heuristicMask.devicePixelRatio(), a.devicePixelRatio()); +#endif QImage maskFromColor = a.createMaskFromColor(qRgb(0, 0, 0)); QCOMPARE(maskFromColor.dotsPerMeterX(), a.dotsPerMeterX()); diff --git a/tests/auto/gui/image/qmovie/tst_qmovie.cpp b/tests/auto/gui/image/qmovie/tst_qmovie.cpp index c2171d4209..29c3297043 100644 --- a/tests/auto/gui/image/qmovie/tst_qmovie.cpp +++ b/tests/auto/gui/image/qmovie/tst_qmovie.cpp @@ -36,6 +36,7 @@ private slots: void playMovie(); void jumpToFrame_data(); void jumpToFrame(); + void frameDelay(); void changeMovieFile(); #ifndef QT_NO_WIDGETS void infiniteLoop(); @@ -184,6 +185,17 @@ void tst_QMovie::jumpToFrame() QCOMPARE(movie.currentFrameNumber(), 0); } +void tst_QMovie::frameDelay() +{ + QMovie movie(QFINDTESTDATA("animations/comicsecard.gif")); + QList<int> frameDelays{ 200, 800, 800, 2000, 2600 }; + for (int i = 0; i < movie.frameCount(); i++) { + movie.jumpToFrame(i); + // Processing may have taken a little time, so round to nearest 100ms + QCOMPARE(100 * qRound(movie.nextFrameDelay() / 100.0f), frameDelays[i]); + } +} + void tst_QMovie::changeMovieFile() { QMovie movie(QFINDTESTDATA("animations/comicsecard.gif")); diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp index 137439d98b..d8c553b521 100644 --- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp @@ -1176,8 +1176,10 @@ void tst_QPixmap::dprPassthrough() pm.convertFromImage(img); QCOMPARE(pm.devicePixelRatio(), dpr); +#ifndef QT_NO_IMAGE_HEURISTIC_MASK QBitmap heuristicMask = src.createHeuristicMask(); QCOMPARE(heuristicMask.devicePixelRatio(), dpr); +#endif QBitmap maskFromColor = src.createMaskFromColor(Qt::white); QCOMPARE(maskFromColor.devicePixelRatio(), dpr); diff --git a/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp index 70fb2b39d3..093367c759 100644 --- a/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp +++ b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp @@ -112,13 +112,17 @@ void tst_QStandardItem::getSetData() item.setToolTip(toolTip); QCOMPARE(item.toolTip(), toolTip); +#ifndef QT_NO_STATUSTIP QString statusTip = QLatin1String("statusTip ") + iS; item.setStatusTip(statusTip); QCOMPARE(item.statusTip(), statusTip); +#endif +#if QT_CONFIG(whatsthis) QString whatsThis = QLatin1String("whatsThis ") + iS; item.setWhatsThis(whatsThis); QCOMPARE(item.whatsThis(), whatsThis); +#endif QSize sizeHint(64*i, 48*i); item.setSizeHint(sizeHint); @@ -157,8 +161,12 @@ void tst_QStandardItem::getSetData() QCOMPARE(item.text(), text); QCOMPARE(item.icon(), icon); QCOMPARE(item.toolTip(), toolTip); +#ifndef QT_NO_STATUSTIP QCOMPARE(item.statusTip(), statusTip); +#endif +#if QT_CONFIG(whatsthis) QCOMPARE(item.whatsThis(), whatsThis); +#endif QCOMPARE(item.sizeHint(), sizeHint); QCOMPARE(item.font(), font); QCOMPARE(item.textAlignment(), textAlignment); @@ -171,8 +179,12 @@ void tst_QStandardItem::getSetData() QCOMPARE(qvariant_cast<QString>(item.data(Qt::DisplayRole)), text); QCOMPARE(qvariant_cast<QIcon>(item.data(Qt::DecorationRole)), icon); QCOMPARE(qvariant_cast<QString>(item.data(Qt::ToolTipRole)), toolTip); +#ifndef QT_NO_STATUSTIP QCOMPARE(qvariant_cast<QString>(item.data(Qt::StatusTipRole)), statusTip); +#endif +#if QT_CONFIG(whatsthis) QCOMPARE(qvariant_cast<QString>(item.data(Qt::WhatsThisRole)), whatsThis); +#endif QCOMPARE(qvariant_cast<QSize>(item.data(Qt::SizeHintRole)), sizeHint); QCOMPARE(qvariant_cast<QFont>(item.data(Qt::FontRole)), font); QCOMPARE(qvariant_cast<int>(item.data(Qt::TextAlignmentRole)), int(textAlignment)); @@ -844,7 +856,9 @@ void tst_QStandardItem::streamItem() item.setText(QLatin1String("text")); item.setToolTip(QLatin1String("toolTip")); item.setStatusTip(QLatin1String("statusTip")); +#if QT_CONFIG(whatsthis) item.setWhatsThis(QLatin1String("whatsThis")); +#endif item.setSizeHint(QSize(64, 48)); item.setFont(QFont()); item.setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -866,7 +880,9 @@ void tst_QStandardItem::streamItem() QCOMPARE(streamedItem.text(), item.text()); QCOMPARE(streamedItem.toolTip(), item.toolTip()); QCOMPARE(streamedItem.statusTip(), item.statusTip()); +#if QT_CONFIG(whatsthis) QCOMPARE(streamedItem.whatsThis(), item.whatsThis()); +#endif QCOMPARE(streamedItem.sizeHint(), item.sizeHint()); QCOMPARE(streamedItem.font(), item.font()); QCOMPARE(streamedItem.textAlignment(), item.textAlignment()); @@ -905,7 +921,9 @@ void tst_QStandardItem::clone() item.setText(QLatin1String("text")); item.setToolTip(QLatin1String("toolTip")); item.setStatusTip(QLatin1String("statusTip")); +#if QT_CONFIG(whatsthis) item.setWhatsThis(QLatin1String("whatsThis")); +#endif item.setSizeHint(QSize(64, 48)); item.setFont(QFont()); item.setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -920,7 +938,9 @@ void tst_QStandardItem::clone() QCOMPARE(clone->text(), item.text()); QCOMPARE(clone->toolTip(), item.toolTip()); QCOMPARE(clone->statusTip(), item.statusTip()); +#if QT_CONFIG(whatsthis) QCOMPARE(clone->whatsThis(), item.whatsThis()); +#endif QCOMPARE(clone->sizeHint(), item.sizeHint()); QCOMPARE(clone->font(), item.font()); QCOMPARE(clone->textAlignment(), item.textAlignment()); diff --git a/tests/auto/gui/kernel/qevent/tst_qevent.cpp b/tests/auto/gui/kernel/qevent/tst_qevent.cpp index 6960f99af2..8e8169b16c 100644 --- a/tests/auto/gui/kernel/qevent/tst_qevent.cpp +++ b/tests/auto/gui/kernel/qevent/tst_qevent.cpp @@ -6,7 +6,52 @@ #include <QtGui/qguiapplication.h> #include <QtGui/qevent.h> +#if QT_CONFIG(future) #include <QtCore/private/qfutureinterface_p.h> +#endif + + +#if QT_CONFIG(future) +#define X_QFutureCallOutEvent(X) X(QFutureCallOutEvent, ()) +#else +#define X_QFutureCallOutEvent(X) +#endif + +#if QT_CONFIG(wheelevent) +#define X_QWheelEvent(X) X(QWheelEvent, ({}, {}, {}, {}, {}, {}, {}, {})) +#else +#define X_QWheelEvent(X) +#endif + +#if QT_CONFIG(tabletevent) +#define X_QTabletEvent(X) X(QTabletEvent, (QEvent::None, QPointingDevice::primaryPointingDevice(), {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})) +#else +#define X_QTabletEvent(X) +#endif + +#if QT_CONFIG(gestures) +#define X_QNativeGestureEvent(X) X(QNativeGestureEvent, ({}, QPointingDevice::primaryPointingDevice(), 0, {}, {}, {}, {}, {})) +#else +#define X_QNativeGestureEvent(X) +#endif + +#if QT_CONFIG(whatsthis) +#define X_QWhatsThisClickedEvent(X) X(QWhatsThisClickedEvent, ({})) +#else +#define X_QWhatsThisClickedEvent(X) +#endif + +#if QT_CONFIG(action) +#define X_QActionEvent(X) X(QActionEvent, (0, nullptr)) +#else +#define X_QActionEvent(X) +#endif + +#if QT_CONFIG(shortcut) +#define X_QShortcutEvent(X) X(QShortcutEvent, ({}, 0)) +#else +#define X_QShortcutEvent(X) +#endif #define FOR_EACH_CORE_EVENT(X) \ /* qcoreevent.h */ \ @@ -15,7 +60,7 @@ X(QChildEvent, (QEvent::ChildAdded, nullptr)) \ X(QDynamicPropertyChangeEvent, ("size")) \ /* qfutureinterface_p.h */ \ - X(QFutureCallOutEvent, ()) \ + X_QFutureCallOutEvent(X) \ /* end */ #define FOR_EACH_GUI_EVENT(X) \ @@ -27,9 +72,9 @@ X(QEnterEvent, ({}, {}, {})) \ X(QMouseEvent, (QEvent::None, {}, {}, {}, {}, {}, {}, {}, QPointingDevice::primaryPointingDevice())) \ X(QHoverEvent, (QEvent::None, {}, {}, QPointF{})) \ - X(QWheelEvent, ({}, {}, {}, {}, {}, {}, {}, {})) \ - X(QTabletEvent, (QEvent::None, QPointingDevice::primaryPointingDevice(), {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {})) \ - X(QNativeGestureEvent, ({}, QPointingDevice::primaryPointingDevice(), 0, {}, {}, {}, {}, {})) \ + X_QWheelEvent(X) \ + X_QTabletEvent(X) \ + X_QNativeGestureEvent(X) \ X(QKeyEvent, (QEvent::None, 0, {})) \ X(QFocusEvent, (QEvent::None)) \ X(QPaintEvent, (QRect{0, 0, 100, 100})) \ @@ -50,11 +95,11 @@ X(QDragLeaveEvent, ()) \ X(QHelpEvent, ({}, {}, {})) \ X(QStatusTipEvent, ({})) \ - X(QWhatsThisClickedEvent, ({})) \ - X(QActionEvent, (0, nullptr)) \ + X_QWhatsThisClickedEvent(X) \ + X_QActionEvent(X) \ X(QFileOpenEvent, (QString{})) \ X(QToolBarChangeEvent, (false)) \ - X(QShortcutEvent, ({}, 0)) \ + X_QShortcutEvent(X) \ X(QWindowStateChangeEvent, ({})) \ X(QTouchEvent, (QEvent::None)) \ X(QScrollPrepareEvent, ({})) \ diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp index 6b8700f580..d1a50e3d69 100644 --- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp +++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp @@ -1004,8 +1004,8 @@ void tst_QGuiApplication::quitOnLastWindowClosedWithEventLoopLocker() }); { - // Disabling QEventLoopLocker support should not affect - // quitting when last window is closed. + // Disabling QEventLoopLocker automatic quit should not affect + // quitting when last window is closed if there are no lockers. app.setQuitLockEnabled(false); QuitSpy quitSpy; @@ -1019,8 +1019,40 @@ void tst_QGuiApplication::quitOnLastWindowClosedWithEventLoopLocker() } { - // Disabling quitOnLastWindowClosed support should not affect - // quitting when last QEventLoopLocker goes out of scope. + // Disabling QEventLoopLocker automatic quit should still block + // quitting when last window is closed if there is a locker alive. + app.setQuitLockEnabled(false); + + QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker); + + QuitSpy quitSpy; + QWindow window; + window.show(); + QVERIFY(QTest::qWaitForWindowExposed(&window)); + QTimer::singleShot(0, &window, &QWindow::close); + QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); }); + app.exec(); + QCOMPARE(quitSpy.quits, 0); + } + + { + // Disabling quitOnLastWindowClosed automatic quit should not affect + // quitting when last QEventLoopLocker goes out of scope if + // there are no windows. + app.setQuitLockEnabled(true); + app.setQuitOnLastWindowClosed(false); + + QuitSpy quitSpy; + QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker); + QTimer::singleShot(0, [&]{ locker.reset(nullptr); }); + QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); }); + app.exec(); + QCOMPARE(quitSpy.quits, 1); + } + + { + // Disabling quitOnLastWindowClosed automatic quit should still block + // quitting via QEventLoopLocker if there's a window alive. app.setQuitLockEnabled(true); app.setQuitOnLastWindowClosed(false); @@ -1032,7 +1064,7 @@ void tst_QGuiApplication::quitOnLastWindowClosedWithEventLoopLocker() QTimer::singleShot(0, [&]{ locker.reset(nullptr); }); QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); }); app.exec(); - QCOMPARE(quitSpy.quits, 1); + QCOMPARE(quitSpy.quits, 0); } { diff --git a/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp index e7b05e7037..fdb1b333ef 100644 --- a/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_foreignwindow.cpp @@ -26,6 +26,9 @@ private slots: void embedForeignWindow(); void embedInForeignWindow(); + + void destroyExplicitly(); + void destroyWhenParentIsDestroyed(); }; void tst_ForeignWindow::fromWinId() @@ -138,5 +141,56 @@ void tst_ForeignWindow::embedInForeignWindow() } } +void tst_ForeignWindow::destroyExplicitly() +{ + NativeWindow nativeWindow; + QVERIFY(nativeWindow); + + std::unique_ptr<QWindow> foreignWindow(QWindow::fromWinId(nativeWindow)); + QVERIFY(foreignWindow->handle()); + + // Explicitly destroying a foreign window is a no-op, as + // the documentation claims that it "releases the native + // platform resources associated with this window.", which + // is not technically true for foreign windows. + auto *windowHandleBeforeDestroy = foreignWindow->handle(); + foreignWindow->destroy(); + QCOMPARE(foreignWindow->handle(), windowHandleBeforeDestroy); +} + +void tst_ForeignWindow::destroyWhenParentIsDestroyed() +{ + QWindow parentWindow; + + NativeWindow nativeWindow; + QVERIFY(nativeWindow); + + std::unique_ptr<QWindow> foreignWindow(QWindow::fromWinId(nativeWindow)); + foreignWindow->setParent(&parentWindow); + QTRY_COMPARE(nativeWindow.parentWinId(), parentWindow.winId()); + + // Reparenting into a window will result in creating it + QVERIFY(parentWindow.handle()); + + parentWindow.show(); + QVERIFY(QTest::qWaitForWindowExposed(&parentWindow)); + + // Destroying the parent window of the foreign window results + // in destroying the foreign window as well, as the foreign + // window no longer has a parent it can be embedded in. + QVERIFY(foreignWindow->handle()); + parentWindow.destroy(); + QVERIFY(!foreignWindow->handle()); + + // But the foreign window can be recreated again, and will + // continue to be a native child of the parent window. + foreignWindow->create(); + QVERIFY(foreignWindow->handle()); + QTRY_COMPARE(nativeWindow.parentWinId(), parentWindow.winId()); + + parentWindow.show(); + QVERIFY(QTest::qWaitForWindowExposed(&parentWindow)); +} + #include <tst_foreignwindow.moc> QTEST_MAIN(tst_ForeignWindow) diff --git a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp index 4f366b02db..7505d463ed 100644 --- a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp +++ b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp @@ -263,7 +263,7 @@ void tst_QColorSpace::imageConversion_data() QTest::newRow("sRGB -> Display-P3") << QColorSpace::SRgb << QColorSpace::DisplayP3 << 0; QTest::newRow("sRGB -> Adobe RGB") << QColorSpace::SRgb << QColorSpace::AdobeRgb << 2; QTest::newRow("Adobe RGB -> sRGB") << QColorSpace::AdobeRgb << QColorSpace::SRgb << 2; - QTest::newRow("Adobe RGB -> Display-P3") << QColorSpace::AdobeRgb << QColorSpace::DisplayP3 << 2; + QTest::newRow("Adobe RGB -> Display-P3") << QColorSpace::AdobeRgb << QColorSpace::DisplayP3 << 4; QTest::newRow("Display-P3 -> Adobe RGB") << QColorSpace::DisplayP3 << QColorSpace::AdobeRgb << 2; QTest::newRow("Display-P3 -> sRGB") << QColorSpace::DisplayP3 << QColorSpace::SRgb << 0; QTest::newRow("sRGB -> sRGB Linear") << QColorSpace::SRgb << QColorSpace::SRgbLinear << 0; @@ -292,9 +292,9 @@ void tst_QColorSpace::imageConversion() int lastBlue = 0; for (int i = 0; i < 256; ++i) { QRgb p = testImage.pixel(i, 0); - QVERIFY(qRed(p) >= lastRed); - QVERIFY(qGreen(p) >= lastGreen); - QVERIFY(qBlue(p) >= lastBlue); + QCOMPARE_GE(qRed(p), lastRed); + QCOMPARE_GE(qGreen(p), lastGreen); + QCOMPARE_GE(qBlue(p), lastBlue); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); @@ -307,12 +307,12 @@ void tst_QColorSpace::imageConversion() QCOMPARE(testImage.colorSpace(), QColorSpace(fromColorSpace)); for (int i = 0; i < 256; ++i) { QRgb p = testImage.pixel(i, 0); - QVERIFY(qAbs(qRed(p) - qBlue(p)) <= tolerance); - QVERIFY(qAbs(qRed(p) - qGreen(p)) <= tolerance); - QVERIFY(qAbs(qGreen(p) - qBlue(p)) <= tolerance); - QVERIFY((lastRed - qRed(p)) <= (tolerance / 2)); - QVERIFY((lastGreen - qGreen(p)) <= (tolerance / 2)); - QVERIFY((lastBlue - qBlue(p)) <= (tolerance / 2)); + QCOMPARE_LE(qAbs(qRed(p) - qBlue(p)), tolerance); + QCOMPARE_LE(qAbs(qRed(p) - qGreen(p)), tolerance); + QCOMPARE_LE(qAbs(qGreen(p) - qBlue(p)), tolerance); + QCOMPARE_LE(lastRed - qRed(p), tolerance / 2); + QCOMPARE_LE(lastBlue - qBlue(p), tolerance / 2); + QCOMPARE_LE(lastGreen - qGreen(p), tolerance / 2); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); @@ -353,9 +353,9 @@ void tst_QColorSpace::imageConversion64() int lastBlue = 0; for (int i = 0; i < 256; ++i) { QRgb p = testImage.pixel(i, 0); - QVERIFY(qRed(p) >= lastRed); - QVERIFY(qGreen(p) >= lastGreen); - QVERIFY(qBlue(p) >= lastBlue); + QCOMPARE_GE(qRed(p), lastRed); + QCOMPARE_GE(qGreen(p), lastGreen); + QCOMPARE_GE(qBlue(p), lastBlue); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); @@ -370,9 +370,9 @@ void tst_QColorSpace::imageConversion64() QRgb p = testImage.pixel(i, 0); QCOMPARE(qRed(p), qGreen(p)); QCOMPARE(qRed(p), qBlue(p)); - QVERIFY((lastRed - qRed(p)) <= 0); - QVERIFY((lastGreen - qGreen(p)) <= 0); - QVERIFY((lastBlue - qBlue(p)) <= 0); + QCOMPARE_GE(qRed(p), lastRed); + QCOMPARE_GE(qGreen(p), lastGreen); + QCOMPARE_GE(qBlue(p), lastBlue); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); @@ -415,17 +415,17 @@ void tst_QColorSpace::imageConversion64PM() const int expectedAlpha = j * 15; for (int i = 0; i < 256; ++i) { QRgb p = testImage.pixel(i, j); - QVERIFY(qRed(p) >= lastRed); - QVERIFY(qGreen(p) >= lastGreen); - QVERIFY(qBlue(p) >= lastBlue); + QCOMPARE_GE(qRed(p), lastRed); + QCOMPARE_GE(qGreen(p), lastGreen); + QCOMPARE_GE(qBlue(p), lastBlue); QCOMPARE(qAlpha(p), expectedAlpha); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); } - QVERIFY(lastRed <= expectedAlpha); - QVERIFY(lastGreen <= expectedAlpha); - QVERIFY(lastBlue <= expectedAlpha); + QCOMPARE_LE(lastRed, expectedAlpha); + QCOMPARE_LE(lastGreen, expectedAlpha); + QCOMPARE_LE(lastBlue, expectedAlpha); lastRed = 0; lastGreen = 0; lastBlue = 0; @@ -438,15 +438,15 @@ void tst_QColorSpace::imageConversion64PM() for (int i = 0; i < 256; ++i) { QRgb expected = qPremultiply(qRgba(i, i, i, expectedAlpha)); QRgb p = testImage.pixel(i, j); - QVERIFY(qAbs(qRed(p) - qGreen(p)) <= 1); - QVERIFY(qAbs(qRed(p) - qBlue(p)) <= 1); + QCOMPARE_LE(qAbs(qRed(p) - qGreen(p)), 1); + QCOMPARE_LE(qAbs(qRed(p) - qBlue(p)), 1); QCOMPARE(qAlpha(p), expectedAlpha); - QVERIFY((lastRed - qRed(p)) <= 0); - QVERIFY((lastGreen - qGreen(p)) <= 0); - QVERIFY((lastBlue - qBlue(p)) <= 0); - QVERIFY(qAbs(qRed(p) - qRed(expected)) <= 1); - QVERIFY(qAbs(qGreen(p) - qGreen(expected)) <= 1); - QVERIFY(qAbs(qBlue(p) - qBlue(expected)) <= 1); + QCOMPARE_GE(qRed(p), lastRed); + QCOMPARE_GE(qGreen(p), lastGreen); + QCOMPARE_GE(qBlue(p), lastBlue); + QCOMPARE_LE(qAbs(qRed(p) - qRed(expected)), 1); + QCOMPARE_LE(qAbs(qGreen(p) - qGreen(expected)), 1); + QCOMPARE_LE(qAbs(qBlue(p) - qBlue(expected)), 1); lastRed = qRed(p); lastGreen = qGreen(p); lastBlue = qBlue(p); @@ -493,7 +493,7 @@ void tst_QColorSpace::imageConversionOverLargerGamut() int lastRed = 0; for (int x = 0; x < 256; ++x) { QRgb p = resultImage.pixel(x, y); - QVERIFY(qRed(p) >= lastRed); + QCOMPARE_GE(qRed(p), lastRed); lastRed = qRed(p); } } @@ -501,7 +501,7 @@ void tst_QColorSpace::imageConversionOverLargerGamut() int lastGreen = 0; for (int y = 0; y < 256; ++y) { QRgb p = resultImage.pixel(x, y); - QVERIFY(qGreen(p) >= lastGreen); + QCOMPARE_GE(qGreen(p), lastGreen); lastGreen = qGreen(p); } } diff --git a/tests/auto/gui/painting/qpagelayout/tst_qpagelayout.cpp b/tests/auto/gui/painting/qpagelayout/tst_qpagelayout.cpp index cbbf857357..4490877e87 100644 --- a/tests/auto/gui/painting/qpagelayout/tst_qpagelayout.cpp +++ b/tests/auto/gui/painting/qpagelayout/tst_qpagelayout.cpp @@ -12,6 +12,7 @@ private slots: void invalid(); void basics(); void setGetMargins(); + void setGetClampedMargins(); void setUnits_data(); void setUnits(); }; @@ -216,7 +217,7 @@ void tst_QPageLayout::basics() void tst_QPageLayout::setGetMargins() { - // A4, 20pt margins + // A4, 10pt margins QMarginsF margins = QMarginsF(10, 10, 10, 10); QMarginsF min = QMarginsF(10, 10, 10, 10); QMarginsF max = QMarginsF(585, 832, 585, 832); @@ -229,7 +230,7 @@ void tst_QPageLayout::setGetMargins() QCOMPARE(change.minimumMargins(), min); QCOMPARE(change.maximumMargins(), max); - // Set magins within min/max ok + // Set margins within min/max ok margins = QMarginsF(20, 20, 20, 20); change.setMargins(margins); QCOMPARE(change.margins(QPageLayout::Millimeter), QMarginsF(7.06, 7.06, 7.06, 7.06)); @@ -289,7 +290,7 @@ void tst_QPageLayout::setGetMargins() fullPage.setMargins(margins); QCOMPARE(fullPage.margins(), margins); - // Set margins all above max is rejected + // Set margins all above max is accepted margins = QMarginsF(1000, 1000, 1000, 1000); fullPage.setMargins(margins); QCOMPARE(fullPage.margins(), margins); @@ -312,6 +313,126 @@ void tst_QPageLayout::setGetMargins() QCOMPARE(fullPage.maximumMargins(), max); } +void tst_QPageLayout::setGetClampedMargins() +{ + // A4, 10pt margins + QMarginsF margins = QMarginsF(10, 10, 10, 10); + QMarginsF min = QMarginsF(10, 10, 10, 10); + QMarginsF max = QMarginsF(585, 832, 585, 832); + QPageLayout change = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, margins, QPageLayout::Point, min); + QCOMPARE(change.isValid(), true); + + // Clamp margins within min/max ok + margins = QMarginsF(20, 20, 20, 20); + change.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins(QPageLayout::Millimeter), QMarginsF(7.06, 7.06, 7.06, 7.06)); + QCOMPARE(change.marginsPoints(), QMargins(20, 20, 20, 20)); + QCOMPARE(change.marginsPixels(72), QMargins(20, 20, 20, 20)); + QCOMPARE(change.margins(), margins); + + // Clamp margins all below min + change.setMargins(QMarginsF(0, 0, 0, 0), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins(), change.minimumMargins()); + + // Clamp margins all above max + change.setMargins(QMarginsF(1000, 1000, 1000, 1000), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins(), change.maximumMargins()); + + // Only 1 wrong, clamp still works + change.setMargins(QMarginsF(50, 50, 50, 0), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins(), QMarginsF(50, 50, 50, change.minimumMargins().bottom())); + + // A4, 20pt margins + margins = QMarginsF(20, 20, 20, 20); + min = QMarginsF(10, 10, 10, 10); + max = QMarginsF(585, 832, 585, 832); + QPageLayout fullPage = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, margins, QPageLayout::Point, min); + fullPage.setMode(QPageLayout::FullPageMode); + QCOMPARE(fullPage.isValid(), true); + QCOMPARE(fullPage.margins(), margins); + QCOMPARE(fullPage.minimumMargins(), min); + QCOMPARE(fullPage.maximumMargins(), max); + + // Clamp margins within min/max ok + margins = QMarginsF(50, 50, 50, 50); + fullPage.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(fullPage.margins(), margins); + + // Clamp margins all below min, no clamping + margins = QMarginsF(0, 0, 0, 0); + fullPage.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(fullPage.margins(), margins); + + // Clamp margins all above max, no clamping + margins = QMarginsF(1000, 1000, 1000, 1000); + fullPage.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(fullPage.margins(), margins); + + // Only 1 wrong, no clamping + margins = QMarginsF(50, 50, 50, 0); + fullPage.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(fullPage.margins(), margins); + + // Set page size, sets min/max, clamps existing margins + margins = QMarginsF(20, 500, 20, 500); + fullPage.setMargins(margins, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(fullPage.margins(), margins); + min = QMarginsF(30, 30, 30, 30); + max = QMarginsF(267, 390, 267, 390); + fullPage.setPageSize(QPageSize(QPageSize::A6)); + fullPage.setMinimumMargins(min); + QCOMPARE(fullPage.margins(), margins); + QCOMPARE(fullPage.minimumMargins(), min); + QCOMPARE(fullPage.maximumMargins(), max); + + // Test set* API calls + min = QMarginsF(1, 2, 3, 4); + max = QMarginsF(595 - min.right(), 842 - min.bottom(), 595 - min.left(), 842 - min.top()); + change = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, margins, QPageLayout::Point, min); + QCOMPARE(change.minimumMargins(), min); + QCOMPARE(change.maximumMargins(), max); + + // Test setLeftMargin + change.setLeftMargin(0, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().left(), min.left()); + change.setLeftMargin(change.fullRectPoints().width(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().left(), max.left()); + change.setLeftMargin(min.left(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().left(), min.left()); + change.setLeftMargin(max.left(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().left(), max.left()); + + // Test setTopMargin + change.setTopMargin(0, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().top(), min.top()); + change.setTopMargin(change.fullRectPoints().height(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().top(), max.top()); + change.setTopMargin(min.top(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().top(), min.top()); + change.setTopMargin(max.top(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().top(), max.top()); + + // Test setRightMargin + change.setRightMargin(0, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().right(), min.right()); + change.setRightMargin(change.fullRectPoints().width(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().right(), max.right()); + change.setRightMargin(min.right(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().right(), min.right()); + change.setRightMargin(max.right(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().right(), max.right()); + + // Test setBottomMargin + change.setBottomMargin(0, QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().bottom(), min.bottom()); + change.setBottomMargin(change.fullRectPoints().height(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().bottom(), max.bottom()); + change.setBottomMargin(min.bottom(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().bottom(), min.bottom()); + change.setBottomMargin(max.bottom(), QPageLayout::OutOfBoundsPolicy::Clamp); + QCOMPARE(change.margins().bottom(), max.bottom()); +} + void tst_QPageLayout::setUnits_data() { QTest::addColumn<QPageLayout::Unit>("units"); diff --git a/tests/auto/gui/text/CMakeLists.txt b/tests/auto/gui/text/CMakeLists.txt index bad13de7dc..30b35fb10a 100644 --- a/tests/auto/gui/text/CMakeLists.txt +++ b/tests/auto/gui/text/CMakeLists.txt @@ -11,7 +11,9 @@ add_subdirectory(qstatictext) add_subdirectory(qsyntaxhighlighter) add_subdirectory(qtextblock) add_subdirectory(qtextcursor) -add_subdirectory(qtextdocumentfragment) +if(QT_FEATURE_texthtmlparser) + add_subdirectory(qtextdocumentfragment) +endif() add_subdirectory(qtextdocumentlayout) add_subdirectory(qtextformat) add_subdirectory(qtextimagehandler) diff --git a/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp b/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp index 2ae2ccda0a..3d0fab4603 100644 --- a/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp +++ b/tests/auto/gui/text/qabstracttextdocumentlayout/tst_qabstracttextdocumentlayout.cpp @@ -22,9 +22,11 @@ public: private slots: void getSetCheck(); void maximumBlockCount(); +#ifndef QT_NO_TEXTHTMLPARSER void anchorAt(); void imageAt(); void formatAt(); +#endif }; tst_QAbstractTextDocumentLayout::tst_QAbstractTextDocumentLayout() @@ -119,6 +121,7 @@ void tst_QAbstractTextDocumentLayout::maximumBlockCount() QCOMPARE(layout.blockCount, 10); } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QAbstractTextDocumentLayout::anchorAt() { QTextDocument doc; @@ -204,6 +207,7 @@ void tst_QAbstractTextDocumentLayout::formatAt() QVERIFY(!format.toCharFormat().fontItalic()); QVERIFY(!format.isImageFormat()); } +#endif QTEST_MAIN(tst_QAbstractTextDocumentLayout) #include "tst_qabstracttextdocumentlayout.moc" diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp index a438d7ebc8..203fe003a0 100644 --- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp +++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp @@ -56,6 +56,10 @@ private slots: void quotedAndUnquotedIdentifiers(); void whitespaceValues_data(); void whitespaceValues(); + void strokeLineCapValues_data(); + void strokeLineCapValues(); + void strokeLineJoinValues_data(); + void strokeLineJoinValues(); }; void tst_QCssParser::scanner_data() @@ -1759,6 +1763,57 @@ void tst_QCssParser::whitespaceValues() QCOMPARE(rule.declarations.at(0).d->values.first().toString(), value); } +void tst_QCssParser::strokeLineCapValues_data() +{ + QTest::addColumn<QString>("value"); + + QTest::newRow("flatcap") << "flatcap"; + QTest::newRow("roundcap") << "roundcap"; + QTest::newRow("squarecap") << "squarecap"; +} + +void tst_QCssParser::strokeLineCapValues() +{ + QFETCH(QString, value); + QCss::Parser parser(QString("foo { -qt-stroke-linecap: %1 }").arg(value)); + QCss::StyleSheet sheet; + QVERIFY(parser.parse(&sheet)); + + QCss::StyleRule rule = (!sheet.styleRules.isEmpty()) ? + sheet.styleRules.at(0) : *sheet.nameIndex.begin(); + QCOMPARE(rule.declarations.size(), 1); + + QCOMPARE(rule.declarations.at(0).d->property, QLatin1String("-qt-stroke-linecap")); + QCOMPARE(rule.declarations.at(0).d->values.first().type, QCss::Value::KnownIdentifier); + QCOMPARE(rule.declarations.at(0).d->values.first().toString(), value); +} + +void tst_QCssParser::strokeLineJoinValues_data() +{ + QTest::addColumn<QString>("value"); + + QTest::newRow("beveljoin") << "beveljoin"; + QTest::newRow("miterjoin") << "miterjoin"; + QTest::newRow("roundjoin") << "roundjoin"; + QTest::newRow("svgmiterjoin") << "svgmiterjoin"; +} + +void tst_QCssParser::strokeLineJoinValues() +{ + QFETCH(QString, value); + QCss::Parser parser(QString("foo { -qt-stroke-linejoin: %1 }").arg(value)); + QCss::StyleSheet sheet; + QVERIFY(parser.parse(&sheet)); + + QCss::StyleRule rule = (!sheet.styleRules.isEmpty()) ? + sheet.styleRules.at(0) : *sheet.nameIndex.begin(); + QCOMPARE(rule.declarations.size(), 1); + + QCOMPARE(rule.declarations.at(0).d->property, QLatin1String("-qt-stroke-linejoin")); + QCOMPARE(rule.declarations.at(0).d->values.first().type, QCss::Value::KnownIdentifier); + QCOMPARE(rule.declarations.at(0).d->values.first().toString(), value); +} + QTEST_MAIN(tst_QCssParser) #include "tst_qcssparser.moc" diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp index b2d00f6666..849e7432d1 100644 --- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp @@ -70,6 +70,8 @@ private slots: void findCourier(); #endif + void addApplicationFontFallback(); + private: QString m_ledFont; QString m_testFont; @@ -555,5 +557,83 @@ void tst_QFontDatabase::variableFont() QFontDatabase::removeApplicationFont(id); } +void tst_QFontDatabase::addApplicationFontFallback() +{ + int ledId = -1; + int id = -1; + auto cleanup = qScopeGuard([&id, &ledId] { + if (id >= 0) + QFontDatabase::removeApplicationFont(id); + if (ledId >= 0) + QFontDatabase::removeApplicationFont(ledId); + }); + + const QChar hebrewChar(0x05D0); // Hebrew 'aleph' + + ledId = QFontDatabase::addApplicationFont(m_ledFont); + if (ledId < 0) + QSKIP("Skip the test since app fonts are not supported on this system"); + + auto getHebrewFont = [&]() { + QTextLayout layout; + layout.setText(hebrewChar); + layout.setFont(QFont(u"LED Real"_s)); + layout.beginLayout(); + layout.createLine(); + layout.endLayout(); + + QList<QGlyphRun> glyphRuns = layout.glyphRuns(); + if (glyphRuns.isEmpty()) + return QString{}; + + return glyphRuns.first().rawFont().familyName(); + }; + + QString defaultHebrewFont = getHebrewFont(); + if (defaultHebrewFont.isEmpty()) + QSKIP("Skip the test since Hebrew is not supported on this system"); + + QVERIFY(QFontDatabase::applicationFallbackFontFamilies(QChar::Script_Hebrew).isEmpty()); + QFontDatabase::addApplicationFallbackFontFamily(QChar::Script_Hebrew, u"QtBidiTestFont"_s); + + QCOMPARE(QFontDatabase::applicationFallbackFontFamilies(QChar::Script_Hebrew).size(), 1); + QCOMPARE(QFontDatabase::applicationFallbackFontFamilies(QChar::Script_Hebrew).first(), u"QtBidiTestFont"_s); + + { + QString hebrewFontNow = getHebrewFont(); + QCOMPARE(hebrewFontNow, defaultHebrewFont); + } + + id = QFontDatabase::addApplicationFont(m_testFont); + QVERIFY(id >= 0); + + { + QString hebrewFontNow = getHebrewFont(); + QCOMPARE(hebrewFontNow, u"QtBidiTestFont"_s); + } + + QFontDatabase::removeApplicationFallbackFontFamily(QChar::Script_Hebrew, u"QtBidiTestFont"_s); + + { + QString hebrewFontNow = getHebrewFont(); + QCOMPARE(hebrewFontNow, defaultHebrewFont); + } + + QFontDatabase::setApplicationFallbackFontFamilies(QChar::Script_Hebrew, QStringList(u"QtBidiTestFont"_s)); + + { + QString hebrewFontNow = getHebrewFont(); + QCOMPARE(hebrewFontNow, u"QtBidiTestFont"_s); + } + + QFontDatabase::setApplicationFallbackFontFamilies(QChar::Script_Hebrew, QStringList{}); + + { + QString hebrewFontNow = getHebrewFont(); + QCOMPARE(hebrewFontNow, defaultHebrewFont); + } + +} + QTEST_MAIN(tst_QFontDatabase) #include "tst_qfontdatabase.moc" diff --git a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp index 678eb0393f..9471c1d93f 100644 --- a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp @@ -263,7 +263,7 @@ void tst_QFontMetrics::inFontUcs4() glyphs.glyphs[0] = 0; QVERIFY(engine->stringToCMap(string.constData(), string.size(), &glyphs, &glyphs.numGlyphs, - QFontEngine::GlyphIndicesOnly)); + QFontEngine::GlyphIndicesOnly) > 0); QCOMPARE(glyphs.numGlyphs, 1); QCOMPARE(glyphs.glyphs[0], uint(1)); } @@ -275,7 +275,7 @@ void tst_QFontMetrics::inFontUcs4() glyphs.glyphs[0] = 0; QVERIFY(engine->stringToCMap(string.constData(), string.size(), &glyphs, &glyphs.numGlyphs, - QFontEngine::GlyphIndicesOnly)); + QFontEngine::GlyphIndicesOnly) >= 0); QVERIFY(glyphs.glyphs[0] != 1); } } diff --git a/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp b/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp index 6984cd1bd2..8f5cacae4a 100644 --- a/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp +++ b/tests/auto/gui/text/qtextcursor/tst_qtextcursor.cpp @@ -39,7 +39,9 @@ private slots: void navigation7(); void navigation8(); void navigation9(); +#ifndef QT_NO_TEXTHTMLPARSER void navigation10(); +#endif void movePositionEndOfLine(); void insertBlock(); void insertWithBlockSeparator1(); @@ -431,6 +433,7 @@ void tst_QTextCursor::navigation9() QCOMPARE(cursor.position(), 15); } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QTextCursor::navigation10() { doc->setHtml("<html><p>just a simple paragraph.</p>" @@ -542,6 +545,7 @@ void tst_QTextCursor::navigation10() QVERIFY(ok); QCOMPARE(cursor.position(), 1); // a } +#endif void tst_QTextCursor::insertBlock() { diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp index 40f78ed778..600b45575f 100644 --- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp +++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp @@ -1172,7 +1172,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(2, 2); QTest::newRow("simpletable") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td></td>\n<td></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr>" "</table>"); @@ -1186,7 +1186,7 @@ void tst_QTextDocument::toHtml_data() table->mergeCells(0, 2, 1, 2); QTest::newRow("tablespans") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td colspan=\"2\"></td>\n<td colspan=\"2\"></td></tr>" "</table>"); } @@ -1205,7 +1205,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(2, 2, fmt); QTest::newRow("tableattrs") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" style=\" float: right;\" align=\"center\" width=\"50%\" cellspacing=\"3\" cellpadding=\"3\" bgcolor=\"#ff00ff\">" + << QString("<table border=\"1\" style=\" float: right; border-collapse:collapse;\" align=\"center\" width=\"50%\" cellspacing=\"3\" cellpadding=\"3\" bgcolor=\"#ff00ff\">" "\n<tr>\n<td></td>\n<td></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr>" "</table>"); @@ -1227,7 +1227,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(2, 2, fmt); QTest::newRow("tableattrs2") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" style=\" float: right; margin-top:0px; margin-bottom:35px; margin-left:25px; margin-right:0px;\" align=\"center\" width=\"50%\" cellspacing=\"3\" cellpadding=\"3\" bgcolor=\"#ff00ff\">" + << QString("<table border=\"1\" style=\" float: right; margin-top:0px; margin-bottom:35px; margin-left:25px; margin-right:0px; border-collapse:collapse;\" align=\"center\" width=\"50%\" cellspacing=\"3\" cellpadding=\"3\" bgcolor=\"#ff00ff\">" "\n<tr>\n<td></td>\n<td></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr>" "</table>"); @@ -1241,7 +1241,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(4, 2, fmt); QTest::newRow("tableheader") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "<thead>\n<tr>\n<td></td>\n<td></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr></thead>" "\n<tr>\n<td></td>\n<td></td></tr>" @@ -1257,8 +1257,8 @@ void tst_QTextDocument::toHtml_data() subTable->cellAt(0, 0).firstCursorPosition().insertText("Hey"); QTest::newRow("nestedtable") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" - "\n<tr>\n<td></td>\n<td>\n<table border=\"1\" cellspacing=\"2\">\n<tr>\n<td>\n<p DEFAULTBLOCKSTYLE>Hey</p></td></tr></table></td></tr>" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" + "\n<tr>\n<td></td>\n<td>\n<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">\n<tr>\n<td>\n<p DEFAULTBLOCKSTYLE>Hey</p></td></tr></table></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr>" "</table>"); } @@ -1275,7 +1275,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(1, 3, fmt); QTest::newRow("colwidths") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td></td>\n<td width=\"30%\"></td>\n<td width=\"40\"></td></tr>" "</table>"); } @@ -1292,7 +1292,7 @@ void tst_QTextDocument::toHtml_data() cellCurs.mergeBlockCharFormat(fmt); QTest::newRow("cellproperties") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td bgcolor=\"#ffffff\"></td></tr>" "</table>"); } @@ -1559,7 +1559,7 @@ void tst_QTextDocument::toHtml_data() table->setFormat(fmt); QTest::newRow("mergedtablecolwidths") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td colspan=\"2\"></td></tr>" "\n<tr>\n<td width=\"20\"></td>\n<td width=\"40\"></td></tr>" "</table>"); @@ -1622,7 +1622,7 @@ void tst_QTextDocument::toHtml_data() table->cellAt(0, 0).firstCursorPosition().insertText("Blah"); QTest::newRow("table-vertical-alignment") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td style=\" vertical-align:middle;\">\n" "<p DEFAULTBLOCKSTYLE>Blah</p></td>" "\n<td style=\" vertical-align:top;\"></td></tr>" @@ -1651,7 +1651,7 @@ void tst_QTextDocument::toHtml_data() table->cellAt(0, 0).firstCursorPosition().insertText("Blah"); QTest::newRow("table-cell-paddings") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td style=\" padding-left:1;\">\n" "<p DEFAULTBLOCKSTYLE>Blah</p></td>" "\n<td style=\" padding-right:1;\"></td></tr>" @@ -1669,7 +1669,7 @@ void tst_QTextDocument::toHtml_data() cursor.insertTable(2, 2, fmt); QTest::newRow("tableborder") << QTextDocumentFragment(&doc) - << QString("<table border=\"1\" style=\" border-color:#0000ff; border-style:solid;\" cellspacing=\"2\">" + << QString("<table border=\"1\" style=\" border-color:#0000ff; border-style:solid; border-collapse:collapse;\" cellpadding=\"4\">" "\n<tr>\n<td></td>\n<td></td></tr>" "\n<tr>\n<td></td>\n<td></td></tr>" "</table>"); @@ -1711,7 +1711,7 @@ void tst_QTextDocument::toHtml_data() << QString("EMPTYBLOCK") + QString("<p OPENDEFAULTBLOCKSTYLE page-break-before:always;\">Foo</p>" "\n<p OPENDEFAULTBLOCKSTYLE page-break-before:always; page-break-after:always;\">Bar</p>" - "\n<table border=\"1\" style=\" page-break-after:always;\" cellspacing=\"2\">\n<tr>\n<td></td></tr></table>"); + "\n<table border=\"1\" style=\" page-break-after:always; border-collapse:collapse;\" cellpadding=\"4\">\n<tr>\n<td></td></tr></table>"); } { @@ -4053,20 +4053,107 @@ void tst_QTextDocument::restoreStrokeFromHtml() QTextDocument document; QTextCursor textCursor(&document); QTextCharFormat textOutline; - textOutline.setTextOutline(QPen(Qt::red, 2.3)); - textCursor.insertText("Outlined text", textOutline); + + // Set stroke color and width + { + QPen pen(Qt::red, 2.3, Qt::SolidLine); + textOutline.setTextOutline(pen); + textCursor.insertText("Outlined text", textOutline); + } + + // Set Cap and Join styles + { + QPen pen; + pen.setCapStyle(Qt::FlatCap); + pen.setJoinStyle(Qt::RoundJoin); + textOutline.setTextOutline(pen); + textCursor.insertBlock(); + textCursor.insertText("Cap and Join Style", textOutline); + } + + // Set Miter limit + { + QPen pen; + pen.setJoinStyle(Qt::MiterJoin); + pen.setMiterLimit(4); + textOutline.setTextOutline(pen); + textCursor.insertBlock(); + textCursor.insertText("Miter Limit", textOutline); + } + + // Set Dash Array and Dash Offset + { + QPen pen; + QList<qreal> pattern; + const int dash = 2; + const int gap = 4; + pattern << dash << gap << dash << gap << dash << gap; + pen.setDashPattern(pattern); + pen.setDashOffset(3); + textOutline.setTextOutline(pen); + textCursor.insertBlock(); + textCursor.insertText("Dash Pattern", textOutline); + } + { QTextDocument otherDocument; otherDocument.setHtml(document.toHtml()); - QCOMPARE(otherDocument.blockCount(), 1); - QTextBlock block = otherDocument.firstBlock(); - QTextFragment fragment = block.begin().fragment(); - QCOMPARE(fragment.text(), QStringLiteral("Outlined text")); - QTextCharFormat fmt = fragment.charFormat(); - QVERIFY(fmt.hasProperty(QTextCharFormat::TextOutline)); - QPen pen = fmt.textOutline(); - QCOMPARE(pen.color(), QColor(Qt::red)); - QCOMPARE(pen.widthF(), 2.3); + QCOMPARE(otherDocument.blockCount(), document.blockCount()); + + QTextBlock block; + QTextFragment fragment; + QTextCharFormat fmt; + QPen pen; + + { + block = otherDocument.findBlockByNumber(0); + fragment = block.begin().fragment(); + QCOMPARE(fragment.text(), QStringLiteral("Outlined text")); + fmt = fragment.charFormat(); + QVERIFY(fmt.hasProperty(QTextCharFormat::TextOutline)); + pen = fmt.textOutline(); + QCOMPARE(pen.color(), QColor(Qt::red)); + QCOMPARE(pen.widthF(), 2.3); + } + + { + block = otherDocument.findBlockByNumber(1); + qDebug() << block.text(); + fragment = block.begin().fragment(); + QCOMPARE(fragment.text(), QStringLiteral("Cap and Join Style")); + fmt = fragment.charFormat(); + QVERIFY(fmt.hasProperty(QTextCharFormat::TextOutline)); + pen = fmt.textOutline(); + QCOMPARE(pen.capStyle(), Qt::FlatCap); + QCOMPARE(pen.joinStyle(), Qt::RoundJoin); + } + + { + block = otherDocument.findBlockByNumber(2); + fragment = block.begin().fragment(); + QCOMPARE(fragment.text(), QStringLiteral("Miter Limit")); + fmt = fragment.charFormat(); + QVERIFY(fmt.hasProperty(QTextCharFormat::TextOutline)); + pen = fmt.textOutline(); + QCOMPARE(pen.joinStyle(), Qt::MiterJoin); + QCOMPARE(pen.miterLimit(), 4); + } + + + { + block = otherDocument.findBlockByNumber(3); + fragment = block.begin().fragment(); + QCOMPARE(fragment.text(), QStringLiteral("Dash Pattern")); + fmt = fragment.charFormat(); + QVERIFY(fmt.hasProperty(QTextCharFormat::TextOutline)); + pen = fmt.textOutline(); + QCOMPARE(pen.dashOffset(), 3); + QList<qreal> pattern; + const int dash = 2; + const int gap = 4; + pattern << dash << gap << dash << gap << dash << gap; + QCOMPARE(pen.dashPattern(), pattern); + } } } diff --git a/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp b/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp index 2a279682ca..2ae31849bf 100644 --- a/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp +++ b/tests/auto/gui/text/qtextdocumentlayout/tst_qtextdocumentlayout.cpp @@ -24,18 +24,24 @@ private slots: void cleanupTestCase(); void defaultPageSizeHandling(); void idealWidth(); +#ifndef QT_NO_TEXTHTMLPARSER void lineSeparatorFollowingTable(); +#endif #ifndef QT_NO_WIDGETS void wrapAtWordBoundaryOrAnywhere(); #endif void inlineImage(); +#ifndef QT_NO_TEXTHTMLPARSER void clippedTableCell(); +#endif void floatingTablePageBreak(); void imageAtRightAlignedTab(); void blockVisibility(); +#ifndef QT_NO_TEXTHTMLPARSER void testHitTest(); void largeImage(); +#endif private: QTextDocument *doc; @@ -99,6 +105,7 @@ void tst_QTextDocumentLayout::idealWidth() QVERIFY(doc->idealWidth() > 0); } +#ifndef QT_NO_TEXTHTMLPARSER // none of the QTextLine items in the document should intersect with the margin rect void tst_QTextDocumentLayout::lineSeparatorFollowingTable() { @@ -145,6 +152,7 @@ void tst_QTextDocumentLayout::lineSeparatorFollowingTable() } } } +#endif #ifndef QT_NO_WIDGETS void tst_QTextDocumentLayout::wrapAtWordBoundaryOrAnywhere() @@ -184,6 +192,7 @@ void tst_QTextDocumentLayout::inlineImage() QCOMPARE(doc->pageCount(), 1); } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QTextDocumentLayout::clippedTableCell() { const char *html = @@ -224,6 +233,7 @@ void tst_QTextDocumentLayout::clippedTableCell() expected.save("expected.png"); QCOMPARE(img, expected); } +#endif void tst_QTextDocumentLayout::floatingTablePageBreak() { @@ -323,6 +333,7 @@ void tst_QTextDocumentLayout::blockVisibility() QCOMPARE(doc->size(), halfSize); } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QTextDocumentLayout::largeImage() { auto img = QImage(400, 500, QImage::Format_ARGB32_Premultiplied); @@ -416,6 +427,7 @@ void tst_QTextDocumentLayout::testHitTest() QVERIFY(positionY - topMargin <= y); } } +#endif QTEST_MAIN(tst_QTextDocumentLayout) #include "tst_qtextdocumentlayout.moc" diff --git a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp index d20a2f1ea5..6c6145561d 100644 --- a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp +++ b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp @@ -7,7 +7,9 @@ #include <qcoreapplication.h> #include <qdebug.h> +#if QT_CONFIG(settings) #include <qsettings.h> +#endif #include <qtextformat.h> #include <private/qtextformat_p.h> #include <qtextdocument.h> @@ -27,7 +29,9 @@ Q_OBJECT private slots: void getSetCheck(); void defaultAlignment(); +#if QT_CONFIG(settings) void testQTextCharFormat() const; +#endif void testUnderlinePropertyPrecedence(); void toFormat(); void resolveFont(); @@ -47,6 +51,7 @@ private slots: #endif }; +#if QT_CONFIG(settings) /*! \internal This (used to) trigger a crash in: @@ -61,6 +66,7 @@ void tst_QTextFormat::testQTextCharFormat() const settings.value("test", test); } +#endif // Testing get/set functions void tst_QTextFormat::getSetCheck() diff --git a/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp index 5311aa6f2b..0048623d0e 100644 --- a/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp +++ b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp @@ -6,6 +6,10 @@ #include <QPainter> #include <private/qtextimagehandler_p.h> +using namespace Qt::StringLiterals; + +// #define DEBUG_WRITE_HTML + class tst_QTextImageHandler : public QObject { Q_OBJECT @@ -18,7 +22,11 @@ private slots: void cleanup(); void cleanupTestCase(); void loadAtNImages_data(); +#ifndef QT_NO_TEXTHTMLPARSER void loadAtNImages(); + void maxWidth_data(); + void maxWidth(); +#endif }; tst_QTextImageHandler::tst_QTextImageHandler() @@ -47,6 +55,7 @@ void tst_QTextImageHandler::loadAtNImages_data() QTest::addRow("qrc_url") << "qrc:/data/image.png"; } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QTextImageHandler::loadAtNImages() { QFETCH(QString, imageFile); @@ -58,7 +67,7 @@ void tst_QTextImageHandler::loadAtNImages() const auto it = std::find_if(formats.begin(), formats.end(), [](const auto &format){ return format.objectType() == QTextFormat::ImageObject; }); - QVERIFY(it != formats.end()); + QCOMPARE_NE(it, formats.end()); const QTextImageFormat format = (*it).toImageFormat(); QTextImageHandler handler; @@ -75,5 +84,64 @@ void tst_QTextImageHandler::loadAtNImages() } } +void tst_QTextImageHandler::maxWidth_data() +{ + QTest::addColumn<QString>("imageFile"); + QTest::addColumn<QSizeF>("pageSize"); + QTest::addColumn<QTextLength>("maxWidth"); + QTest::addColumn<QSizeF>("expectedSize"); + + QTest::addRow("constrained-percentage") << QFINDTESTDATA("data/image.png") << QSizeF(16, 16) << QTextLength(QTextLength::PercentageLength, 100) << QSizeF(12, 12); + QTest::addRow("not-constrained-percentage") << QFINDTESTDATA("data/image.png") << QSizeF(200, 200) << QTextLength(QTextLength::PercentageLength, 100) << QSizeF(16, 16); + QTest::addRow("constrained-fixed") << QFINDTESTDATA("data/image.png") << QSizeF(16, 16) << QTextLength(QTextLength::FixedLength, 5) << QSizeF(5, 5); + QTest::addRow("not-constrained-fixed") << QFINDTESTDATA("data/image.png") << QSizeF(200, 200) << QTextLength(QTextLength::FixedLength, 5) << QSizeF(5, 5); + QTest::addRow("not-constrained-default") << QFINDTESTDATA("data/image.png") << QSizeF(200, 200) << QTextLength(QTextLength::VariableLength, 5) << QSizeF(16, 16); +} + +void tst_QTextImageHandler::maxWidth() +{ + QFETCH(QString, imageFile); + QFETCH(QSizeF, pageSize); + QFETCH(QTextLength, maxWidth); + QFETCH(QSizeF, expectedSize); + + QTextDocument doc; + doc.setPageSize(pageSize); + doc.setDocumentMargin(2); + QTextCursor c(&doc); + QString style; + if (maxWidth.type() == QTextLength::PercentageLength) + style = " style=\"max-width:"_L1 + QString::number(maxWidth.rawValue()) + "%;\""_L1; + else if (maxWidth.type() == QTextLength::FixedLength) + style = " style=\"max-width:"_L1 + QString::number(maxWidth.rawValue()) + "px;\""_L1; + const QString html = "<img src=\"" + imageFile + u'\"' + style + "\">"; + c.insertHtml(html); + +#ifdef DEBUG_WRITE_HTML + { + QFile out("/tmp/" + QLatin1String(QTest::currentDataTag()) + ".html"); + out.open(QFile::WriteOnly); + out.write(html.toLatin1()); + out.close(); + } + { + QFile out("/tmp/" + QLatin1String(QTest::currentDataTag()) + "_rewrite.html"); + out.open(QFile::WriteOnly); + out.write(doc.toHtml().toLatin1()); + out.close(); + } +#endif + const auto formats = doc.allFormats(); + const auto it = std::find_if(formats.begin(), formats.end(), [](const auto &format){ + return format.objectType() == QTextFormat::ImageObject; + }); + QCOMPARE_NE(it, formats.end()); + const QTextImageFormat format = (*it).toImageFormat(); + QTextImageHandler handler; + + QCOMPARE(handler.intrinsicSize(&doc, 0, format), expectedSize); +} +#endif + QTEST_MAIN(tst_QTextImageHandler) #include "tst_qtextimagehandler.moc" diff --git a/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp b/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp index 28eae93f6a..10d44f6d70 100644 --- a/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp +++ b/tests/auto/gui/text/qtextlist/tst_qtextlist.cpp @@ -140,6 +140,7 @@ void tst_QTextList::autoNumberingPrefixAndSuffixHtmlExportImport() QCOMPARE(list->count(), 28); +#ifndef QT_NO_TEXTHTMLPARSER QString htmlExport = doc->toHtml(); QTextDocument importDoc; importDoc.setHtml(htmlExport); @@ -152,6 +153,7 @@ void tst_QTextList::autoNumberingPrefixAndSuffixHtmlExportImport() QCOMPARE(importCursor.currentList()->itemNumber(importCursor.block()), 27); QCOMPARE(importCursor.currentList()->itemText(importCursor.block()), QLatin1String("\"ab#")); QCOMPARE(importCursor.currentList()->format().indent(), 10); +#endif } void tst_QTextList::autoNumberingRTL() diff --git a/tests/auto/gui/text/qtextmarkdownwriter/data/example.md b/tests/auto/gui/text/qtextmarkdownwriter/data/example.md index 15b30598e6..8fdad207ae 100644 --- a/tests/auto/gui/text/qtextmarkdownwriter/data/example.md +++ b/tests/auto/gui/text/qtextmarkdownwriter/data/example.md @@ -40,7 +40,7 @@ numerals in the same list structure: 1. Introduction 2. Qt Tools 1) Qt Assistant - 2) Qt Designer + 2) Qt Widgets Designer 1. Form Editor 2. Component Architecture 3) Qt Linguist @@ -70,7 +70,7 @@ column spans, text formatting within cells, and size constraints for columns. |-------------|------------------------------------|---------------------------|-------------------------| |9:00 - 11:00 |Introduction to Qt ||| |11:00 - 13:00|Using qmake |Object-oriented Programming|Layouts in Qt | -|13:00 - 15:00|Qt Designer Tutorial |Extreme Programming |Writing Custom Styles | +|13:00 - 15:00|Qt Widgets Designer Tutorial |Extreme Programming |Writing Custom Styles | |15:00 - 17:00|Qt Linguist and Internationalization|Test-Driven Development | | *Try adding text to the cells in the table and experiment with the alignment of diff --git a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp index 6fb5858c64..a7e319ef62 100644 --- a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp +++ b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp @@ -75,6 +75,8 @@ private slots: #endif void checkBorderAttributes_data(); void checkBorderAttributes(); + void checkTableBorderAttributes_data(); + void checkTableBorderAttributes(); #ifndef QT_NO_WIDGETS void columnWidthWithSpans(); @@ -1234,6 +1236,7 @@ void tst_QTextTable::checkBorderAttributes() QFETCH(QBrush, leftBorderBrush); QFETCH(QBrush, rightBorderBrush); +#ifndef QT_NO_TEXTHTMLPARSER QTextDocument doc; doc.setHtml(html); QTextCursor cursor(doc.firstBlock()); @@ -1259,6 +1262,75 @@ void tst_QTextTable::checkBorderAttributes() QCOMPARE(cellFormat.brushProperty(QTextFormat::TableCellRightBorderBrush), rightBorderBrush); } } +#endif +} + +void tst_QTextTable::checkTableBorderAttributes_data() +{ + QTest::addColumn<QString>("html"); + QTest::addColumn<qreal>("tableBorderWidth"); + QTest::addColumn<QTextFrameFormat::BorderStyle>("tableBorderStyle"); + QTest::addColumn<QBrush>("tableBorderBrush"); + + const QString tableHtmlStart = QStringLiteral("<html><head><style>"); + const QString tableHtmlEnd1 = QStringLiteral("</style></head><body>" + "<table><tr><td>One</td><td>Two</td></tr></table>" + "</body></html>"); + const QString tableHtmlEnd2 = QStringLiteral("</style></head><body>" + "<table border=10><tr><td>One</td><td>Two</td></tr></table>" + "</body></html>"); + + QTest::newRow("table-border-attributes-shorthand") + << QString("%1" + "table {" + "border: 2px solid red;" + "}" + "%2").arg(tableHtmlStart).arg(tableHtmlEnd1) + << 2.0 << QTextFrameFormat::BorderStyle_Solid << QBrush(Qt::red); + + QTest::newRow("table-border-attributes-explicit") + << QString("%1" + "table {" + "border-width: 2px;" + "border-color: red;" + "border-style: dashed;" + "}" + "%2").arg(tableHtmlStart).arg(tableHtmlEnd1) + << 2.0 << QTextFrameFormat::BorderStyle_Dashed << QBrush(Qt::red); + + QTest::newRow("table-border-override") + << QString("%1" + "table {" + "border: 2px solid red;" + "}" + "%2").arg(tableHtmlStart).arg(tableHtmlEnd2) + << 2.0 << QTextFrameFormat::BorderStyle_Solid << QBrush(Qt::red); + + QTest::newRow("table-border-default") + << QString("%1" + "%2").arg(tableHtmlStart).arg(tableHtmlEnd2) + << 10.0 << QTextFrameFormat::BorderStyle_Outset << QBrush(Qt::darkGray); +} + +void tst_QTextTable::checkTableBorderAttributes() +{ + QFETCH(QString, html); + QFETCH(qreal, tableBorderWidth); + QFETCH(QTextFrameFormat::BorderStyle, tableBorderStyle); + QFETCH(QBrush, tableBorderBrush); + +#ifndef QT_NO_TEXTHTMLPARSER + QTextDocument doc; + doc.setHtml(html); + QTextCursor cursor(doc.firstBlock()); + cursor.movePosition(QTextCursor::Right); + + QTextTable *currentTable = cursor.currentTable(); + QVERIFY(currentTable); + QCOMPARE(currentTable->format().border(), tableBorderWidth); + QCOMPARE(currentTable->format().borderStyle(), tableBorderStyle); + QCOMPARE(currentTable->format().borderBrush(), tableBorderBrush); +#endif } #ifndef QT_NO_WIDGETS @@ -1317,6 +1389,7 @@ void tst_QTextTable::columnWidthWithImage() QFETCH(QString, rightHtml); QFETCH(QSize, imageSize); +#ifndef QT_NO_TEXTHTMLPARSER QTextDocument doc; doc.setHtml(tableTemplate.arg(leftHtml).arg(rightHtml)); QTextEdit textEdit; @@ -1336,6 +1409,7 @@ void tst_QTextTable::columnWidthWithImage() const QRectF rightRect = currentTable->document()->documentLayout()->blockBoundingRect(block); QCOMPARE(leftRect.size().toSize(), imageSize); QVERIFY(rightRect.left() > leftRect.right()); +#endif } #endif diff --git a/tests/auto/gui/util/CMakeLists.txt b/tests/auto/gui/util/CMakeLists.txt index 830a9ff2f0..1efdf85b97 100644 --- a/tests/auto/gui/util/CMakeLists.txt +++ b/tests/auto/gui/util/CMakeLists.txt @@ -1,10 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -add_subdirectory(qdesktopservices) +if(QT_FEATURE_desktopservices) + add_subdirectory(qdesktopservices) +endif() add_subdirectory(qdoublevalidator) add_subdirectory(qintvalidator) add_subdirectory(qregularexpressionvalidator) add_subdirectory(qtexturefilereader) -add_subdirectory(qundogroup) -add_subdirectory(qundostack) +if(QT_FEATURE_undogroup) + add_subdirectory(qundogroup) +endif() +if(QT_FEATURE_undocommand) + add_subdirectory(qundostack) +endif() diff --git a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp index e08b299209..e75626eda7 100644 --- a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp +++ b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp @@ -42,10 +42,6 @@ public slots: } }; -#if QT_VERSION < QT_VERSION_CHECK(6, 6, 0) -# define CAN_IMPLICITLY_UNSET -#endif - void tst_qdesktopservices::handlers() { MyUrlHandler fooHandler; @@ -53,12 +49,10 @@ void tst_qdesktopservices::handlers() QDesktopServices::setUrlHandler(QString("foo"), &fooHandler, "handle"); QDesktopServices::setUrlHandler(QString("bar"), &barHandler, "handle"); -#ifndef CAN_IMPLICITLY_UNSET const auto unsetHandlers = qScopeGuard([] { QDesktopServices::unsetUrlHandler(u"bar"_s); QDesktopServices::unsetUrlHandler(u"foo"_s); }); -#endif QUrl fooUrl("foo://blub/meh"); QUrl barUrl("bar://hmm/hmmmm"); @@ -68,15 +62,6 @@ void tst_qdesktopservices::handlers() QCOMPARE(fooHandler.lastHandledUrl.toString(), fooUrl.toString()); QCOMPARE(barHandler.lastHandledUrl.toString(), barUrl.toString()); - -#ifdef CAN_IMPLICITLY_UNSET - for (int i = 0; i < 2; ++i) - QTest::ignoreMessage(QtWarningMsg, - "Please call QDesktopServices::unsetUrlHandler() before destroying a " - "registered URL handler object.\n" - "Support for destroying a registered URL handler object is deprecated, " - "and will be removed in Qt 6.6."); -#endif } QTEST_MAIN(tst_qdesktopservices) diff --git a/tests/auto/guiapplauncher/examples.txt b/tests/auto/guiapplauncher/examples.txt index 0cca93745f..7aef839925 100644 --- a/tests/auto/guiapplauncher/examples.txt +++ b/tests/auto/guiapplauncher/examples.txt @@ -23,7 +23,6 @@ "itemviews/addressbook Example", "examples/widgets/itemviews/addressbook", "addressbook", 0, -1 "itemviews/basicsortfiltermodel Example", "examples/widgets/itemviews/basicsortfiltermodel", "basicsortfiltermodel", 10, -1 "itemviews/chart Example", "examples/widgets/itemviews/chart", "chart", 0, -1 -"itemviews/coloreditorfactory Example", "examples/widgets/itemviews/coloreditorfactory", "coloreditorfactory", 10, -1 "itemviews/combowidgetmapper Example", "examples/widgets/itemviews/combowidgetmapper", "combowidgetmapper", 6, -1 "itemviews/customsortfiltermodel Example", "examples/widgets/itemviews/customsortfiltermodel", "customsortfiltermodel", 6, -1 "itemviews/dirview Example", "examples/widgets/itemviews/dirview", "dirview", 0, -1 @@ -85,7 +84,6 @@ "widgets/charactermap Example", "examples/widgets/widgets/charactermap", "charactermap", 10, -1 "widgets/codeeditor Example", "examples/widgets/widgets/codeeditor", "codeeditor", 0, -1 "widgets/digitalclock Example", "examples/widgets/widgets/digitalclock", "digitalclock", 10, -1 -"widgets/groupbox Example", "examples/widgets/widgets/groupbox", "groupbox", 10, -1 "widgets/icons Example", "examples/widgets/widgets/icons", "icons", 10, -1 "widgets/imageviewer Example", "examples/widgets/widgets/imageviewer", "imageviewer", 10, -1 "widgets/lineedits Example", "examples/widgets/widgets/lineedits", "lineedits", 10, -1 diff --git a/tests/auto/network/access/CMakeLists.txt b/tests/auto/network/access/CMakeLists.txt index 44b7d5c1bb..d1130f832e 100644 --- a/tests/auto/network/access/CMakeLists.txt +++ b/tests/auto/network/access/CMakeLists.txt @@ -2,19 +2,25 @@ # SPDX-License-Identifier: BSD-3-Clause add_subdirectory(qhttpheaders) -add_subdirectory(qnetworkdiskcache) +if(QT_FEATURE_networkdiskcache) + add_subdirectory(qnetworkdiskcache) +endif() add_subdirectory(qnetworkcookiejar) add_subdirectory(qnetworkaccessmanager) add_subdirectory(qnetworkcookie) add_subdirectory(qnetworkrequest) -add_subdirectory(qnetworkrequestfactory) add_subdirectory(qnetworkreply) add_subdirectory(qnetworkcachemetadata) add_subdirectory(qabstractnetworkcache) -add_subdirectory(qrestaccessmanager) +if(QT_FEATURE_http) + add_subdirectory(qnetworkreply_local) + add_subdirectory(qnetworkrequestfactory) + add_subdirectory(qrestaccessmanager) +endif() if(QT_FEATURE_private_tests) add_subdirectory(qhttp2connection) add_subdirectory(qhttpheaderparser) + add_subdirectory(qhttpheadershelper) add_subdirectory(qhttpnetworkconnection) add_subdirectory(qhttpnetworkreply) add_subdirectory(hpack) diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp index b624f6e436..d9e82330b2 100644 --- a/tests/auto/network/access/http2/tst_http2.cpp +++ b/tests/auto/network/access/http2/tst_http2.cpp @@ -25,6 +25,7 @@ #include <QtCore/qobject.h> #include <QtCore/qthread.h> #include <QtCore/qurl.h> +#include <QtCore/qset.h> #include <cstdlib> #include <memory> @@ -95,6 +96,8 @@ private slots: void authenticationRequired_data(); void authenticationRequired(); + void unsupportedAuthenticateChallenge(); + void h2cAllowedAttribute_data(); void h2cAllowedAttribute(); @@ -1243,6 +1246,89 @@ void tst_Http2::authenticationRequired() QTRY_VERIFY(serverGotSettingsACK); } +void tst_Http2::unsupportedAuthenticateChallenge() +{ + clearHTTP2State(); + serverPort = 0; + + if (defaultConnectionType() == H2Type::h2c) + QSKIP("This test requires TLS with ALPN to work"); + + ServerPtr targetServer(newServer(defaultServerSettings, defaultConnectionType())); + QByteArray responseBody = "Hello"_ba; + targetServer->setResponseBody(responseBody); + targetServer->setAuthenticationHeader("Bearer realm=\"qt.io accounts\""); + + QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection); + runEventLoop(); + + QVERIFY(serverPort != 0); + + nRequests = 1; + + QUrl url = requestUrl(defaultConnectionType()); + url.setPath("/index.html"); + QNetworkRequest request(url); + + QByteArray expectedBody = "Hello, World!"; + request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + QScopedPointer<QNetworkReply> reply; + reply.reset(manager->post(request, expectedBody)); + + bool authenticationRequested = false; + connect(manager.get(), &QNetworkAccessManager::authenticationRequired, reply.get(), + [&](QNetworkReply *, QAuthenticator *auth) { + authenticationRequested = true; + }); + + bool finishedReceived = false; + connect(reply.get(), &QNetworkReply::finished, reply.get(), + [&]() { finishedReceived = true; }); + bool errorReceived = false; + connect(reply.get(), &QNetworkReply::errorOccurred, reply.get(), + [&]() { errorReceived = true; }); + + QSet<quint32> receivedDataOnStreams; + connect(targetServer.get(), &Http2Server::receivedDATAFrame, reply.get(), + [&receivedDataOnStreams](quint32 streamID, const QByteArray &body) { + Q_UNUSED(body); + receivedDataOnStreams.insert(streamID); + }); + + // Use queued connection so that the finished signal can be emitted and the + // isFinished property can be set. + connect(reply.get(), &QNetworkReply::errorOccurred, this, + &tst_Http2::replyFinishedWithError, Qt::QueuedConnection); + + // Since we're using self-signed certificates, ignore SSL errors: + reply->ignoreSslErrors(); + + runEventLoop(); + STOP_ON_FAILURE + QVERIFY2(reply->isFinished(), + "The reply should error out if authentication fails, or finish if it succeeds"); + + QCOMPARE(reply->error(), QNetworkReply::AuthenticationRequiredError); + QVERIFY(reply->isFinished()); + QVERIFY(errorReceived); + QVERIFY(finishedReceived); + QCOMPARE(receivedDataOnStreams.size(), 1); + QVERIFY(receivedDataOnStreams.contains(1)); // the original, failed, request + + QVERIFY(!authenticationRequested); + + // We should not have sent any authentication headers to the server, since + // we don't support the challenge. + const QByteArray reqAuthHeader = targetServer->requestAuthorizationHeader(); + QVERIFY(reqAuthHeader.isEmpty()); + + // In the `!success` case we need to wait for the server to emit this or it might cause issues + // in the next test running after this. In the `success` case we anyway expect it to have been + // received. + QTRY_VERIFY(serverGotSettingsACK); + +} + void tst_Http2::h2cAllowedAttribute_data() { QTest::addColumn<bool>("h2cAllowed"); diff --git a/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp b/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp index 9bdef9bbe1..95f067a66e 100644 --- a/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp +++ b/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp @@ -50,6 +50,7 @@ private: }; +#if QT_CONFIG(networkdiskcache) class NetworkDiskCache : public QNetworkDiskCache { Q_OBJECT @@ -72,6 +73,7 @@ public: QTemporaryDir tempDir; bool gotData; }; +#endif tst_QAbstractNetworkCache::tst_QAbstractNetworkCache() @@ -254,10 +256,12 @@ void tst_QAbstractNetworkCache::runTest() QFETCH(bool, fetchFromCache); QNetworkAccessManager manager; +#if QT_CONFIG(networkdiskcache) NetworkDiskCache *diskCache = new NetworkDiskCache(&manager); QVERIFY2(diskCache->tempDir.isValid(), qPrintable(diskCache->tempDir.errorString())); manager.setCache(diskCache); QCOMPARE(diskCache->gotData, false); +#endif QUrl realUrl = url.contains("://") ? url : TESTFILE + url; QNetworkRequest request(realUrl); @@ -266,7 +270,9 @@ void tst_QAbstractNetworkCache::runTest() QNetworkReply *reply = manager.get(request); QSignalSpy downloaded1(reply, SIGNAL(finished())); QTRY_COMPARE(downloaded1.size(), 1); +#if QT_CONFIG(networkdiskcache) QCOMPARE(diskCache->gotData, false); +#endif QByteArray goodData = reply->readAll(); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, cacheLoadControl); @@ -293,7 +299,9 @@ void tst_QAbstractNetworkCache::runTest() std::sort(rawHeaderList.begin(), rawHeaderList.end()); std::sort(rawHeaderList2.begin(), rawHeaderList2.end()); } +#if QT_CONFIG(networkdiskcache) QCOMPARE(diskCache->gotData, fetchFromCache); +#endif } void tst_QAbstractNetworkCache::checkSynchronous() @@ -305,10 +313,12 @@ void tst_QAbstractNetworkCache::checkSynchronous() QFETCH(bool, fetchFromCache); QNetworkAccessManager manager; +#if QT_CONFIG(networkdiskcache) NetworkDiskCache *diskCache = new NetworkDiskCache(&manager); QVERIFY2(diskCache->tempDir.isValid(), qPrintable(diskCache->tempDir.errorString())); manager.setCache(diskCache); QCOMPARE(diskCache->gotData, false); +#endif QUrl realUrl = url.contains("://") ? url : TESTFILE + url; QNetworkRequest request(realUrl); @@ -320,7 +330,9 @@ void tst_QAbstractNetworkCache::checkSynchronous() // prime the cache QNetworkReply *reply = manager.get(request); QVERIFY(reply->isFinished()); // synchronous +#if QT_CONFIG(networkdiskcache) QCOMPARE(diskCache->gotData, false); +#endif QByteArray goodData = reply->readAll(); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, cacheLoadControl); @@ -348,15 +360,19 @@ void tst_QAbstractNetworkCache::checkSynchronous() std::sort(rawHeaderList.begin(), rawHeaderList.end()); std::sort(rawHeaderList2.begin(), rawHeaderList2.end()); } +#if QT_CONFIG(networkdiskcache) QCOMPARE(diskCache->gotData, fetchFromCache); +#endif } void tst_QAbstractNetworkCache::deleteCache() { QNetworkAccessManager manager; +#if QT_CONFIG(networkdiskcache) NetworkDiskCache *diskCache = new NetworkDiskCache(&manager); QVERIFY2(diskCache->tempDir.isValid(), qPrintable(diskCache->tempDir.errorString())); manager.setCache(diskCache); +#endif QString url = "httpcachetest_cachecontrol.cgi?max-age=1000"; QNetworkRequest request(QUrl(TESTFILE + url)); diff --git a/tests/auto/network/access/qhttpheadershelper/CMakeLists.txt b/tests/auto/network/access/qhttpheadershelper/CMakeLists.txt new file mode 100644 index 0000000000..75935d2844 --- /dev/null +++ b/tests/auto/network/access/qhttpheadershelper/CMakeLists.txt @@ -0,0 +1,15 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qhttpheadershelper LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + +qt_internal_add_test(tst_qhttpheadershelper + SOURCES + tst_qhttpheadershelper.cpp + LIBRARIES + Qt::NetworkPrivate +) diff --git a/tests/auto/network/access/qhttpheadershelper/tst_qhttpheadershelper.cpp b/tests/auto/network/access/qhttpheadershelper/tst_qhttpheadershelper.cpp new file mode 100644 index 0000000000..b204d0cbe3 --- /dev/null +++ b/tests/auto/network/access/qhttpheadershelper/tst_qhttpheadershelper.cpp @@ -0,0 +1,76 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtNetwork/qhttpheaders.h> +#include <QtNetwork/private/qhttpheadershelper_p.h> + +#include <QtTest/qtest.h> + +using namespace Qt::StringLiterals; + +class tst_QHttpHeadersHelper : public QObject +{ + Q_OBJECT + +private slots: + void testCompareStrict(); + +private: + static constexpr QAnyStringView n1{"name1"}; + static constexpr QAnyStringView n2{"name2"}; + static constexpr QAnyStringView v1{"value1"}; + static constexpr QAnyStringView v2{"value2"}; + static constexpr QAnyStringView N1{"NAME1"}; + static constexpr QAnyStringView N2{"NAME2"}; + static constexpr QAnyStringView V1{"VALUE1"}; + static constexpr QAnyStringView V2{"VALUE2"}; +}; + +void tst_QHttpHeadersHelper::testCompareStrict() +{ + using namespace QHttpHeadersHelper; + + // Basic comparisons + QHttpHeaders h1; + QHttpHeaders h2; + QVERIFY(compareStrict(h1, h2)); // empties + h1.append(n1, v1); + QVERIFY(compareStrict(h1, h1)); // self + h2.append(n1, v1); + QVERIFY(compareStrict(h1, h2)); + h1.append(n2, v2); + QVERIFY(!compareStrict(h1, h2)); + h1.removeAll(n2); + QVERIFY(compareStrict(h1, h2)); + + // Order-sensitivity + h1.clear(); + h2.clear(); + // Same headers but in different order + h1.append(n1, v1); + h1.append(n2, v2); + h2.append(n2, v2); + h2.append(n1, v1); + QVERIFY(!compareStrict(h1, h2)); + + // Different number of headers + h1.clear(); + h2.clear(); + h1.append(n1, v1); + h2.append(n1, v1); + h2.append(n2, v2); + QVERIFY(!compareStrict(h1, h2)); + + // Same header name, multiple values + h1.clear(); + h2.clear(); + h1.append(n1, v1); + h1.append(n1, v2); + h2.append(n1, v1); + QVERIFY(!compareStrict(h1, h2)); + h2.append(n1, v2); + QVERIFY(compareStrict(h1, h2)); +} + +QTEST_MAIN(tst_QHttpHeadersHelper) +#include "tst_qhttpheadershelper.moc" diff --git a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp index c68624ebb3..decd442164 100644 --- a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp +++ b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp @@ -125,7 +125,7 @@ void tst_QHttpNetworkConnection::head() QFETCH(QString, statusString); QFETCH(int, contentLength); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -175,7 +175,7 @@ void tst_QHttpNetworkConnection::get() QFETCH(int, contentLength); QFETCH(int, downloadSize); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -241,7 +241,7 @@ void tst_QHttpNetworkConnection::put() QFETCH(QString, data); QFETCH(bool, succeed); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -323,7 +323,7 @@ void tst_QHttpNetworkConnection::post() QFETCH(int, contentLength); QFETCH(int, downloadSize); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -450,7 +450,7 @@ void tst_QHttpNetworkConnection::get401() QFETCH(QString, password); QFETCH(int, statusCode); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -510,7 +510,7 @@ void tst_QHttpNetworkConnection::compression() QFETCH(bool, autoCompress); QFETCH(QString, contentCoding); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); QCOMPARE(connection.isSsl(), encrypt); @@ -584,7 +584,7 @@ void tst_QHttpNetworkConnection::ignoresslerror() QFETCH(bool, ignoreFromSignal); QFETCH(int, statusCode); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); if (ignoreInit) @@ -629,7 +629,7 @@ void tst_QHttpNetworkConnection::nossl() QFETCH(bool, encrypt); QFETCH(QNetworkReply::NetworkError, networkError); - QHttpNetworkConnection connection(host, port, encrypt); + QHttpNetworkConnection connection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, host, port, encrypt); QCOMPARE(connection.port(), port); QCOMPARE(connection.hostName(), host); @@ -919,7 +919,7 @@ void tst_QHttpNetworkConnection::getAndThenDeleteObject_data() void tst_QHttpNetworkConnection::getAndThenDeleteObject() { // yes, this will leak if the testcase fails. I don't care. It must not fail then :P - QHttpNetworkConnection *connection = new QHttpNetworkConnection(httpServerName()); + QHttpNetworkConnection *connection = new QHttpNetworkConnection(QHttpNetworkConnectionPrivate::defaultHttpChannelCount, httpServerName()); QHttpNetworkRequest request("http://" + httpServerName() + "/qtest/bigfile"); QHttpNetworkReply *reply = connection->sendRequest(request); reply->setDownstreamLimited(true); diff --git a/tests/auto/network/access/qnetworkcachemetadata/tst_qnetworkcachemetadata.cpp b/tests/auto/network/access/qnetworkcachemetadata/tst_qnetworkcachemetadata.cpp index f811943dea..d49195efc6 100644 --- a/tests/auto/network/access/qnetworkcachemetadata/tst_qnetworkcachemetadata.cpp +++ b/tests/auto/network/access/qnetworkcachemetadata/tst_qnetworkcachemetadata.cpp @@ -29,6 +29,8 @@ private slots: void operatorEqualEqual(); void rawHeaders_data(); void rawHeaders(); + void headers_data(); + void headers(); void saveToDisk_data(); void saveToDisk(); void url_data(); @@ -114,6 +116,12 @@ void tst_QNetworkCacheMetaData::isValid_data() QNetworkCacheMetaData data5; data5.setSaveToDisk(false); QTest::newRow("valid-5") << data5 << true; + + QNetworkCacheMetaData data6; + QHttpHeaders httpHeaders; + httpHeaders.append("name", "value"); + data6.setHeaders(httpHeaders); + QTest::newRow("valid-6") << data6 << true; } // public bool isValid() const @@ -153,6 +161,9 @@ void tst_QNetworkCacheMetaData::operatorEqual_data() QNetworkCacheMetaData::RawHeaderList headers; headers.append(QNetworkCacheMetaData::RawHeader("foo", "Bar")); data.setRawHeaders(headers); + QHttpHeaders httpHeaders; + httpHeaders.append("name", "value"); + data.setHeaders(httpHeaders); data.setLastModified(QDateTime::currentDateTime()); data.setExpirationDate(QDateTime::currentDateTime()); data.setSaveToDisk(false); @@ -212,6 +223,18 @@ void tst_QNetworkCacheMetaData::operatorEqualEqual_data() QTest::newRow("valid-5-4") << data5 << data2 << false; QTest::newRow("valid-5-5") << data5 << data3 << false; QTest::newRow("valid-5-6") << data5 << data4 << false; + + QNetworkCacheMetaData data6; + QHttpHeaders httpHeaders; + httpHeaders.append("name", "value"); + data6.setHeaders(httpHeaders); + QTest::newRow("valid-6-1") << data6 << QNetworkCacheMetaData() << false; + QTest::newRow("valid-6-2") << data6 << data6 << true; + QTest::newRow("valid-6-3") << data6 << data1 << false; + QTest::newRow("valid-6-4") << data6 << data2 << false; + QTest::newRow("valid-6-5") << data6 << data3 << false; + QTest::newRow("valid-6-6") << data6 << data4 << false; + QTest::newRow("valid-6-7") << data6 << data5 << false; } // public bool operator==(QNetworkCacheMetaData const& other) const @@ -231,7 +254,11 @@ void tst_QNetworkCacheMetaData::rawHeaders_data() QTest::newRow("null") << QNetworkCacheMetaData::RawHeaderList(); QNetworkCacheMetaData::RawHeaderList headers; headers.append(QNetworkCacheMetaData::RawHeader("foo", "Bar")); - QTest::newRow("valie") << headers; + QTest::newRow("valid") << headers; + headers.append(QNetworkCacheMetaData::RawHeader("n1", "V1, v2, v3")); + headers.append(QNetworkCacheMetaData::RawHeader("n2", "V2")); + headers.append(QNetworkCacheMetaData::RawHeader("set-cookie", "v1\nV2\nV3")); + QTest::newRow("valid-2") << headers; } // public QNetworkCacheMetaData::RawHeaderList rawHeaders() const @@ -245,6 +272,25 @@ void tst_QNetworkCacheMetaData::rawHeaders() QCOMPARE(data.rawHeaders(), rawHeaders); } +void tst_QNetworkCacheMetaData::headers_data() +{ + QTest::addColumn<QHttpHeaders>("httpHeaders"); + QTest::newRow("null") << QHttpHeaders(); + QHttpHeaders headers; + headers.append("foo", "Bar"); + QTest::newRow("valid") << headers; +} + +void tst_QNetworkCacheMetaData::headers() +{ + QFETCH(QHttpHeaders, httpHeaders); + + SubQNetworkCacheMetaData data; + + data.setHeaders(httpHeaders); + QCOMPARE(data.headers().toListOfPairs(), httpHeaders.toListOfPairs()); +} + void tst_QNetworkCacheMetaData::saveToDisk_data() { QTest::addColumn<bool>("saveToDisk"); @@ -289,6 +335,9 @@ void tst_QNetworkCacheMetaData::stream() QNetworkCacheMetaData::RawHeaderList headers; headers.append(QNetworkCacheMetaData::RawHeader("foo", "Bar")); data.setRawHeaders(headers); + QHttpHeaders httpHeaders; + httpHeaders.append("name", "value"); + data.setHeaders(httpHeaders); data.setLastModified(QDateTime::currentDateTime()); data.setExpirationDate(QDateTime::currentDateTime()); data.setSaveToDisk(false); diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index a4a05b18f5..a26d2c809b 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -35,8 +35,10 @@ #include <QtNetwork/QTcpServer> #include <QtNetwork/QTcpSocket> +#if QT_CONFIG(localserver) #include <QtNetwork/QLocalSocket> #include <QtNetwork/QLocalServer> +#endif #include <QtNetwork/QHostInfo> #include <QtNetwork/QNetworkAccessManager> #include <QtNetwork/QNetworkRequest> @@ -44,14 +46,18 @@ #include <QtNetwork/QAbstractNetworkCache> #include <QtNetwork/qauthenticator.h> #include <QtNetwork/qnetworkaccessmanager.h> +#if QT_CONFIG(networkdiskcache) #include <QtNetwork/qnetworkdiskcache.h> +#endif #include <QtNetwork/qnetworkrequest.h> #include <QtNetwork/qnetworkreply.h> -#include <QtNetwork/QHttp1Configuration> #include <QtNetwork/qnetworkcookie.h> #include <QtNetwork/QNetworkCookieJar> +#if QT_CONFIG(http) #include <QtNetwork/QHttpPart> #include <QtNetwork/QHttpMultiPart> +#include <QtNetwork/QHttp1Configuration> +#endif #include <QtNetwork/QNetworkProxyQuery> #if QT_CONFIG(ssl) #include <QtNetwork/qsslerror.h> @@ -129,14 +135,14 @@ class tst_QNetworkReply: public QObject static QString tempRedirectReplyStr() { QString s = "HTTP/1.1 307 Temporary Redirect\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %1\r\n" "\r\n"; return s; } static QString movedReplyStr() { QString s = "HTTP/1.1 301 Moved Permanently\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %1\r\n" "\r\n"; return s; @@ -144,7 +150,7 @@ class tst_QNetworkReply: public QObject static QString foundReplyStr() { QString s = "HTTP/1.1 302 Found\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %1\r\n" "\r\n"; return s; @@ -152,7 +158,7 @@ class tst_QNetworkReply: public QObject static QString permRedirectReplyStr() { QString s = "HTTP/1.1 308 Permanent Redirect\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %1\r\n" "\r\n"; return s; @@ -194,8 +200,10 @@ public: ~tst_QNetworkReply(); QString runSimpleRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QNetworkReplyPtr &reply, const QByteArray &data = QByteArray()); +#if QT_CONFIG(http) QString runMultipartRequest(const QNetworkRequest &request, QNetworkReplyPtr &reply, QHttpMultiPart *multiPart, const QByteArray &verb); +#endif QString runCustomRequest(const QNetworkRequest &request, QNetworkReplyPtr &reply, const QByteArray &verb, QIODevice *data); @@ -261,17 +269,21 @@ private Q_SLOTS: void putToHttp(); void putToHttpSynchronous_data(); void putToHttpSynchronous(); +#if QT_CONFIG(http) void putToHttpMultipart_data(); void putToHttpMultipart(); +#endif void putWithoutBody(); void putWithoutBody_data(); void postToHttp_data(); void postToHttp(); void postToHttpSynchronous_data(); void postToHttpSynchronous(); +#if QT_CONFIG(http) void postToHttpMultipart_data(); void postToHttpMultipart(); void multipartSkipIndices(); // QTBUG-32534 +#endif void postWithoutBody_data(); void postWithoutBody(); #if QT_CONFIG(ssl) @@ -342,8 +354,10 @@ private Q_SLOTS: void ioPutToFileFromFile(); void ioPutToFileFromSocket_data(); void ioPutToFileFromSocket(); +#if QT_CONFIG(localserver) void ioPutToFileFromLocalSocket_data(); void ioPutToFileFromLocalSocket(); +#endif void ioPutToFileFromProcess_data(); void ioPutToFileFromProcess(); void ioPutToFtpFromFile_data(); @@ -449,7 +463,9 @@ private Q_SLOTS: void ioGetFromHttpWithoutContentLength(); void ioGetFromHttpBrokenChunkedEncoding(); +#if QT_CONFIG(http) void qtbug12908compressedHttpReply(); +#endif void compressedHttpReplyBrokenGzip(); void getFromUnreachableIp(); @@ -468,7 +484,9 @@ private Q_SLOTS: void qtbug27161httpHeaderMayBeDamaged_data(); void qtbug27161httpHeaderMayBeDamaged(); +#if QT_CONFIG(networkdiskcache) void qtbug28035browserDoesNotLoadQtProjectOrgCorrectly(); +#endif void qtbug45581WrongReplyStatusCode(); @@ -484,8 +502,10 @@ private Q_SLOTS: void varyingCacheExpiry_data(); void varyingCacheExpiry(); +#if QT_CONFIG(http) void amountOfHttp1ConnectionsQtbug25280_data(); void amountOfHttp1ConnectionsQtbug25280(); +#endif void dontInsertPartialContentIntoTheCache(); @@ -521,12 +541,16 @@ private Q_SLOTS: void ioHttpCookiesDuringRedirect(); void ioHttpRedirect_data(); void ioHttpRedirect(); +#if QT_CONFIG(networkdiskcache) void ioHttpRedirectWithCache(); +#endif void ioHttpRedirectFromLocalToRemote(); void ioHttpRedirectPostPut_data(); void ioHttpRedirectPostPut(); +#if QT_CONFIG(http) void ioHttpRedirectMultipartPost_data(); void ioHttpRedirectMultipartPost(); +#endif void ioHttpRedirectDelete(); void ioHttpRedirectCustom(); void ioHttpRedirectWithUploadDevice_data(); @@ -540,16 +564,20 @@ private Q_SLOTS: void autoDeleteReplies_data(); void autoDeleteReplies(); +#if QT_CONFIG(http) || defined (Q_OS_WASM) void requestWithTimeout_data(); void requestWithTimeout(); +#endif void moreActivitySignals_data(); void moreActivitySignals(); void contentEncoding_data(); void contentEncoding(); +#if QT_CONFIG(http) void contentEncodingBigPayload_data(); void contentEncodingBigPayload(); +#endif void cacheWithContentEncoding_data(); void cacheWithContentEncoding(); void downloadProgressWithContentEncoding_data(); @@ -560,8 +588,13 @@ private Q_SLOTS: void notFoundWithCompression_data(); void notFoundWithCompression(); +#if QT_CONFIG(http) + void qhttpPartDebug_data(); + void qhttpPartDebug(); + void qtbug68821proxyError_data(); void qtbug68821proxyError(); +#endif void abortAndError(); @@ -1437,6 +1470,7 @@ void tst_QNetworkReply::storeSslConfiguration() } #endif +#if QT_CONFIG(http) QString tst_QNetworkReply::runMultipartRequest(const QNetworkRequest &request, QNetworkReplyPtr &reply, QHttpMultiPart *multiPart, @@ -1468,6 +1502,7 @@ QString tst_QNetworkReply::runMultipartRequest(const QNetworkRequest &request, } return QString(); } +#endif QString tst_QNetworkReply::runSimpleRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, @@ -2753,7 +2788,7 @@ void tst_QNetworkReply::postToHttp() QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/md5sum.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply; QFETCH(QByteArray, data); @@ -2780,7 +2815,7 @@ void tst_QNetworkReply::postToHttpSynchronous() QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/md5sum.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); request.setAttribute( QNetworkRequest::SynchronousRequestAttribute, @@ -2802,6 +2837,7 @@ void tst_QNetworkReply::postToHttpSynchronous() QCOMPARE(uploadedData, md5sum.toHex()); } +#if QT_CONFIG(http) void tst_QNetworkReply::postToHttpMultipart_data() { QTest::addColumn<QUrl>("url"); @@ -2841,8 +2877,8 @@ void tst_QNetworkReply::postToHttpMultipart_data() QHttpMultiPart *customMultiPart = new QHttpMultiPart; customMultiPart->append(textPart); - expectedData = "header: Content-Type, value: 'text/plain'\n" - "header: Content-Disposition, value: 'form-data; name=\"text\"'\n" + expectedData = "header: content-type, value: 'text/plain'\n" + "header: content-disposition, value: 'form-data; name=\"text\"'\n" "content: 7 bytes\n" "\n"; QTest::newRow("text-custom") << url << customMultiPart << expectedData << QByteArray("custom"); @@ -2878,18 +2914,18 @@ void tst_QNetworkReply::postToHttpMultipart_data() multiPart3->append(textPart); multiPart3->append(textPart2); multiPart3->append(textPart3); - expectedData = "header: Content-Type, value: 'text/plain'\n" - "header: Content-Disposition, value: 'form-data; name=\"text\"'\n" + expectedData = "header: content-type, value: 'text/plain'\n" + "header: content-disposition, value: 'form-data; name=\"text\"'\n" "content: 7 bytes\n" "\n" - "header: Content-Type, value: 'text/plain'\n" - "header: myRawHeader, value: 'myValue'\n" - "header: Content-Disposition, value: 'form-data; name=\"text2\"'\n" + "header: content-type, value: 'text/plain'\n" + "header: myrawheader, value: 'myValue'\n" + "header: content-disposition, value: 'form-data; name=\"text2\"'\n" "content: some more bytes\n" "\n" - "header: Content-Type, value: 'text/plain'\n" - "header: Content-Disposition, value: 'form-data; name=\"text3\"'\n" - "header: Content-Location, value: 'http://my.test.location.tld'\n" + "header: content-type, value: 'text/plain'\n" + "header: content-disposition, value: 'form-data; name=\"text3\"'\n" + "header: content-location, value: 'http://my.test.location.tld'\n" "content: even more bytes\n\n"; QTest::newRow("text-text-text") << url << multiPart3 << expectedData << QByteArray("alternative"); @@ -3111,6 +3147,7 @@ void tst_QNetworkReply::multipartSkipIndices() // QTBUG-32534 } multiPart->deleteLater(); } +#endif void tst_QNetworkReply::postWithoutBody_data() { @@ -3153,6 +3190,7 @@ void tst_QNetworkReply::postWithoutBody() QCOMPARE(server.foundContentLength, client_data); } +#if QT_CONFIG(http) void tst_QNetworkReply::putToHttpMultipart_data() { postToHttpMultipart_data(); @@ -3197,6 +3235,7 @@ void tst_QNetworkReply::putToHttpMultipart() // QEXPECT_FAIL("nested", "the server does not understand nested multipart messages", Continue); // see above QCOMPARE(replyData, expectedReplyData); } +#endif #if QT_CONFIG(ssl) void tst_QNetworkReply::putToHttps_data() @@ -3308,7 +3347,7 @@ void tst_QNetworkReply::postToHttps() QSslConfiguration conf; conf.setCaCertificates(certs); request.setSslConfiguration(conf); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply; QFETCH(QByteArray, data); @@ -3342,7 +3381,7 @@ void tst_QNetworkReply::postToHttpsSynchronous() QSslConfiguration conf; conf.setCaCertificates(certs); request.setSslConfiguration(conf); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); request.setAttribute( QNetworkRequest::SynchronousRequestAttribute, @@ -3364,6 +3403,7 @@ void tst_QNetworkReply::postToHttpsSynchronous() QCOMPARE(uploadedData, md5sum.toHex()); } +#if QT_CONFIG(http) void tst_QNetworkReply::postToHttpsMultipart_data() { if (isSecureTransport) @@ -3414,7 +3454,7 @@ void tst_QNetworkReply::postToHttpsMultipart() expectedReplyData.prepend("content type: multipart/" + contentType + "; boundary=\"" + multiPart->boundary() + "\"\n"); QCOMPARE(replyData, expectedReplyData); } - +#endif #endif // QT_CONFIG(ssl) void tst_QNetworkReply::deleteFromHttp_data() @@ -4458,7 +4498,7 @@ void tst_QNetworkReply::ioGetFromHttpWithCache_data() QByteArray reply200 = "HTTP/1.0 200\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: no-store\r\n" "Content-length: 8\r\n" "\r\n" @@ -4593,7 +4633,7 @@ void tst_QNetworkReply::ioGetFromHttpWithCache_data() QByteArray reply206 = "HTTP/1.0 206\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: no-cache\r\n" "Content-Range: bytes 2-6/8\r\n" "Content-length: 4\r\n" @@ -4996,6 +5036,7 @@ void tst_QNetworkReply::ioPutToFileFromSocket() QCOMPARE(contents, data); } +#if QT_CONFIG(localserver) void tst_QNetworkReply::ioPutToFileFromLocalSocket_data() { putToFile_data(); @@ -5039,6 +5080,7 @@ void tst_QNetworkReply::ioPutToFileFromLocalSocket() QByteArray contents = file.readAll(); QCOMPARE(contents, data); } +#endif // Currently no stdin/out supported for Windows CE. void tst_QNetworkReply::ioPutToFileFromProcess_data() @@ -5202,7 +5244,7 @@ void tst_QNetworkReply::ioPostToHttpFromFile() QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/md5sum.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, &sourceFile)); @@ -5279,7 +5321,7 @@ void tst_QNetworkReply::ioPostToHttpFromSocket() socketpair.endPoints[0]->write(data); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); manager.setProxy(proxy); QNetworkReplyPtr reply(manager.post(request, socketpair.endPoints[1])); @@ -5353,7 +5395,7 @@ void tst_QNetworkReply::ioPostToHttpFromSocketSynchronous() QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/md5sum.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); request.setAttribute( QNetworkRequest::SynchronousRequestAttribute, true); @@ -5384,7 +5426,7 @@ void tst_QNetworkReply::ioPostToHttpFromMiddleOfFileToEnd() QUrl url = "http://" + QtNetworkSettings::httpServerName() + "/qtest/protected/cgi-bin/md5sum.cgi"; QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, &sourceFile)); connect(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), @@ -5410,7 +5452,7 @@ void tst_QNetworkReply::ioPostToHttpFromMiddleOfFileFiveBytes() QUrl url = "http://" + QtNetworkSettings::httpServerName() + "/qtest/protected/cgi-bin/md5sum.cgi"; QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); // only send 5 bytes request.setHeader(QNetworkRequest::ContentLengthHeader, 5); QVERIFY(request.header(QNetworkRequest::ContentLengthHeader).isValid()); @@ -5441,7 +5483,7 @@ void tst_QNetworkReply::ioPostToHttpFromMiddleOfQBufferFiveBytes() QUrl url = "http://" + QtNetworkSettings::httpServerName() + "/qtest/protected/cgi-bin/md5sum.cgi"; QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, &uploadBuffer)); connect(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), @@ -5469,7 +5511,7 @@ void tst_QNetworkReply::ioPostToHttpNoBufferFlag() QUrl url = "http://" + QtNetworkSettings::httpServerName() + "/qtest/protected/cgi-bin/md5sum.cgi"; QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); // disallow buffering request.setAttribute(QNetworkRequest::DoNotBufferUploadDataAttribute, true); request.setHeader(QNetworkRequest::ContentLengthHeader, data.size()); @@ -5554,7 +5596,7 @@ void tst_QNetworkReply::ioPostToHttpsUploadProgress() QUrl url = QUrl(QLatin1String("https://127.0.0.1:") + QString::number(server.serverPort()) + QLatin1Char('/')); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, sourceFile)); QSignalSpy spy(reply.data(), SIGNAL(uploadProgress(qint64,qint64))); @@ -5708,7 +5750,7 @@ void tst_QNetworkReply::ioPostToHttpUploadProgress() // create the request QUrl url = QUrl(QString("http://127.0.0.1:%1/").arg(server.serverPort())); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, &sourceFile)); QSignalSpy spy(reply.data(), SIGNAL(uploadProgress(qint64,qint64))); connect(&server, SIGNAL(newConnection()), &QTestEventLoop::instance(), SLOT(exitLoop())); @@ -5776,7 +5818,7 @@ void tst_QNetworkReply::emitAllUploadProgressSignals() QUrl url = QUrl(QLatin1String("http://127.0.0.1:") + QString::number(server.serverPort()) + QLatin1Char('/')); QNetworkRequest normalRequest(url); - normalRequest.setRawHeader("Content-Type", "application/octet-stream"); + normalRequest.setRawHeader("content-type", "application/octet-stream"); QNetworkRequest catchAllSignalsRequest(normalRequest); catchAllSignalsRequest.setAttribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute, true); @@ -5827,7 +5869,7 @@ void tst_QNetworkReply::ioPostToHttpEmptyUploadProgress() // create the request QUrl url = QUrl(QLatin1String("http://127.0.0.1:") + QString::number(server.serverPort()) + QLatin1Char('/')); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply(manager.post(request, &buffer)); QSignalSpy spy(reply.data(), SIGNAL(uploadProgress(qint64,qint64))); connect(&server, SIGNAL(newConnection()), &QTestEventLoop::instance(), SLOT(exitLoop())); @@ -5873,7 +5915,11 @@ void tst_QNetworkReply::lastModifiedHeaderForFile() QVERIFY2(waitForFinish(reply) == Success, msgWaitForFinished(reply)); QDateTime header = reply->header(QNetworkRequest::LastModifiedHeader).toDateTime(); - QCOMPARE(header, fileInfo.lastModified()); + QDateTime expected = fileInfo.lastModified(); + // remove msecs, HTTP dates don't support it + expected = expected.addMSecs(-expected.time().msec()); + + QCOMPARE(header.toUTC(), expected.toUTC()); } void tst_QNetworkReply::lastModifiedHeaderForHttp() @@ -6179,7 +6225,7 @@ void tst_QNetworkReply::receiveCookiesFromHttp() QByteArray data = cookieString.toLatin1() + '\n'; QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/set-cookie.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); QNetworkReplyPtr reply; RUN_REQUEST(runSimpleRequest(QNetworkAccessManager::PostOperation, request, reply, data)); @@ -6207,7 +6253,7 @@ void tst_QNetworkReply::receiveCookiesFromHttpSynchronous() QUrl url("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/set-cookie.cgi"); QNetworkRequest request(url); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); request.setAttribute( QNetworkRequest::SynchronousRequestAttribute, true); @@ -7485,6 +7531,7 @@ void tst_QNetworkReply::ioGetFromHttpBrokenChunkedEncoding() QCOMPARE(reply->error(), QNetworkReply::NoError); } +#if QT_CONFIG(http) // TODO: // Prepare a gzip that has one chunk that expands to the size mentioned in the bugreport. // Then have a custom HTTP server that waits after this chunk so the returning gets @@ -7513,6 +7560,7 @@ void tst_QNetworkReply::qtbug12908compressedHttpReply() QCOMPARE(reply->size(), qint64(16384)); QCOMPARE(reply->readAll(), QByteArray(16384, '\0')); } +#endif void tst_QNetworkReply::compressedHttpReplyBrokenGzip() { @@ -8039,11 +8087,12 @@ void tst_QNetworkReply::qtbug27161httpHeaderMayBeDamaged(){ QCOMPARE(reply->readAll(), QByteArray("ABC")); } +#if QT_CONFIG(networkdiskcache) void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { QByteArray getReply = "HTTP/1.1 200\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: max-age = 6000\r\n" "\r\n" "GET"; @@ -8051,7 +8100,7 @@ void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { QByteArray postReply = "HTTP/1.1 200\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: max-age = 6000\r\n" "Content-length: 4\r\n" "\r\n" @@ -8060,7 +8109,7 @@ void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { QByteArray putReply = "HTTP/1.1 201\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: max-age = 6000\r\n" "\r\n"; @@ -8098,7 +8147,7 @@ void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { server.clearHeaderParserState(); server.setDataToTransmit(postReply); - request.setRawHeader("Content-Type", "text/plain"); + request.setRawHeader("content-type", "text/plain"); reply.reset(manager.post(request, postData)); QVERIFY2(waitForFinish(reply) == Success, msgWaitForFinished(reply)); @@ -8163,6 +8212,7 @@ void tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() { QCOMPARE(reply->readAll(), QByteArray("GET")); QCOMPARE(reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool(), true); } +#endif void tst_QNetworkReply::qtbug45581WrongReplyStatusCode() { @@ -8548,6 +8598,7 @@ public: } }; +#if QT_CONFIG(http) void tst_QNetworkReply::amountOfHttp1ConnectionsQtbug25280_data() { QTest::addColumn<int>("amount"); @@ -8588,13 +8639,14 @@ void tst_QNetworkReply::amountOfHttp1ConnectionsQtbug25280() } QCOMPARE(server.receivedSockets.size(), amount); } +#endif void tst_QNetworkReply::dontInsertPartialContentIntoTheCache() { QByteArray reply206 = "HTTP/1.0 206\r\n" "Connection: keep-alive\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-control: no-cache\r\n" "Content-Range: bytes 2-6/8\r\n" "Content-length: 4\r\n" @@ -8651,7 +8703,7 @@ void tst_QNetworkReply::synchronousAuthenticationCache() "WWW-Authenticate: Basic realm=\"QNetworkAccessManager Test Realm\"\r\n" "Content-Length: 4\r\n" "Connection: close\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "\r\n" "auth"; QRegularExpression rx("authorization: Basic ([^\r\n]*)\r\n"); @@ -8660,7 +8712,7 @@ void tst_QNetworkReply::synchronousAuthenticationCache() if (QByteArray::fromBase64(match.captured(1).toLatin1()) == "login:password") { dataToTransmit = "HTTP/1.0 200 OK\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Content-Length: 2\r\n" "\r\n" "OK"; @@ -9030,7 +9082,7 @@ void tst_QNetworkReply::ioHttpRedirectErrors_data() QTest::addColumn<QNetworkReply::NetworkError>("error"); QString tempRedirectReply = QString("HTTP/1.1 307 Temporary Redirect\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: http://localhost:%1\r\n\r\n"); QTest::newRow("too-many-redirects") << "http://localhost" << tempRedirectReply << QNetworkReply::TooManyRedirectsError; @@ -9338,7 +9390,7 @@ void tst_QNetworkReply::ioHttpRedirect() targetUrl.setPort(target.serverPort()); QString redirectReply = QStringLiteral("HTTP/1.1 %1\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %2\r\n" "\r\n").arg(status, targetUrl.toString()); MiniHttpServer redirectServer(redirectReply.toLatin1(), false); @@ -9356,6 +9408,7 @@ void tst_QNetworkReply::ioHttpRedirect() QVERIFY(validateRedirectedResponseHeaders(reply)); } +#if QT_CONFIG(networkdiskcache) /* Test that, if we load a redirect from cache, we don't treat the request to the destination of the redirect as a redirect. @@ -9366,7 +9419,7 @@ void tst_QNetworkReply::ioHttpRedirectWithCache() { // Disallow caching the result so that the second request must also send the request QByteArray http200ResponseNoCache = "HTTP/1.1 200 OK\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "Cache-Control: no-cache\r\n" "\r\nHello"; @@ -9376,7 +9429,7 @@ void tst_QNetworkReply::ioHttpRedirectWithCache() // A cache-able redirect reply QString redirectReply = QStringLiteral("HTTP/1.1 308\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %1\r\n" "Cache-Control: max-age=3600\r\n" "\r\nYou're being redirected").arg(targetUrl.toString()); @@ -9413,6 +9466,7 @@ void tst_QNetworkReply::ioHttpRedirectWithCache() QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200); QVERIFY(validateRedirectedResponseHeaders(reply)); } +#endif void tst_QNetworkReply::ioHttpRedirectFromLocalToRemote() { @@ -9488,7 +9542,7 @@ void tst_QNetworkReply::ioHttpRedirectPostPut() QUrl targetUrl("http://" + QtNetworkSettings::httpServerName() + "/qtest/cgi-bin/md5sum.cgi"); QString redirectReply = QStringLiteral("HTTP/1.1 %1\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %2\r\n" "\r\n").arg(status, targetUrl.toString()); MiniHttpServer redirectServer(redirectReply.toLatin1()); @@ -9507,6 +9561,7 @@ void tst_QNetworkReply::ioHttpRedirectPostPut() QCOMPARE(reply->readAll().trimmed(), md5sum(data).toHex()); } +#if QT_CONFIG(http) void tst_QNetworkReply::ioHttpRedirectMultipartPost_data() { postToHttpMultipart_data(); @@ -9567,6 +9622,7 @@ void tst_QNetworkReply::ioHttpRedirectMultipartPost() // QEXPECT_FAIL("nested", "the server does not understand nested multipart messages", Continue); // see above QCOMPARE(replyData, expectedReplyData); } +#endif void tst_QNetworkReply::ioHttpRedirectDelete() { @@ -9642,7 +9698,7 @@ void tst_QNetworkReply::ioHttpRedirectWithUploadDevice() targetUrl.setPort(target.serverPort()); QString redirectReply = QStringLiteral("HTTP/1.1 %1\r\n" - "Content-Type: text/plain\r\n" + "content-type: text/plain\r\n" "location: %2\r\n" "\r\n").arg(status, targetUrl.toString()); MiniHttpServer redirectServer(redirectReply.toLatin1()); @@ -9676,8 +9732,8 @@ void tst_QNetworkReply::ioHttpRedirectWithUploadDevice() // we shouldn't send Content-Length with not content (esp. for GET) QVERIFY2(!target.receivedData.contains("Content-Length"), "Target server should not have received a Content-Length header"); - QVERIFY2(!target.receivedData.contains("Content-Type"), - "Target server should not have received a Content-Type header"); + QVERIFY2(!target.receivedData.contains("content-type"), + "Target server should not have received a content-type header"); } } @@ -10008,6 +10064,7 @@ void tst_QNetworkReply::autoDeleteReplies() } } +#if QT_CONFIG(http) || defined (Q_OS_WASM) void tst_QNetworkReply::requestWithTimeout_data() { using Operation = QNetworkAccessManager::Operation; @@ -10045,7 +10102,7 @@ void tst_QNetworkReply::requestWithTimeout() server.stopTransfer = true; QNetworkRequest request(QUrl("http://localhost:" + QString::number(server.serverPort()))); - request.setRawHeader("Content-Type", "application/octet-stream"); + request.setRawHeader("content-type", "application/octet-stream"); if (reqInt > 0) request.setTransferTimeout(reqInt); if (reqChrono > 0ms) @@ -10067,6 +10124,7 @@ void tst_QNetworkReply::requestWithTimeout() QCOMPARE(spy.size(), 1); QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError); } +#endif void tst_QNetworkReply::moreActivitySignals_data() { @@ -10097,7 +10155,7 @@ void tst_QNetworkReply::moreActivitySignals() QNetworkRequest request(url); QNetworkReplyPtr reply; if (postWithData) { - request.setRawHeader("Content-Type", "text/plain"); + request.setRawHeader("content-type", "text/plain"); reply.reset(manager.post(request, "Hello, world!")); } else { reply.reset(manager.get(request)); @@ -10118,7 +10176,7 @@ void tst_QNetworkReply::moreActivitySignals() // Second request will not send socketStartedConnecting because of keep-alive, so don't check it. QNetworkReplyPtr secondreply; if (postWithData) { - request.setRawHeader("Content-Type", "text/plain"); + request.setRawHeader("content-type", "text/plain"); secondreply.reset(manager.post(request, "Hello, world!")); } else { secondreply.reset(manager.get(request)); @@ -10239,6 +10297,7 @@ void tst_QNetworkReply::contentEncoding() } } +#if QT_CONFIG(http) void tst_QNetworkReply::contentEncodingBigPayload_data() { QTest::addColumn<QByteArray>("encoding"); @@ -10297,6 +10356,7 @@ void tst_QNetworkReply::contentEncodingBigPayload() } QCOMPARE(total, expectedSize); } +#endif void tst_QNetworkReply::cacheWithContentEncoding_data() { @@ -10479,6 +10539,60 @@ void tst_QNetworkReply::notFoundWithCompression() QCOMPARE(reply->readAll(), expected); } +#if QT_CONFIG(http) +void tst_QNetworkReply::qhttpPartDebug_data() +{ + QTest::addColumn<QByteArray>("header_data"); + QTest::addColumn<QByteArray>("raw_header_data"); + QTest::addColumn<QList<QByteArray>>("expected_header_values"); + QTest::addColumn<bool>("overwrite"); + + QTest::newRow("header-data-set") << "form-data; name=\"prompt\""_ba << ""_ba + << (QList<QByteArray>() << "form-data; name=\"prompt\""_ba) << false; + QTest::newRow("raw-header-data-set") << ""_ba << "thisismykeyherebutnotreally"_ba + << (QList<QByteArray>() << "thisismykeyherebutnotreally"_ba) << false; + QTest::newRow("both-set") << "form-data; name=\"prompt\""_ba + << "thisismykeyherebutnotreally"_ba + << (QList<QByteArray>() + << "form-data; name=\"prompt\""_ba + << "thisismykeyherebutnotreally"_ba) << false; + QTest::newRow("overwrite") << "form-data; name=\"prompt\""_ba + << "thisismykeyherebutnotreally"_ba + << (QList<QByteArray>() + << "thisismykeyherebutnotreally"_ba + << "thisismykeyherebutnotreally"_ba) << true; +} + +void tst_QNetworkReply::qhttpPartDebug() +{ + QFETCH(const QByteArray, header_data); + QFETCH(const QByteArray, raw_header_data); + QFETCH(const QList<QByteArray>, expected_header_values); + QFETCH(bool, overwrite); + + QHttpPart httpPart; + + if (!header_data.isEmpty()) + httpPart.setHeader(QNetworkRequest::ContentDispositionHeader, header_data); + + if (!raw_header_data.isEmpty()) + httpPart.setRawHeader("Authorization", raw_header_data); + + if (overwrite) + httpPart.setRawHeader("Content-Disposition", raw_header_data); + + QByteArray msg; + { + QBuffer buf(&msg); + QVERIFY(buf.open(QIODevice::WriteOnly)); + QDebug debug(&buf); + debug << httpPart; + } + + for (const auto &value : expected_header_values) + QVERIFY2(msg.contains(value), "Missing header value: " + value); +} + void tst_QNetworkReply::qtbug68821proxyError_data() { QTest::addColumn<QString>("proxyHost"); @@ -10527,6 +10641,7 @@ void tst_QNetworkReply::qtbug68821proxyError() QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0), error); } +#endif void tst_QNetworkReply::abortAndError() { diff --git a/tests/auto/network/access/qnetworkreply_local/CMakeLists.txt b/tests/auto/network/access/qnetworkreply_local/CMakeLists.txt new file mode 100644 index 0000000000..13a60afb13 --- /dev/null +++ b/tests/auto/network/access/qnetworkreply_local/CMakeLists.txt @@ -0,0 +1,9 @@ +qt_internal_add_test(tst_qnetworkreply_local + SOURCES + minihttpserver.h + tst_qnetworkreply_local.cpp + LIBRARIES + Qt::CorePrivate + Qt::NetworkPrivate + BUNDLE_ANDROID_OPENSSL_LIBS +) diff --git a/tests/auto/network/access/qnetworkreply_local/minihttpserver.h b/tests/auto/network/access/qnetworkreply_local/minihttpserver.h new file mode 100644 index 0000000000..eb0697a6f8 --- /dev/null +++ b/tests/auto/network/access/qnetworkreply_local/minihttpserver.h @@ -0,0 +1,246 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef MINIHTTPSERVER_H +#define MINIHTTPSERVER_H + +#include <QtNetwork/qtnetworkglobal.h> + +#include <QtNetwork/qtcpserver.h> +#include <QtNetwork/qtcpsocket.h> +#include <QtNetwork/qlocalsocket.h> +#if QT_CONFIG(ssl) +# include <QtNetwork/qsslsocket.h> +#endif +#if QT_CONFIG(localserver) +# include <QtNetwork/qlocalserver.h> +#endif + +#include <QtCore/qpointer.h> +#include <QtCore/qhash.h> + +#include <utility> + +static inline QByteArray default200Response() +{ + return QByteArrayLiteral("HTTP/1.1 200 OK\r\n" + "Content-Type: text/plain\r\n" + "Content-Length: 12\r\n" + "\r\n" + "Hello World!"); +} +class MiniHttpServerV2 : public QObject +{ + Q_OBJECT + +public: + struct State; + +#if QT_CONFIG(localserver) + void bind(QLocalServer *server) + { + Q_ASSERT(!localServer); + localServer = server; + connect(server, &QLocalServer::newConnection, this, + &MiniHttpServerV2::incomingLocalConnection); + } +#endif + + void bind(QTcpServer *server) + { + Q_ASSERT(!tcpServer); + tcpServer = server; + connect(server, &QTcpServer::pendingConnectionAvailable, this, + &MiniHttpServerV2::incomingConnection); + } + + void setDataToTransmit(QByteArray data) { dataToTransmit = std::move(data); } + + void clearServerState() + { + auto copy = std::exchange(clientStates, {}); + for (auto [socket, _] : copy.asKeyValueRange()) { + if (auto *tcpSocket = qobject_cast<QTcpSocket *>(socket)) + tcpSocket->disconnectFromHost(); + else if (auto *localSocket = qobject_cast<QLocalSocket *>(socket)) + localSocket->disconnectFromServer(); + else + Q_UNREACHABLE_RETURN(); + socket->deleteLater(); + } + } + + bool hasPendingConnections() const + { + return +#if QT_CONFIG(localserver) + (localServer && localServer->hasPendingConnections()) || +#endif + (tcpServer && tcpServer->hasPendingConnections()); + } + + QString addressForScheme(QStringView scheme) const + { + using namespace Qt::StringLiterals; + if (scheme.startsWith("unix"_L1) || scheme.startsWith("local"_L1)) { +#if QT_CONFIG(localserver) + if (localServer) + return localServer->serverName(); +#endif + } else if (scheme == "http"_L1) { + if (tcpServer) + return "%1:%2"_L1.arg(tcpServer->serverAddress().toString(), + QString::number(tcpServer->serverPort())); + } + return {}; + } + + QList<State> peerStates() const { return clientStates.values(); } + +protected: +#if QT_CONFIG(localserver) + void incomingLocalConnection() + { + auto *socket = localServer->nextPendingConnection(); + connectSocketSignals(socket); + } +#endif + + void incomingConnection() + { + auto *socket = tcpServer->nextPendingConnection(); + connectSocketSignals(socket); + } + + void reply(QIODevice *socket) + { + Q_ASSERT(socket); + if (dataToTransmit.isEmpty()) { + emit socket->bytesWritten(0); // emulate having written the data + return; + } + if (!stopTransfer) + socket->write(dataToTransmit); + } + +private: + void connectSocketSignals(QIODevice *socket) + { + connect(socket, &QIODevice::readyRead, this, [this, socket]() { readyReadSlot(socket); }); + connect(socket, &QIODevice::bytesWritten, this, + [this, socket]() { bytesWrittenSlot(socket); }); +#if QT_CONFIG(ssl) + if (auto *sslSocket = qobject_cast<QSslSocket *>(socket)) + connect(sslSocket, &QSslSocket::sslErrors, this, &MiniHttpServerV2::slotSslErrors); +#endif + + if (auto *tcpSocket = qobject_cast<QTcpSocket *>(socket)) { + connect(tcpSocket, &QAbstractSocket::errorOccurred, this, &MiniHttpServerV2::slotError); + } else if (auto *localSocket = qobject_cast<QLocalSocket *>(socket)) { + connect(localSocket, &QLocalSocket::errorOccurred, this, + [this](QLocalSocket::LocalSocketError error) { + slotError(QAbstractSocket::SocketError(error)); + }); + } else { + Q_UNREACHABLE_RETURN(); + } + } + + void parseContentLength(State &st, QByteArrayView header) + { + qsizetype index = header.indexOf("\r\ncontent-length:"); + if (index == -1) + return; + st.foundContentLength = true; + + index += sizeof("\r\ncontent-length:") - 1; + const auto *end = std::find(header.cbegin() + index, header.cend(), '\r'); + QByteArrayView num = header.mid(index, std::distance(header.cbegin() + index, end)); + bool ok = false; + st.contentLength = num.toInt(&ok); + if (!ok) + st.contentLength = -1; + } + +private slots: +#if QT_CONFIG(ssl) + void slotSslErrors(const QList<QSslError> &errors) + { + QTcpSocket *currentClient = qobject_cast<QTcpSocket *>(sender()); + Q_ASSERT(currentClient); + qDebug() << "slotSslErrors" << currentClient->errorString() << errors; + } +#endif + void slotError(QAbstractSocket::SocketError err) + { + QTcpSocket *currentClient = qobject_cast<QTcpSocket *>(sender()); + Q_ASSERT(currentClient); + qDebug() << "slotError" << err << currentClient->errorString(); + } + +public slots: + + void readyReadSlot(QIODevice *socket) + { + if (stopTransfer) + return; + State &st = clientStates[socket]; + st.receivedData += socket->readAll(); + const qsizetype doubleEndlPos = st.receivedData.indexOf("\r\n\r\n"); + + if (doubleEndlPos != -1) { + const qsizetype endOfHeader = doubleEndlPos + 4; + st.contentRead = st.receivedData.size() - endOfHeader; + + if (!st.checkedContentLength) { + parseContentLength(st, QByteArrayView(st.receivedData).first(endOfHeader)); + st.checkedContentLength = true; + } + + if (st.contentRead < st.contentLength) + return; + + // multiple requests incoming, remove the bytes of the current one + if (multiple) + st.receivedData.remove(0, endOfHeader); + + reply(socket); + } + } + + void bytesWrittenSlot(QIODevice *socket) + { + // Disconnect and delete in next cycle (else Windows clients will fail with + // RemoteHostClosedError). + if (doClose && socket->bytesToWrite() == 0) { + disconnect(socket, nullptr, this, nullptr); + socket->deleteLater(); + } + } + +private: + QByteArray dataToTransmit = default200Response(); + + QTcpServer *tcpServer = nullptr; +#if QT_CONFIG(localserver) + QLocalServer *localServer = nullptr; +#endif + + QHash<QIODevice *, State> clientStates; + +public: + struct State + { + QByteArray receivedData; + qsizetype contentLength = 0; + qsizetype contentRead = 0; + bool checkedContentLength = false; + bool foundContentLength = false; + }; + + bool doClose = true; + bool multiple = false; + bool stopTransfer = false; +}; + +#endif // MINIHTTPSERVER_H diff --git a/tests/auto/network/access/qnetworkreply_local/tst_qnetworkreply_local.cpp b/tests/auto/network/access/qnetworkreply_local/tst_qnetworkreply_local.cpp new file mode 100644 index 0000000000..729605d9c8 --- /dev/null +++ b/tests/auto/network/access/qnetworkreply_local/tst_qnetworkreply_local.cpp @@ -0,0 +1,114 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtNetwork/qtnetworkglobal.h> + +#include <QtTest/qtest.h> + +#include <QtNetwork/qnetworkreply.h> +#include <QtNetwork/qnetworkaccessmanager.h> + +#include "minihttpserver.h" + +using namespace Qt::StringLiterals; + +/* + The tests here are meant to be self-contained, using servers in the same + process if needed. This enables externals to more easily run the tests too. +*/ +class tst_QNetworkReply_local : public QObject +{ + Q_OBJECT +private slots: + void initTestCase_data(); + + void get(); + void post(); +}; + +void tst_QNetworkReply_local::initTestCase_data() +{ + QTest::addColumn<QString>("scheme"); + + QTest::newRow("http") << "http"; +#if QT_CONFIG(localserver) + QTest::newRow("unix") << "unix+http"; + QTest::newRow("local") << "local+http"; // equivalent to unix, but test that it works +#endif +} + +static std::unique_ptr<MiniHttpServerV2> getServerForCurrentScheme() +{ + auto server = std::make_unique<MiniHttpServerV2>(); + QFETCH_GLOBAL(QString, scheme); + if (scheme.startsWith("unix"_L1) || scheme.startsWith("local"_L1)) { +#if QT_CONFIG(localserver) + QLocalServer *localServer = new QLocalServer(server.get()); + localServer->listen(u"qt_networkreply_test_"_s + % QLatin1StringView(QTest::currentTestFunction()) + % QString::number(QCoreApplication::applicationPid())); + server->bind(localServer); +#endif + } else if (scheme == "http") { + QTcpServer *tcpServer = new QTcpServer(server.get()); + tcpServer->listen(QHostAddress::LocalHost, 0); + server->bind(tcpServer); + } + return server; +} + +static QUrl getUrlForCurrentScheme(MiniHttpServerV2 *server) +{ + QFETCH_GLOBAL(QString, scheme); + const QString address = server->addressForScheme(scheme); + const QString urlString = QLatin1StringView("%1://%2").arg(scheme, address); + return { urlString }; +} + +void tst_QNetworkReply_local::get() +{ + std::unique_ptr<MiniHttpServerV2> server = getServerForCurrentScheme(); + const QUrl url = getUrlForCurrentScheme(server.get()); + + QNetworkAccessManager manager; + std::unique_ptr<QNetworkReply> reply(manager.get(QNetworkRequest(url))); + + const bool res = QTest::qWaitFor([reply = reply.get()] { return reply->isFinished(); }); + QVERIFY(res); + + QCOMPARE(reply->readAll(), QByteArray("Hello World!")); + QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200); +} + +void tst_QNetworkReply_local::post() +{ + std::unique_ptr<MiniHttpServerV2> server = getServerForCurrentScheme(); + const QUrl url = getUrlForCurrentScheme(server.get()); + + QNetworkAccessManager manager; + const QByteArray payload = "Hello from the other side!"_ba; + QNetworkRequest req(url); + req.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain"); + std::unique_ptr<QNetworkReply> reply(manager.post(req, payload)); + + const bool res = QTest::qWaitFor([reply = reply.get()] { return reply->isFinished(); }); + QVERIFY(res); + + QCOMPARE(reply->readAll(), QByteArray("Hello World!")); + QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200); + + auto states = server->peerStates(); + QCOMPARE(states.size(), 1); + + const auto &firstRequest = states.at(0); + + QVERIFY(firstRequest.checkedContentLength); + QCOMPARE(firstRequest.contentLength, payload.size()); + QCOMPARE_GT(firstRequest.receivedData.size(), payload.size() + 4); + QCOMPARE(firstRequest.receivedData.last(payload.size() + 4), "\r\n\r\n" + payload); +} + +QTEST_MAIN(tst_QNetworkReply_local) + +#include "tst_qnetworkreply_local.moc" +#include "moc_minihttpserver.cpp" diff --git a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp index bdef1115dd..0b6d6f339b 100644 --- a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp +++ b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp @@ -3,6 +3,8 @@ #include <QTest> +#include <QtNetwork/QHttp1Configuration> +#include <QtNetwork/QHttp2Configuration> #include <QtNetwork/QNetworkRequest> #include <QtNetwork/QNetworkCookie> @@ -31,6 +33,10 @@ private slots: void rawHeaderParsing_data(); void rawHeaderParsing(); void originatingObject(); + void setHeaders_data(); + void setHeaders(); + void operatorEqual_data(); + void operatorEqual(); void removeHeader(); }; @@ -347,7 +353,7 @@ void tst_QNetworkRequest::rawHeaderParsing_data() << true << "Content-Type" << "text/html"; QTest::newRow("Content-Length") << QNetworkRequest::ContentLengthHeader << QVariant(qint64(1)) - << true << "Content-Length" << " 1 "; + << true << "Content-Length" << "1"; QTest::newRow("Location") << QNetworkRequest::LocationHeader << QVariant(QUrl("http://foo/with space")) << true << "Location" << "http://foo/with%20space"; @@ -552,5 +558,155 @@ void tst_QNetworkRequest::originatingObject() QVERIFY(!request.originatingObject()); } +void tst_QNetworkRequest::setHeaders_data() +{ + QTest::addColumn<QHttpHeaders>("h"); + QTest::newRow("null") << QHttpHeaders(); + QHttpHeaders headers; + headers.append("name1", "value1"); + QTest::newRow("valid") << headers; +} + +void tst_QNetworkRequest::setHeaders() +{ + QFETCH(QHttpHeaders, h); + + QNetworkRequest r1; + + auto result = r1.headers(); + QVERIFY(result.isEmpty()); + + r1.setHeaders(h); + QCOMPARE(r1.headers().toListOfPairs(), h.toListOfPairs()); + + QNetworkRequest r2; + auto tmp = h; + r2.setHeaders(std::move(tmp)); + QCOMPARE(r2.headers().toListOfPairs(), h.toListOfPairs()); +} + +void tst_QNetworkRequest::operatorEqual_data() +{ + QTest::addColumn<QNetworkRequest>("a"); + QTest::addColumn<QNetworkRequest>("b"); + QTest::addColumn<bool>("expectedToMatch"); + QTest::newRow("null") << QNetworkRequest() << QNetworkRequest() << true; + + QNetworkRequest data1; + data1.setUrl(QUrl("http://qt-project.org")); + QTest::newRow("url-1-1") << data1 << QNetworkRequest() << false; + QTest::newRow("url-1-2") << data1 << data1 << true; + + QNetworkRequest data2; + QHttpHeaders headers; + headers.append("name1", "value1"); + data2.setHeaders(headers); + QTest::newRow("headers-2-1") << data2 << QNetworkRequest() << false; + QTest::newRow("headers-2-2") << data2 << data2 << true; + QTest::newRow("headers-2-3") << data2 << data1 << false; + + QNetworkRequest data3; + data3.setPeerVerifyName("peerName"); + QTest::newRow("peerName-3-1") << data3 << QNetworkRequest() << false; + QTest::newRow("peerName-3-2") << data3 << data3 << true; + QTest::newRow("peerName-3-3") << data3 << data1 << false; + QTest::newRow("peerName-3-4") << data3 << data2 << false; + + QNetworkRequest data4; + data4.setAttribute(QNetworkRequest::Http2AllowedAttribute, true); + QTest::newRow("attribute-4-1") << data4 << QNetworkRequest() << false; + QTest::newRow("attribute-4-2") << data4 << data4 << true; + QTest::newRow("attribute-4-3") << data4 << data1 << false; + QTest::newRow("attribute-4-4") << data4 << data2 << false; + QTest::newRow("attribute-4-5") << data4 << data3 << false; + + QNetworkRequest data5; + data5.setPriority(QNetworkRequest::Priority::HighPriority); + QTest::newRow("priority-5-1") << data5 << QNetworkRequest() << false; + QTest::newRow("priority-5-2") << data5 << data5 << true; + QTest::newRow("priority-5-3") << data5 << data1 << false; + QTest::newRow("priority-5-4") << data5 << data2 << false; + QTest::newRow("priority-5-5") << data5 << data3 << false; + QTest::newRow("priority-5-6") << data5 << data4 << false; + + QNetworkRequest data6; + data6.setMaximumRedirectsAllowed(3); + QTest::newRow("maxRedirects-6-1") << data6 << QNetworkRequest() << false; + QTest::newRow("maxRedirects-6-2") << data6 << data6 << true; + QTest::newRow("maxRedirects-6-3") << data6 << data1 << false; + QTest::newRow("maxRedirects-6-4") << data6 << data2 << false; + QTest::newRow("maxRedirects-6-5") << data6 << data3 << false; + QTest::newRow("maxRedirects-6-6") << data6 << data4 << false; + QTest::newRow("maxRedirects-6-7") << data6 << data5 << false; + +#if QT_CONFIG(http) + QNetworkRequest data7; + QHttp1Configuration http1Configuration; + http1Configuration.setNumberOfConnectionsPerHost(5); + data7.setHttp1Configuration(http1Configuration); + QTest::newRow("http1Config-7-1") << data7 << QNetworkRequest() << false; + QTest::newRow("http1Config-7-2") << data7 << data7 << true; + QTest::newRow("http1Config-7-3") << data7 << data1 << false; + QTest::newRow("http1Config-7-4") << data7 << data2 << false; + QTest::newRow("http1Config-7-5") << data7 << data3 << false; + QTest::newRow("http1Config-7-6") << data7 << data4 << false; + QTest::newRow("http1Config-7-7") << data7 << data5 << false; + QTest::newRow("http1Config-7-8") << data7 << data6 << false; + + QNetworkRequest data8; + QHttp2Configuration http2Configuration; + http2Configuration.setMaxFrameSize(16386); + data8.setHttp2Configuration(http2Configuration); + QTest::newRow("http2Config-8-1") << data8 << QNetworkRequest() << false; + QTest::newRow("http2Config-8-2") << data8 << data8 << true; + QTest::newRow("http2Config-8-3") << data8 << data1 << false; + QTest::newRow("http2Config-8-4") << data8 << data2 << false; + QTest::newRow("http2Config-8-5") << data8 << data3 << false; + QTest::newRow("http2Config-8-6") << data8 << data4 << false; + QTest::newRow("http2Config-8-7") << data8 << data5 << false; + QTest::newRow("http2Config-8-8") << data8 << data6 << false; + QTest::newRow("http2Config-8-9") << data8 << data7 << false; + + QNetworkRequest data9; + data9.setDecompressedSafetyCheckThreshold(-1); + QTest::newRow("threshold-9-1") << data9 << QNetworkRequest() << false; + QTest::newRow("threshold-9-2") << data9 << data9 << true; + QTest::newRow("threshold-9-3") << data9 << data1 << false; + QTest::newRow("threshold-9-4") << data9 << data2 << false; + QTest::newRow("threshold-9-5") << data9 << data3 << false; + QTest::newRow("threshold-9-6") << data9 << data4 << false; + QTest::newRow("threshold-9-7") << data9 << data5 << false; + QTest::newRow("threshold-9-8") << data9 << data6 << false; + QTest::newRow("threshold-9-9") << data9 << data7 << false; + QTest::newRow("threshold-9-10") << data9 << data8 << false; +#endif + +#if QT_CONFIG(http) || defined (Q_OS_WASM) + QNetworkRequest data10; + data10.setTransferTimeout(50000); + QTest::newRow("timeout-10-1") << data10 << QNetworkRequest() << false; + QTest::newRow("timeout-10-2") << data10 << data10 << true; + QTest::newRow("timeout-10-3") << data10 << data1 << false; + QTest::newRow("timeout-10-4") << data10 << data2 << false; + QTest::newRow("timeout-10-5") << data10 << data3 << false; + QTest::newRow("timeout-10-6") << data10 << data4 << false; + QTest::newRow("timeout-10-7") << data10 << data5 << false; + QTest::newRow("timeout-10-8") << data10 << data6 << false; + QTest::newRow("timeout-10-9") << data10 << data7 << false; + QTest::newRow("timeout-10-10") << data10 << data8 << false; + QTest::newRow("timeout-10-11") << data10 << data9 << false; +#endif +} + +// public bool operator==(const QNetworkRequest &other) const +void tst_QNetworkRequest::operatorEqual() +{ + QFETCH(QNetworkRequest, a); + QFETCH(QNetworkRequest, b); + QFETCH(bool, expectedToMatch); + + QCOMPARE(a == b, expectedToMatch); +} + QTEST_MAIN(tst_QNetworkRequest) #include "tst_qnetworkrequest.moc" diff --git a/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp b/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp index 00995920d5..25869eb46b 100644 --- a/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp +++ b/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp @@ -31,10 +31,6 @@ QUrl HttpTestServer::url() return QUrl(u"http://127.0.0.1:%1"_s.arg(serverPort())); } -void HttpTestServer::setHandler(const Handler &handler) { - m_handler = handler; -} - void HttpTestServer::handleConnected() { Q_ASSERT(!m_socket); // No socket must exist previously, this is a single-connection server diff --git a/tests/auto/network/access/qrestaccessmanager/httptestserver_p.h b/tests/auto/network/access/qrestaccessmanager/httptestserver_p.h index ead6590a55..0a94b2c8a6 100644 --- a/tests/auto/network/access/qrestaccessmanager/httptestserver_p.h +++ b/tests/auto/network/access/qrestaccessmanager/httptestserver_p.h @@ -10,6 +10,8 @@ #include <QtCore/qmap.h> #include <QtCore/qurl.h> +#include <functional> + // This struct is used for parsing the incoming network request data into, as well // as getting the response data from the testcase struct HttpData { @@ -73,7 +75,7 @@ public: // Settable callback for testcase. Gives the received request data, and takes in response data using Handler = std::function<void(const HttpData &request, HttpData &response, ResponseControl &control)>; - void setHandler(const Handler &handler); + void setHandler(Handler handler) { m_handler = std::move(handler); } private slots: void handleConnected(); diff --git a/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp b/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp index a29b9c25ad..d6bdda76ca 100644 --- a/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp +++ b/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp @@ -3,7 +3,9 @@ #include "httptestserver_p.h" +#if QT_CONFIG(http) #include <QtNetwork/qhttpmultipart.h> +#endif #include <QtNetwork/qrestaccessmanager.h> #include <QtNetwork/qauthenticator.h> #include <QtNetwork/qnetworkreply.h> @@ -13,6 +15,7 @@ #include <QTest> #include <QtTest/qsignalspy.h> +#include <QtCore/private/qglobal_p.h> // for access to Qt's feature system #include <QtCore/qbuffer.h> #include <QtCore/qjsonobject.h> #include <QtCore/qjsondocument.h> @@ -32,7 +35,9 @@ private slots: void initialization(); void destruction(); void callbacks(); +#if QT_CONFIG(http) void requests(); +#endif void reply(); void errors(); void body(); @@ -89,6 +94,7 @@ void tst_QRestAccessManager::reply() networkReply = nullptr; \ } +#if QT_CONFIG(http) void tst_QRestAccessManager::requests() { // A basic test for each HTTP method against the local testserver. @@ -109,7 +115,7 @@ void tst_QRestAccessManager::requests() HttpData serverSideRequest; // The request data the server received HttpData serverSideResponse; // The response data the server responds with serverSideResponse.status = 200; - server.setHandler([&](HttpData request, HttpData &response, ResponseControl&) { + server.setHandler([&](const HttpData &request, HttpData &response, ResponseControl&) { serverSideRequest = request; response = serverSideResponse; @@ -267,6 +273,7 @@ void tst_QRestAccessManager::requests() //manager.sendCustomRequest(request, this, [](){}); // No verb && no data //manager.sendCustomRequest(request, "FOOBAR", this, [](){}); // No verb || no data } +#endif void tst_QRestAccessManager::memberHandler(QRestReply &reply) { @@ -473,7 +480,7 @@ void tst_QRestAccessManager::errors() QNetworkRequest request(server.url()); HttpData serverSideResponse; // The response data the server responds with - server.setHandler([&](HttpData, HttpData &response, ResponseControl &) { + server.setHandler([&](const HttpData &, HttpData &response, ResponseControl &) { response = serverSideResponse; }); @@ -540,7 +547,7 @@ void tst_QRestAccessManager::body() HttpData serverSideRequest; // The request data the server received HttpData serverSideResponse; // The response data the server responds with - server.setHandler([&](HttpData request, HttpData &response, ResponseControl&) { + server.setHandler([&](const HttpData &request, HttpData &response, ResponseControl&) { serverSideRequest = request; response = serverSideResponse; }); @@ -601,7 +608,7 @@ void tst_QRestAccessManager::json() HttpData serverSideRequest; // The request data the server received HttpData serverSideResponse; // The response data the server responds with serverSideResponse.status = 200; - server.setHandler([&](HttpData request, HttpData &response, ResponseControl&) { + server.setHandler([&](const HttpData &request, HttpData &response, ResponseControl&) { serverSideRequest = request; response = serverSideResponse; }); @@ -638,12 +645,13 @@ void tst_QRestAccessManager::json() QTRY_VERIFY(networkReply); QRestReply restReply(networkReply); parseError.error = QJsonParseError::ParseError::DocumentTooLarge; - QVERIFY(!restReply.readJson(&parseError).has_value()); // std::nullopt returned + const auto json = restReply.readJson(&parseError); + networkReply->deleteLater(); + networkReply = nullptr; + QCOMPARE_EQ(json, std::nullopt); QCOMPARE_NE(parseError.error, QJsonParseError::ParseError::NoError); QCOMPARE_NE(parseError.error, QJsonParseError::ParseError::DocumentTooLarge); QCOMPARE_GT(parseError.offset, 0); - networkReply->deleteLater(); - networkReply = nullptr; } { @@ -654,6 +662,8 @@ void tst_QRestAccessManager::json() QRestReply restReply(networkReply); parseError.error = QJsonParseError::ParseError::DocumentTooLarge; json = restReply.readJson(&parseError); + networkReply->deleteLater(); + networkReply = nullptr; QCOMPARE(parseError.error, QJsonParseError::ParseError::NoError); QVERIFY(json); responseJsonDocument = *json; @@ -661,8 +671,6 @@ void tst_QRestAccessManager::json() QCOMPARE(responseJsonDocument.array().size(), 2); QCOMPARE(responseJsonDocument[0].toString(), "foo"_L1); QCOMPARE(responseJsonDocument[1].toString(), "bar"_L1); - networkReply->deleteLater(); - networkReply = nullptr; } } @@ -672,9 +680,9 @@ void tst_QRestAccessManager::json() QTRY_VERIFY(networkReply); \ QRestReply restReply(networkReply); \ responseString = restReply.readText(); \ - QCOMPARE(responseString, sourceString); \ networkReply->deleteLater(); \ networkReply = nullptr; \ + QCOMPARE(responseString, sourceString); \ } #define VERIFY_TEXT_REPLY_ERROR(WARNING_MESSAGE) \ @@ -684,9 +692,9 @@ void tst_QRestAccessManager::json() QTest::ignoreMessage(QtWarningMsg, WARNING_MESSAGE); \ QRestReply restReply(networkReply); \ responseString = restReply.readText(); \ - QVERIFY(responseString.isEmpty()); \ networkReply->deleteLater(); \ networkReply = nullptr; \ + QVERIFY(responseString.isEmpty()); \ } void tst_QRestAccessManager::text() @@ -708,7 +716,7 @@ void tst_QRestAccessManager::text() HttpData serverSideRequest; // The request data the server received HttpData serverSideResponse; // The response data the server responds with serverSideResponse.status = 200; - server.setHandler([&](HttpData request, HttpData &response, ResponseControl&) { + server.setHandler([&](const HttpData &request, HttpData &response, ResponseControl&) { serverSideRequest = request; response = serverSideResponse; }); @@ -722,11 +730,29 @@ void tst_QRestAccessManager::text() // should consider the indicated charset and convert it to an UTF-16 QString => the returned // QString from text() should match with the original (UTF-16) QString. - // Successful UTF-8 + // Successful UTF-8 (explicit) serverSideResponse.headers.append(Header::ContentType, "text/plain; charset=UTF-8"_ba); serverSideResponse.body = encUTF8(sourceString); VERIFY_TEXT_REPLY_OK; + // Successful UTF-8 (obfuscated) + serverSideResponse.headers.removeAll(Header::ContentType); + serverSideResponse.headers.append(Header::ContentType, "text/plain; charset=\"UT\\F-8\""_ba); + serverSideResponse.body = encUTF8(sourceString); + VERIFY_TEXT_REPLY_OK; + + // Successful UTF-8 (empty charset) + serverSideResponse.headers.removeAll(Header::ContentType); + serverSideResponse.headers.append(Header::ContentType, "text/plain; charset=\"\""_ba); + serverSideResponse.body = encUTF8(sourceString); + VERIFY_TEXT_REPLY_OK; + + // Successful UTF-8 (implicit) + serverSideResponse.headers.removeAll(Header::ContentType); + serverSideResponse.headers.append(Header::ContentType, "text/plain"_ba); + serverSideResponse.body = encUTF8(sourceString); + VERIFY_TEXT_REPLY_OK; + // Successful UTF-16 serverSideResponse.headers.removeAll(Header::ContentType); serverSideResponse.headers.append(Header::ContentType, "text/plain; charset=UTF-16"_ba); @@ -745,10 +771,17 @@ void tst_QRestAccessManager::text() serverSideResponse.body = encUTF32(sourceString); VERIFY_TEXT_REPLY_OK; - // Successful UTF-32 with spec-wise allowed extra content in the Content-Type header value + // Successful UTF-32 with spec-wise allowed extra trailing content in the Content-Type header value + serverSideResponse.headers.removeAll(Header::ContentType); + serverSideResponse.headers.append(Header::ContentType, + "text(this is a \\)comment)/ (this (too)) plain; charset = \"UTF-32\";extraparameter=bar"_ba); + serverSideResponse.body = encUTF32(sourceString); + VERIFY_TEXT_REPLY_OK; + + // Successful UTF-32 with spec-wise allowed extra leading content in the Content-Type header value serverSideResponse.headers.removeAll(Header::ContentType); serverSideResponse.headers.append(Header::ContentType, - "text/plain; charset = \"UTF-32\";extraparameter=bar"_ba); + "text/plain; extraparameter=bar;charset = \"UT\\F-32\""_ba); serverSideResponse.body = encUTF32(sourceString); VERIFY_TEXT_REPLY_OK; @@ -800,7 +833,7 @@ void tst_QRestAccessManager::textStreaming() serverSideResponse.body = encUTF8(expectedData); serverSideResponse.status = 200; - server.setHandler([&](HttpData, HttpData &response, ResponseControl &control) { + server.setHandler([&](const HttpData &, HttpData &response, ResponseControl &control) { response = serverSideResponse; responseControl = &control; // store for later control.responseChunkSize = 5; // tell testserver to send data in chunks of this size diff --git a/tests/auto/network/kernel/CMakeLists.txt b/tests/auto/network/kernel/CMakeLists.txt index b42a9724b3..df87e9d58e 100644 --- a/tests/auto/network/kernel/CMakeLists.txt +++ b/tests/auto/network/kernel/CMakeLists.txt @@ -6,12 +6,16 @@ if(QT_FEATURE_dnslookup AND (QT_FEATURE_libresolv OR WIN32)) add_subdirectory(qdnslookup_appless) endif() if(QT_FEATURE_networkinterface) + add_subdirectory(qnetworkaddressentry) add_subdirectory(qnetworkproxyfactory) add_subdirectory(qnetworkinterface) endif() -add_subdirectory(qnetworkproxy) -add_subdirectory(qnetworkdatagram) -add_subdirectory(qnetworkaddressentry) +if(QT_FEATURE_networkproxy) + add_subdirectory(qnetworkproxy) +endif() +if(QT_FEATURE_udpsocket) + add_subdirectory(qnetworkdatagram) +endif() add_subdirectory(qhostaddress) if(QT_FEATURE_private_tests AND NOT MACOS AND NOT INTEGRITY) add_subdirectory(qhostinfo) diff --git a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp index 20ecf8a6ab..af3a74a498 100644 --- a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp +++ b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp @@ -13,6 +13,13 @@ #include <QtNetwork/QNetworkDatagram> #include <QtNetwork/QUdpSocket> +#if QT_CONFIG(networkproxy) +# include <QtNetwork/QNetworkProxyFactory> +#endif +#if QT_CONFIG(ssl) +# include <QtNetwork/QSslSocket> +#endif + #ifdef Q_OS_UNIX # include <QtCore/QFile> #else @@ -35,12 +42,21 @@ class tst_QDnsLookup: public QObject QString domainName(const QString &input); QString domainNameList(const QString &input); QStringList domainNameListAlternatives(const QString &input); + + std::unique_ptr<QDnsLookup> lookupCommon(QDnsLookup::Type type, const QString &domain, + const QHostAddress &server = {}, quint16 port = 0, + QDnsLookup::Protocol protocol = QDnsLookup::Standard); + QStringList formatReply(const QDnsLookup *lookup) const; + + void setNameserver_helper(QDnsLookup::Protocol protocol); public slots: void initTestCase(); private slots: void lookupLocalhost(); void lookupRoot(); + void lookupNxDomain_data(); + void lookupNxDomain(); void lookup_data(); void lookup(); void lookupIdn_data() { lookup_data(); } @@ -51,6 +67,8 @@ private slots: void setNameserverLoopback(); void setNameserver_data(); void setNameserver(); + void dnsOverTls_data(); + void dnsOverTls(); void bindingsAndProperties(); void automatedBindings(); }; @@ -68,9 +86,11 @@ static const char preparedDnsQuery[] = "\x00\x00\x06\x00\x01" // <root domain> IN SOA ; -static QList<QHostAddress> systemNameservers() +static QList<QHostAddress> systemNameservers(QDnsLookup::Protocol protocol) { QList<QHostAddress> result; + if (protocol != QDnsLookup::Standard) + return result; #ifdef Q_OS_WIN ULONG infosize = 0; @@ -85,25 +105,29 @@ static QList<QHostAddress> systemNameservers() } } #else - QFile f("/etc/resolv.conf"); - if (!f.open(QIODevice::ReadOnly)) - return result; - - while (!f.atEnd()) { - static const char command[] = "nameserver"; - QByteArray line = f.readLine().simplified(); - if (!line.startsWith(command)) - continue; - - QString addr = QLatin1StringView(line).mid(sizeof(command)); - result.emplaceBack(addr); - } + auto parseFile = [&](QLatin1StringView path) { + QFile f(path); + if (!f.open(QIODevice::ReadOnly)) + return; + + while (!f.atEnd()) { + static const char command[] = "nameserver"; + QByteArray line = f.readLine().simplified(); + if (!line.startsWith(command)) + continue; + + QString addr = QLatin1StringView(line).mid(sizeof(command)); + result.emplaceBack(addr); + } + }; + parseFile("/etc/resolv.conf"_L1); + parseFile("/run/systemd/resolve/resolv.conf"_L1); #endif return result; } -static QList<QHostAddress> globalPublicNameservers() +static QList<QHostAddress> globalPublicNameservers(QDnsLookup::Protocol proto) { const char *const candidates[] = { // Google's dns.google @@ -118,6 +142,56 @@ static QList<QHostAddress> globalPublicNameservers() //"9.9.9.9", "2620:fe::9", }; + auto udpSendAndReceive = [](const QHostAddress &addr, QByteArray &data) { + QUdpSocket socket; + socket.connectToHost(addr, 53); + if (socket.waitForConnected(1)) + socket.write(data); + + if (!socket.waitForReadyRead(1000)) + return socket.errorString(); + + QNetworkDatagram dgram = socket.receiveDatagram(); + if (!dgram.isValid()) + return socket.errorString(); + + data = dgram.data(); + return QString(); + }; + + auto tlsSendAndReceive = [](const QHostAddress &addr, QByteArray &data) { +#if QT_CONFIG(ssl) + QSslSocket socket; + QDeadlineTimer timeout(2000); + socket.connectToHostEncrypted(addr.toString(), 853); + if (!socket.waitForEncrypted(2000)) + return socket.errorString(); + + quint16 size = qToBigEndian<quint16>(data.size()); + socket.write(reinterpret_cast<char *>(&size), sizeof(size)); + socket.write(data); + + if (!socket.waitForReadyRead(timeout.remainingTime())) + return socket.errorString(); + if (socket.bytesAvailable() < 2) + return u"protocol error"_s; + + socket.read(reinterpret_cast<char *>(&size), sizeof(size)); + size = qFromBigEndian(size); + + while (socket.bytesAvailable() < size) { + int remaining = timeout.remainingTime(); + if (remaining < 0 || !socket.waitForReadyRead(remaining)) + return socket.errorString(); + } + + data = socket.readAll(); + return QString(); +#else + return u"SSL/TLS support not compiled in"_s; +#endif + }; + QList<QHostAddress> result; QRandomGenerator &rng = *QRandomGenerator::system(); for (auto name : candidates) { @@ -128,23 +202,18 @@ static QList<QHostAddress> globalPublicNameservers() char *ptr = data.data(); qToBigEndian(id, ptr); - QUdpSocket socket; - socket.connectToHost(addr, 53); - if (socket.waitForConnected(1)) - socket.write(data); - - if (!socket.waitForReadyRead(1000)) { - qDebug() << addr << "discarded:" << socket.errorString(); - continue; - } - - QNetworkDatagram dgram = socket.receiveDatagram(); - if (!dgram.isValid()) { - qDebug() << addr << "discarded:" << socket.errorString(); + QString errorString = [&] { + switch (proto) { + case QDnsLookup::Standard: return udpSendAndReceive(addr, data); + case QDnsLookup::DnsOverTls: return tlsSendAndReceive(addr, data); + } + Q_UNREACHABLE(); + }(); + if (!errorString.isEmpty()) { + qDebug() << addr << "discarded:" << errorString; continue; } - data = dgram.data(); ptr = data.data(); if (data.size() < HeaderSize) { qDebug() << addr << "discarded: reply too small"; @@ -171,6 +240,11 @@ void tst_QDnsLookup::initTestCase() { if (qgetenv("QTEST_ENVIRONMENT") == "ci") dnsServersMustWork = true; + +#if QT_CONFIG(networkproxy) + // for DNS-over-TLS + QNetworkProxyFactory::setUseSystemConfiguration(true); +#endif } QString tst_QDnsLookup::domainName(const QString &input) @@ -209,17 +283,119 @@ QStringList tst_QDnsLookup::domainNameListAlternatives(const QString &input) return alternatives; } +std::unique_ptr<QDnsLookup> +tst_QDnsLookup::lookupCommon(QDnsLookup::Type type, const QString &domain, + const QHostAddress &server, quint16 port, + QDnsLookup::Protocol protocol) +{ + auto lookup = std::make_unique<QDnsLookup>(type, domainName(domain), protocol, server, port); + QObject::connect(lookup.get(), &QDnsLookup::finished, + &QTestEventLoop::instance(), &QTestEventLoop::exitLoop); + lookup->lookup(); + QTestEventLoop::instance().enterLoopMSecs(Timeout); + + QDnsLookup::Error error = lookup->error(); + if (QTestEventLoop::instance().timeout()) + error = QDnsLookup::TimeoutError; + + if (!dnsServersMustWork && (error == QDnsLookup::ServerFailureError + || error == QDnsLookup::ServerRefusedError + || error == QDnsLookup::TimeoutError)) { + // It's not a QDnsLookup problem if the server refuses to answer the query. + // This happens for queries of type ANY through Dnsmasq, for example. + [&] { + auto me = QMetaEnum::fromType<QDnsLookup::Type>(); + QString msg = u"Server refused or was unable to answer query; %1 type %3: %2"_s + .arg(domain, lookup->errorString(), QString(me.valueToKey(int(type)))); + QSKIP(msg.toLocal8Bit()); + }(); + return {}; + } + + return lookup; +} + +QStringList tst_QDnsLookup::formatReply(const QDnsLookup *lookup) const +{ + QStringList result; + QString domain = lookup->name(); + + auto shorter = [this](QString value) { + const QString &ending = usingIdnDomain ? idnDomain : normalDomain; + if (value.endsWith(ending)) + value.chop(ending.size()); + else + value += u'.'; + return value; + }; + + for (const QDnsMailExchangeRecord &rr : lookup->mailExchangeRecords()) { + QString entry = u"MX %1 %2"_s.arg(rr.preference(), 5).arg(shorter(rr.exchange())); + if (rr.name() != domain) + entry = "MX unexpected label to "_L1 + rr.name(); + result.append(std::move(entry)); + } + + for (const QDnsServiceRecord &rr : lookup->serviceRecords()) { + QString entry = u"SRV %1 %2 %3 %4"_s.arg(rr.priority(), 5).arg(rr.weight()) + .arg(rr.port()).arg(shorter(rr.target())); + if (rr.name() != domain) + entry = "SRV unexpected label to "_L1 + rr.name(); + result.append(std::move(entry)); + } + + auto addNameRecords = [&](QLatin1StringView rrtype, const QList<QDnsDomainNameRecord> &rrset) { + for (const QDnsDomainNameRecord &rr : rrset) { + QString entry = u"%1 %2"_s.arg(rrtype, shorter(rr.value())); + if (rr.name() != domain) + entry = rrtype + " unexpected label to "_L1 + rr.name(); + result.append(std::move(entry)); + } + }; + addNameRecords("NS"_L1, lookup->nameServerRecords()); + addNameRecords("PTR"_L1, lookup->pointerRecords()); + addNameRecords("CNAME"_L1, lookup->canonicalNameRecords()); + + for (const QDnsHostAddressRecord &rr : lookup->hostAddressRecords()) { + if (rr.name() != domain) + continue; // A and AAAA may appear as extra records in the answer section + QHostAddress addr = rr.value(); + result.append(u"%1 %2"_s + .arg(addr.protocol() == QHostAddress::IPv6Protocol ? "AAAA" : "A", + addr.toString())); + } + + for (const QDnsTextRecord &rr : lookup->textRecords()) { + QString entry = "TXT"_L1; + for (const QByteArray &data : rr.values()) { + entry += u' '; + entry += QDebug::toString(data); + } + result.append(std::move(entry)); + } + + for (const QDnsTlsAssociationRecord &rr : lookup->tlsAssociationRecords()) { + QString entry = u"TLSA %1 %2 %3 %4"_s.arg(int(rr.usage())).arg(int(rr.selector())) + .arg(int(rr.matchType())).arg(rr.value().toHex().toUpper()); + if (rr.name() != domain) + entry = "TLSA unexpected label to "_L1 + rr.name(); + result.append(std::move(entry)); + } + + result.sort(); + return result; +} + void tst_QDnsLookup::lookupLocalhost() { - QDnsLookup lookup(QDnsLookup::Type::A, u"localhost"_s); - lookup.lookup(); - QTRY_VERIFY_WITH_TIMEOUT(lookup.isFinished(), Timeout); - QCOMPARE(lookup.error(), QDnsLookup::NoError); + auto lookup = lookupCommon(QDnsLookup::Type::A, u"localhost."_s); + QVERIFY(lookup); + QCOMPARE(lookup->error(), QDnsLookup::NoError); - QList<QDnsHostAddressRecord> hosts = lookup.hostAddressRecords(); + QList<QDnsHostAddressRecord> hosts = lookup->hostAddressRecords(); QCOMPARE(hosts.size(), 1); QCOMPARE(hosts.at(0).value(), QHostAddress::LocalHost); - QVERIFY2(hosts.at(0).name().startsWith(lookup.name()), + QVERIFY2(hosts.at(0).name().startsWith(lookup->name()), qPrintable(hosts.at(0).name())); } @@ -228,12 +404,12 @@ void tst_QDnsLookup::lookupRoot() #ifdef Q_OS_WIN QSKIP("This test fails on Windows as it seems to treat the lookup as a local one."); #else - QDnsLookup lookup(QDnsLookup::Type::NS, u""_s); - lookup.lookup(); - QTRY_VERIFY_WITH_TIMEOUT(lookup.isFinished(), Timeout); - QCOMPARE(lookup.error(), QDnsLookup::NoError); + auto lookup = lookupCommon(QDnsLookup::Type::NS, u""_s); + if (!lookup) + return; + QCOMPARE(lookup->error(), QDnsLookup::NoError); - const QList<QDnsDomainNameRecord> servers = lookup.nameServerRecords(); + const QList<QDnsDomainNameRecord> servers = lookup->nameServerRecords(); QVERIFY(!servers.isEmpty()); for (const QDnsDomainNameRecord &ns : servers) { QCOMPARE(ns.name(), QString()); @@ -242,215 +418,142 @@ void tst_QDnsLookup::lookupRoot() #endif } +void tst_QDnsLookup::lookupNxDomain_data() +{ + QTest::addColumn<QDnsLookup::Type>("type"); + QTest::addColumn<QString>("domain"); + + QTest::newRow("a") << QDnsLookup::A << "invalid.invalid"; + QTest::newRow("aaaa") << QDnsLookup::AAAA << "invalid.invalid"; + QTest::newRow("any") << QDnsLookup::ANY << "invalid.invalid"; + QTest::newRow("mx") << QDnsLookup::MX << "invalid.invalid"; + QTest::newRow("ns") << QDnsLookup::NS << "invalid.invalid"; + QTest::newRow("ptr") << QDnsLookup::PTR << "invalid.invalid"; + QTest::newRow("srv") << QDnsLookup::SRV << "invalid.invalid"; + QTest::newRow("txt") << QDnsLookup::TXT << "invalid.invalid"; +} + +void tst_QDnsLookup::lookupNxDomain() +{ + QFETCH(QDnsLookup::Type, type); + QFETCH(QString, domain); + + auto lookup = lookupCommon(type, domain); + if (!lookup) + return; + QCOMPARE(lookup->name(), domainName(domain)); + QCOMPARE(lookup->type(), type); + QCOMPARE(lookup->error(), QDnsLookup::NotFoundError); +} + void tst_QDnsLookup::lookup_data() { - QTest::addColumn<int>("type"); + QTest::addColumn<QDnsLookup::Type>("type"); QTest::addColumn<QString>("domain"); - QTest::addColumn<int>("error"); - QTest::addColumn<QString>("cname"); - QTest::addColumn<QString>("host"); - QTest::addColumn<QString>("mx"); - QTest::addColumn<QString>("ns"); - QTest::addColumn<QString>("ptr"); - QTest::addColumn<QString>("srv"); - QTest::addColumn<QString>("txt"); - - QTest::newRow("a-notfound") << int(QDnsLookup::A) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("a-single") << int(QDnsLookup::A) << "a-single" << int(QDnsLookup::NoError) << "" << "192.0.2.1" << "" << "" << "" << "" << ""; - QTest::newRow("a-multi") << int(QDnsLookup::A) << "a-multi" << int(QDnsLookup::NoError) << "" << "192.0.2.1;192.0.2.2;192.0.2.3" << "" << "" << "" << "" << ""; - QTest::newRow("aaaa-notfound") << int(QDnsLookup::AAAA) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("aaaa-single") << int(QDnsLookup::AAAA) << "aaaa-single" << int(QDnsLookup::NoError) << "" << "2001:db8::1" << "" << "" << "" << "" << ""; - QTest::newRow("aaaa-multi") << int(QDnsLookup::AAAA) << "aaaa-multi" << int(QDnsLookup::NoError) << "" << "2001:db8::1;2001:db8::2;2001:db8::3" << "" << "" << "" << "" << ""; - - QTest::newRow("any-notfound") << int(QDnsLookup::ANY) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("any-a-single") << int(QDnsLookup::ANY) << "a-single" << int(QDnsLookup::NoError) << "" << "192.0.2.1" << "" << "" << "" << "" << ""; - QTest::newRow("any-a-plus-aaaa") << int(QDnsLookup::ANY) << "a-plus-aaaa" << int(QDnsLookup::NoError) << "" << "198.51.100.1;2001:db8::1:1" << "" << "" << "" << "" << ""; - QTest::newRow("any-multi") << int(QDnsLookup::ANY) << "multi" << int(QDnsLookup::NoError) << "" << "198.51.100.1;198.51.100.2;198.51.100.3;2001:db8::1:1;2001:db8::1:2" << "" << "" << "" << "" << ""; - - QTest::newRow("mx-notfound") << int(QDnsLookup::MX) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("mx-single") << int(QDnsLookup::MX) << "mx-single" << int(QDnsLookup::NoError) << "" << "" << "10 multi" << "" << "" << "" << ""; - QTest::newRow("mx-single-cname") << int(QDnsLookup::MX) << "mx-single-cname" << int(QDnsLookup::NoError) << "" << "" << "10 cname" << "" << "" << "" << ""; - QTest::newRow("mx-multi") << int(QDnsLookup::MX) << "mx-multi" << int(QDnsLookup::NoError) << "" << "" << "10 multi;20 a-single" << "" << "" << "" << ""; - QTest::newRow("mx-multi-sameprio") << int(QDnsLookup::MX) << "mx-multi-sameprio" << int(QDnsLookup::NoError) << "" << "" - << "10 multi;10 a-single|" - "10 a-single;10 multi" << "" << "" << "" << ""; - - QTest::newRow("ns-notfound") << int(QDnsLookup::NS) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("ns-single") << int(QDnsLookup::NS) << "ns-single" << int(QDnsLookup::NoError) << "" << "" << "" << "ns11.cloudns.net." << "" << "" << ""; - QTest::newRow("ns-multi") << int(QDnsLookup::NS) << "ns-multi" << int(QDnsLookup::NoError) << "" << "" << "" << "ns11.cloudns.net.;ns12.cloudns.net." << "" << "" << ""; - - QTest::newRow("ptr-notfound") << int(QDnsLookup::PTR) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; + QTest::addColumn<QString>("expected"); + + QTest::newRow("a-single") << QDnsLookup::A << "a-single" + << "A 192.0.2.1"; + QTest::newRow("a-multi") << QDnsLookup::A << "a-multi" + << "A 192.0.2.1;A 192.0.2.2;A 192.0.2.3"; + QTest::newRow("aaaa-single") << QDnsLookup::AAAA << "aaaa-single" + << "AAAA 2001:db8::1"; + QTest::newRow("aaaa-multi") << QDnsLookup::AAAA << "aaaa-multi" + << "AAAA 2001:db8::1;AAAA 2001:db8::2;AAAA 2001:db8::3"; + + QTest::newRow("any-a-single") << QDnsLookup::ANY << "a-single" + << "A 192.0.2.1"; + QTest::newRow("any-a-plus-aaaa") << QDnsLookup::ANY << "a-plus-aaaa" + << "A 198.51.100.1;AAAA 2001:db8::1:1"; + QTest::newRow("any-multi") << QDnsLookup::ANY << "multi" + << "A 198.51.100.1;A 198.51.100.2;A 198.51.100.3;" + "AAAA 2001:db8::1:1;AAAA 2001:db8::1:2" ; + + QTest::newRow("mx-single") << QDnsLookup::MX << "mx-single" + << "MX 10 multi"; + QTest::newRow("mx-single-cname") << QDnsLookup::MX << "mx-single-cname" + << "MX 10 cname"; + QTest::newRow("mx-multi") << QDnsLookup::MX << "mx-multi" + << "MX 10 multi;MX 20 a-single"; + QTest::newRow("mx-multi-sameprio") << QDnsLookup::MX << "mx-multi-sameprio" + << "MX 10 a-single;MX 10 multi"; + + QTest::newRow("ns-single") << QDnsLookup::NS << "ns-single" + << "NS ns11.cloudns.net."; + QTest::newRow("ns-multi") << QDnsLookup::NS << "ns-multi" + << "NS ns11.cloudns.net.;NS ns12.cloudns.net."; + #if 0 // temporarily disabled since the new hosting provider can't insert // PTR records outside of the in-addr.arpa zone - QTest::newRow("ptr-single") << int(QDnsLookup::PTR) << "ptr-single" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "a-single" << "" << ""; + QTest::newRow("ptr-single") << QDnsLookup::PTR << "ptr-single" + << "PTR a-single"; #endif - - QTest::newRow("srv-notfound") << int(QDnsLookup::SRV) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("srv-single") << int(QDnsLookup::SRV) << "_echo._tcp.srv-single" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "5 0 7 multi" << ""; - QTest::newRow("srv-prio") << int(QDnsLookup::SRV) << "_echo._tcp.srv-prio" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "1 0 7 multi;2 0 7 a-plus-aaaa" << ""; - QTest::newRow("srv-weighted") << int(QDnsLookup::SRV) << "_echo._tcp.srv-weighted" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" - << "5 75 7 multi;5 25 7 a-plus-aaaa|" - "5 25 7 a-plus-aaaa;5 75 7 multi" << ""; - QTest::newRow("srv-multi") << int(QDnsLookup::SRV) << "_echo._tcp.srv-multi" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" - << "1 50 7 multi;2 50 7 a-single;2 50 7 aaaa-single;3 50 7 a-multi|" - "1 50 7 multi;2 50 7 aaaa-single;2 50 7 a-single;3 50 7 a-multi" << ""; - - QTest::newRow("txt-notfound") << int(QDnsLookup::TXT) << "invalid.invalid" << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << ""; - QTest::newRow("txt-single") << int(QDnsLookup::TXT) << "txt-single" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "" << "Hello"; - QTest::newRow("txt-multi-onerr") << int(QDnsLookup::TXT) << "txt-multi-onerr" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "" - << QString::fromLatin1("Hello\0World", sizeof("Hello\0World") - 1); - QTest::newRow("txt-multi-multirr") << int(QDnsLookup::TXT) << "txt-multi-multirr" << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "" << "Hello;World"; + QTest::newRow("ptr-1.1.1.1") << QDnsLookup::PTR << "1.1.1.1.in-addr.arpa." + << "PTR one.one.one.one."; + QTest::newRow("ptr-8.8.8.8") << QDnsLookup::PTR << "8.8.8.8.in-addr.arpa." + << "PTR dns.google."; + QTest::newRow("ptr-2001:4860:4860::8888") + << QDnsLookup::PTR << "8.8.8.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6.8.4.0.6.8.4.1.0.0.2.ip6.arpa." + << "PTR dns.google."; + QTest::newRow("ptr-2606:4700:4700::1111") + << QDnsLookup::PTR << "1.1.1.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7.4.0.0.7.4.6.0.6.2.ip6.arpa." + << "PTR one.one.one.one."; + + QTest::newRow("srv-single") << QDnsLookup::SRV << "_echo._tcp.srv-single" + << "SRV 5 0 7 multi"; + QTest::newRow("srv-prio") << QDnsLookup::SRV << "_echo._tcp.srv-prio" + << "SRV 1 0 7 multi;SRV 2 0 7 a-plus-aaaa"; + QTest::newRow("srv-weighted") << QDnsLookup::SRV << "_echo._tcp.srv-weighted" + << "SRV 5 25 7 a-plus-aaaa;SRV 5 75 7 multi"; + QTest::newRow("srv-multi") << QDnsLookup::SRV << "_echo._tcp.srv-multi" + << "SRV 1 50 7 multi;" + "SRV 2 50 7 a-single;" + "SRV 2 50 7 aaaa-single;" + "SRV 3 50 7 a-multi"; + + QTest::newRow("tlsa") << QDnsLookup::Type::TLSA << "_25._tcp.multi" + << "TLSA 3 1 1 0123456789ABCDEFFEDCBA9876543210" + "0123456789ABCDEFFEDCBA9876543210"; + + QTest::newRow("txt-single") << QDnsLookup::TXT << "txt-single" + << "TXT \"Hello\""; + QTest::newRow("txt-multi-onerr") << QDnsLookup::TXT << "txt-multi-onerr" + << "TXT \"Hello\" \"World\""; + QTest::newRow("txt-multi-multirr") << QDnsLookup::TXT << "txt-multi-multirr" + << "TXT \"Hello\";TXT \"World\""; } void tst_QDnsLookup::lookup() { - QFETCH(int, type); + QFETCH(QDnsLookup::Type, type); QFETCH(QString, domain); - QFETCH(int, error); - QFETCH(QString, cname); - QFETCH(QString, host); - QFETCH(QString, mx); - QFETCH(QString, ns); - QFETCH(QString, ptr); - QFETCH(QString, srv); - QFETCH(QString, txt); - - // transform the inputs - domain = domainName(domain); - cname = domainName(cname); - ns = domainNameList(ns); - ptr = domainNameList(ptr); - - // SRV and MX have reply entries that can change order - // and we can't sort - QStringList mx_alternatives = domainNameListAlternatives(mx); - QStringList srv_alternatives = domainNameListAlternatives(srv); + QFETCH(QString, expected); - QDnsLookup lookup; - lookup.setType(static_cast<QDnsLookup::Type>(type)); - lookup.setName(domain); - lookup.lookup(); - QTRY_VERIFY_WITH_TIMEOUT(lookup.isFinished(), Timeout); - - auto extraErrorMsg = [&] () { - QString result; - QTextStream str(&result); - str << "Actual error: " << lookup.error(); - if (QString errorString = lookup.errorString(); !errorString.isEmpty()) - str << " (" << errorString << ')'; - str << ", expected: " << error; - str << ", domain: " << domain; - if (!cname.isEmpty()) - str << ", cname: " << cname; - str << ", host: " << host; - if (!srv.isEmpty()) - str << " server: " << srv; - if (!mx.isEmpty()) - str << " mx: " << mx; - if (!ns.isEmpty()) - str << " ns: " << ns; - if (!ptr.isEmpty()) - str << " ptr: " << ptr; - return result.toLocal8Bit(); - }; - - if (!dnsServersMustWork && (lookup.error() == QDnsLookup::ServerFailureError - || lookup.error() == QDnsLookup::ServerRefusedError - || lookup.error() == QDnsLookup::TimeoutError)) { - // It's not a QDnsLookup problem if the server refuses to answer the query. - // This happens for queries of type ANY through Dnsmasq, for example. - qWarning("Server refused or was unable to answer query; %s", extraErrorMsg().constData()); + std::unique_ptr<QDnsLookup> lookup = lookupCommon(type, domain); + if (!lookup) return; - } - - QVERIFY2(int(lookup.error()) == error, extraErrorMsg()); - if (error == QDnsLookup::NoError) - QVERIFY(lookup.errorString().isEmpty()); - QCOMPARE(int(lookup.type()), type); - QCOMPARE(lookup.name(), domain); - - // canonical names - if (!cname.isEmpty()) { - QVERIFY(!lookup.canonicalNameRecords().isEmpty()); - const QDnsDomainNameRecord cnameRecord = lookup.canonicalNameRecords().first(); - QCOMPARE(cnameRecord.name(), domain); - QCOMPARE(cnameRecord.value(), cname); - } else { - QVERIFY(lookup.canonicalNameRecords().isEmpty()); - } - - // host addresses - const QString hostName = cname.isEmpty() ? domain : cname; - QStringList addresses; - const auto records = lookup.hostAddressRecords(); - for (const QDnsHostAddressRecord &record : records) { - //reply may include A & AAAA records for nameservers, ignore them and only look at records matching the query - if (record.name() == hostName) - addresses << record.value().toString().toLower(); - } - addresses.sort(); - QCOMPARE(addresses.join(';'), host); - - // mail exchanges - QStringList mailExchanges; - const auto mailRecords = lookup.mailExchangeRecords(); - for (const QDnsMailExchangeRecord &record : mailRecords) { - QCOMPARE(record.name(), domain); - mailExchanges << QString::number(record.preference()) + QLatin1Char(' ') + record.exchange(); - } - QVERIFY2(mx_alternatives.contains(mailExchanges.join(';')), - qPrintable("Actual: " + mailExchanges.join(';') + "\nExpected one of:\n" + mx_alternatives.join('\n'))); - - // name servers - QStringList nameServers; - const auto nameServerRecords = lookup.nameServerRecords(); - for (const QDnsDomainNameRecord &record : nameServerRecords) { - //reply may include NS records for authoritative nameservers, ignore them and only look at records matching the query - if (record.name() == domain) - nameServers << record.value(); - } - nameServers.sort(); - QCOMPARE(nameServers.join(';'), ns); - - // pointers - if (!ptr.isEmpty()) { - QVERIFY(!lookup.pointerRecords().isEmpty()); - const QDnsDomainNameRecord ptrRecord = lookup.pointerRecords().first(); - QCOMPARE(ptrRecord.name(), domain); - QCOMPARE(ptrRecord.value(), ptr); - } else { - QVERIFY(lookup.pointerRecords().isEmpty()); - } - // services - QStringList services; - const auto serviceRecords = lookup.serviceRecords(); - for (const QDnsServiceRecord &record : serviceRecords) { - QCOMPARE(record.name(), domain); - services << (QString::number(record.priority()) + QLatin1Char(' ') - + QString::number(record.weight()) + QLatin1Char(' ') - + QString::number(record.port()) + QLatin1Char(' ') + record.target()); - } - QVERIFY2(srv_alternatives.contains(services.join(';')), - qPrintable("Actual: " + services.join(';') + "\nExpected one of:\n" + srv_alternatives.join('\n'))); - - // text - QStringList texts; - const auto textRecords = lookup.textRecords(); - for (const QDnsTextRecord &record : textRecords) { - QCOMPARE(record.name(), domain); - QString text; - const auto values = record.values(); - for (const QByteArray &ba : values) { - if (!text.isEmpty()) - text += '\0'; - text += QString::fromLatin1(ba); - } - texts << text; - } - texts.sort(); - QCOMPARE(texts.join(';'), txt); +#ifdef Q_OS_WIN + if (QTest::currentDataTag() == "tlsa"_L1) + QSKIP("WinDNS doesn't work properly with TLSA records and we don't know why"); +#endif + QCOMPARE(lookup->errorString(), QString()); + QCOMPARE(lookup->error(), QDnsLookup::NoError); + QCOMPARE(lookup->type(), type); + QCOMPARE(lookup->name(), domainName(domain)); + + QString result = formatReply(lookup.get()).join(u';'); + QCOMPARE(result, expected); + + // confirm that MX and SRV records are properly sorted + const QList<QDnsMailExchangeRecord> mx = lookup->mailExchangeRecords(); + for (qsizetype i = 1; i < mx.size(); ++i) + QCOMPARE_GE(mx[i].preference(), mx[i - 1].preference()); + + const QList<QDnsServiceRecord> srv = lookup->serviceRecords(); + for (qsizetype i = 1; i < srv.size(); ++i) + QCOMPARE_GE(srv[i].priority(), srv[i - 1].priority()); } void tst_QDnsLookup::lookupIdn() @@ -556,9 +659,10 @@ void tst_QDnsLookup::setNameserverLoopback() // send an NXDOMAIN reply to release the lookup thread QByteArray reply = data; - reply[2] = 0x80; // header->qr = true; + reply[2] = 0x80U; // header->qr = true; reply[3] = 3; // header->rcode = NXDOMAIN; - server.writeDatagram(dgram.makeReply(reply)); + server.writeDatagram(reply.constData(), reply.size(), dgram.senderAddress(), + dgram.senderPort()); server.close(); // now check that the QDnsLookup finished @@ -568,34 +672,57 @@ void tst_QDnsLookup::setNameserverLoopback() QCOMPARE(lookup.error(), QDnsLookup::NotFoundError); } -void tst_QDnsLookup::setNameserver_data() +template <QDnsLookup::Protocol Protocol> +static void setNameserver_data_helper(const QByteArray &protoName) { - static QList<QHostAddress> servers = systemNameservers() + globalPublicNameservers(); + if (!QDnsLookup::isProtocolSupported(Protocol)) + QSKIP(protoName + " not supported"); + + static QList<QHostAddress> servers = systemNameservers(Protocol) + + globalPublicNameservers(Protocol); QTest::addColumn<QHostAddress>("server"); if (servers.isEmpty()) { - QSKIP("No reachable DNS servers were found"); + QSKIP("No reachable " + protoName + " servers were found"); } else { for (const QHostAddress &h : std::as_const(servers)) QTest::addRow("%s", qUtf8Printable(h.toString())) << h; } } -void tst_QDnsLookup::setNameserver() +void tst_QDnsLookup::setNameserver_data() +{ + setNameserver_data_helper<QDnsLookup::Standard>("DNS"); +} + +void tst_QDnsLookup::setNameserver_helper(QDnsLookup::Protocol protocol) { QFETCH(QHostAddress, server); - QDnsLookup lookup; - lookup.setNameserver(server); + QElapsedTimer timer; + timer.start(); + std::unique_ptr<QDnsLookup> lookup = + lookupCommon(QDnsLookup::Type::A, "a-single", server, 0, protocol); + if (!lookup) + return; + qDebug() << "Lookup took" << timer.elapsed() << "ms"; + QCOMPARE(lookup->error(), QDnsLookup::NoError); + QString result = formatReply(lookup.get()).join(';'); + QCOMPARE(result, "A 192.0.2.1"); +} - lookup.setType(QDnsLookup::Type::A); - lookup.setName(domainName("a-single")); - lookup.lookup(); +void tst_QDnsLookup::setNameserver() +{ + setNameserver_helper(QDnsLookup::Standard); +} - QTRY_VERIFY_WITH_TIMEOUT(lookup.isFinished(), Timeout); - QCOMPARE(int(lookup.error()), int(QDnsLookup::NoError)); - QVERIFY(!lookup.hostAddressRecords().isEmpty()); - QCOMPARE(lookup.hostAddressRecords().first().name(), domainName("a-single")); - QCOMPARE(lookup.hostAddressRecords().first().value(), QHostAddress("192.0.2.1")); +void tst_QDnsLookup::dnsOverTls_data() +{ + setNameserver_data_helper<QDnsLookup::DnsOverTls>("DNS-over-TLS"); +} + +void tst_QDnsLookup::dnsOverTls() +{ + setNameserver_helper(QDnsLookup::DnsOverTls); } void tst_QDnsLookup::bindingsAndProperties() diff --git a/tests/auto/network/socket/CMakeLists.txt b/tests/auto/network/socket/CMakeLists.txt index c3f8e8f87f..7136017f39 100644 --- a/tests/auto/network/socket/CMakeLists.txt +++ b/tests/auto/network/socket/CMakeLists.txt @@ -7,14 +7,20 @@ if(QT_FEATURE_private_tests) add_subdirectory(qsocks5socketengine) add_subdirectory(platformsocketengine) endif() -add_subdirectory(qudpsocket) +if(QT_FEATURE_udpsocket) + add_subdirectory(qudpsocket) +endif() add_subdirectory(qabstractsocket) -if(NOT ANDROID) +if(QT_FEATURE_localserver AND NOT ANDROID) # QTBUG-87387 add_subdirectory(qlocalsocket) +endif() + +if(QT_FEATURE_networkinterface AND NOT ANDROID) # QTBUG-87388 add_subdirectory(qtcpserver) endif() + if(QT_FEATURE_sctp) add_subdirectory(qsctpsocket) endif() diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index 1ecd871ceb..30ffb50d23 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -1664,6 +1664,9 @@ void tst_QLocalSocket::asyncDisconnectNotify() void tst_QLocalSocket::verifySocketOptions_data() { #ifdef Q_OS_LINUX + if (::geteuid() == 0) + QSKIP("Running this test as root doesn't make sense"); + QTest::addColumn<QString>("service"); QTest::addColumn<QLocalServer::SocketOption>("opts"); QTest::addColumn<QFile::Permissions>("perms"); diff --git a/tests/auto/other/CMakeLists.txt b/tests/auto/other/CMakeLists.txt index 16f96cd5f4..e261ea234d 100644 --- a/tests/auto/other/CMakeLists.txt +++ b/tests/auto/other/CMakeLists.txt @@ -1,9 +1,6 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -if(NOT CMAKE_CROSSCOMPILING) - # add_subdirectory(atwrapper) <- does not exist -endif() if(TARGET Qt::Widgets) add_subdirectory(gestures) add_subdirectory(languagechange) diff --git a/tests/auto/other/android_deployment_settings/CMakeLists.txt b/tests/auto/other/android_deployment_settings/CMakeLists.txt index f2ba135328..9ef457189a 100644 --- a/tests/auto/other/android_deployment_settings/CMakeLists.txt +++ b/tests/auto/other/android_deployment_settings/CMakeLists.txt @@ -30,6 +30,7 @@ set_target_properties(${target} PROPERTIES QT_ANDROID_SDK_BUILD_TOOLS_REVISION "23.0.2" QT_ANDROID_MIN_SDK_VERSION "1" QT_ANDROID_TARGET_SDK_VERSION "2" + QT_ANDROID_PACKAGE_NAME "org.qtproject.android_deployment_settings_test" QT_ANDROID_DEPLOYMENT_DEPENDENCIES "dep1.so;dep2.so;dep3.so" QT_ANDROID_DEPLOYMENT_SETTINGS_FILE "attempt_to_rewrite.json" QT_ANDROID_EXTRA_LIBS @@ -53,6 +54,7 @@ set_target_properties(${target} PROPERTIES QT_ANDROID_SDK_BUILD_TOOLS_REVISION "23.0.2" QT_ANDROID_MIN_SDK_VERSION "1" QT_ANDROID_TARGET_SDK_VERSION "2" + QT_ANDROID_PACKAGE_NAME "org.qtproject.android_deployment_settings_test" QT_ANDROID_DEPLOYMENT_DEPENDENCIES "dep1.so;dep2.so;dep3.so" QT_ANDROID_EXTRA_LIBS "some/path/to/lib1.so;some/path\\to/lib2.so;some\\path\\to\\lib3.so;some/path/to/lib4.so" diff --git a/tests/auto/other/android_deployment_settings/tst_android_deployment_settings.cpp b/tests/auto/other/android_deployment_settings/tst_android_deployment_settings.cpp index d68d08b58e..f8428aaf43 100644 --- a/tests/auto/other/android_deployment_settings/tst_android_deployment_settings.cpp +++ b/tests/auto/other/android_deployment_settings/tst_android_deployment_settings.cpp @@ -76,6 +76,8 @@ void tst_android_deployment_settings::DeploymentSettings_data() << "1"; QTest::newRow("android-target-sdk-version") << "android-target-sdk-version" << "2"; + QTest::newRow("android-package-name") << "android-package-name" + << "org.qtproject.android_deployment_settings_test"; } void tst_android_deployment_settings::DeploymentSettings() diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp index 0c019544bd..5fd695e2e6 100644 --- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp @@ -2936,7 +2936,8 @@ void tst_QAccessibility::listTest() QVERIFY(!(cell4->state().expandable)); QVERIFY( (cell4->state().selectable)); QVERIFY(!(cell4->state().selected)); - table2->selectRow(3); + QAccessibleSelectionInterface *selection2 = iface->selectionInterface(); + selection2->select(cell4); QCOMPARE(listView->selectedItems().size(), 1); QCOMPARE(listView->selectedItems().at(0)->text(), QLatin1String("Munich")); QVERIFY(cell4->state().selected); diff --git a/tests/auto/other/qfocusevent/tst_qfocusevent.cpp b/tests/auto/other/qfocusevent/tst_qfocusevent.cpp index cca5994673..8297b53ea1 100644 --- a/tests/auto/other/qfocusevent/tst_qfocusevent.cpp +++ b/tests/auto/other/qfocusevent/tst_qfocusevent.cpp @@ -312,7 +312,6 @@ void tst_QFocusEvent::checkReason_ActiveWindow() QVERIFY(QTest::qWaitForWindowExposed(d)); d->activateWindow(); // ### CDE - QApplicationPrivate::setActiveWindow(d); QVERIFY(QTest::qWaitForWindowActive(d)); QTRY_VERIFY(childFocusWidgetOne->focusOutEventRecieved); diff --git a/tests/auto/other/qvariant_common/tst_qvariant_common.h b/tests/auto/other/qvariant_common/tst_qvariant_common.h index 553c396e47..4007cc7db8 100644 --- a/tests/auto/other/qvariant_common/tst_qvariant_common.h +++ b/tests/auto/other/qvariant_common/tst_qvariant_common.h @@ -119,6 +119,13 @@ protected: QFETCH(bool, UIntCast); \ QFETCH(bool, ULongLongCast); +#if QT_CONFIG(shortcut) +#define QMETATYPE_QKEYSEQUENCE \ + QCOMPARE(val.canConvert(QMetaType(QMetaType::QKeySequence)), KeySequenceCast); +#else +#define QMETATYPE_QKEYSEQUENCE +#endif + #define TST_QVARIANT_CANCONVERT_COMPARE_DATA \ QCOMPARE(val.canConvert(QMetaType(QMetaType::QBitArray)), BitArrayCast); \ QCOMPARE(val.canConvert(QMetaType(QMetaType::QBitmap)), BitmapCast); \ @@ -135,7 +142,7 @@ protected: QCOMPARE(val.canConvert(QMetaType(QMetaType::QImage)), ImageCast); \ QCOMPARE(val.canConvert(QMetaType(QMetaType::Int)), IntCast); \ QCOMPARE(val.canConvert(QMetaType(QMetaType::UnknownType)), InvalidCast); \ - QCOMPARE(val.canConvert(QMetaType(QMetaType::QKeySequence)), KeySequenceCast); \ + QMETATYPE_QKEYSEQUENCE \ QCOMPARE(val.canConvert(QMetaType(QMetaType::QVariantList)), ListCast); \ QCOMPARE(val.canConvert(QMetaType(QMetaType::LongLong)), LongLongCast); \ QCOMPARE(val.canConvert(QMetaType(QMetaType::QVariantMap)), MapCast); \ diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h index f81fe5548b..5a10bde814 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h +++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h @@ -518,7 +518,10 @@ protected: void cleanup() { QSqlQuery q(m_db); - q.exec("DROP PROCEDURE IF EXISTS " + m_procName); + if (m_db.driverName() == "QIBASE") + q.exec("DROP PROCEDURE " + m_procName); + else + q.exec("DROP PROCEDURE IF EXISTS " + m_procName); } private: QSqlDatabase m_db; diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp index 1b762abc68..19afacf6f9 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp @@ -104,6 +104,8 @@ private slots: void infinityAndNan(); void multipleThreads_data() { generic_data(); } void multipleThreads(); + void moveToThread_data() { generic_data(); } + void moveToThread(); void db2_valueCacheUpdate_data() { generic_data("QDB2"); } void db2_valueCacheUpdate(); @@ -2335,5 +2337,32 @@ void tst_QSqlDatabase::multipleThreads() QTRY_VERIFY(t.isFinished()); } +void tst_QSqlDatabase::moveToThread() +{ + QFETCH(QString, dbName); + QSqlDatabase db = QSqlDatabase::database(dbName); + auto clonedDb = QSqlDatabase::cloneDatabase(db, "clonedDb"); + auto mainThread = QThread::currentThread(); + CHECK_DATABASE(db); + QCOMPARE(db.currentThread(), mainThread); + QCOMPARE(clonedDb.currentThread(), mainThread); + std::unique_ptr<QThread> t(QThread::create([&] { + db.moveToThread(mainThread); + QThread::currentThread()->exit(); + })); + db.moveToThread(t.get()); + QCOMPARE(db.currentThread(), t.get()); + QCOMPARE(clonedDb.currentThread(), mainThread); + t->start(); + QTRY_VERIFY(t->isRunning()); + QTRY_VERIFY(t->wait(30000)); + QCOMPARE(db.currentThread(), mainThread); + QCOMPARE(clonedDb.currentThread(), mainThread); + db = QSqlDatabase(); + clonedDb = QSqlDatabase(); + QSqlDatabase::removeDatabase("clonedDb"); +} + + QTEST_MAIN(tst_QSqlDatabase) #include "tst_qsqldatabase.moc" diff --git a/tests/auto/testlib/selftests/expected_testlib.junitxml b/tests/auto/testlib/selftests/expected_testlib.junitxml index f5d3a94126..33c8bfe403 100644 --- a/tests/auto/testlib/selftests/expected_testlib.junitxml +++ b/tests/auto/testlib/selftests/expected_testlib.junitxml @@ -9,7 +9,7 @@ <testcase name="basics" classname="tst_TestLib" time="@TEST_DURATION@"> <failure type="fail" message="Compared QObject pointers are not the same"> <![CDATA[ Actual (QTest::testObject()): tst_TestLib/"TestObject" - Expected (nullptr) : (nullptr)]]> + Expected (nullptr) : "nullptr"]]> </failure> </testcase> <testcase name="delays" classname="tst_TestLib" time="@TEST_DURATION@"/> diff --git a/tests/auto/testlib/selftests/expected_testlib.lightxml b/tests/auto/testlib/selftests/expected_testlib.lightxml index cd0f96d6d4..76435eb9f0 100644 --- a/tests/auto/testlib/selftests/expected_testlib.lightxml +++ b/tests/auto/testlib/selftests/expected_testlib.lightxml @@ -11,7 +11,7 @@ <Incident type="fail" file="qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp" line="0"> <Description><![CDATA[Compared QObject pointers are not the same Actual (QTest::testObject()): tst_TestLib/"TestObject" - Expected (nullptr) : (nullptr)]]></Description> + Expected (nullptr) : "nullptr"]]></Description> </Incident> <Duration msecs="0"/> </TestFunction> diff --git a/tests/auto/testlib/selftests/expected_testlib.tap b/tests/auto/testlib/selftests/expected_testlib.tap index 4a6056bc77..1fa7dc77c4 100644 --- a/tests/auto/testlib/selftests/expected_testlib.tap +++ b/tests/auto/testlib/selftests/expected_testlib.tap @@ -5,9 +5,9 @@ not ok 2 - basics() --- type: QCOMPARE message: Compared QObject pointers are not the same - wanted: (nullptr) (nullptr) + wanted: "nullptr" (nullptr) found: tst_TestLib/"TestObject" (QTest::testObject()) - expected: (nullptr) (nullptr) + expected: "nullptr" (nullptr) actual: tst_TestLib/"TestObject" (QTest::testObject()) at: tst_TestLib::basics() (qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp:0) file: qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp diff --git a/tests/auto/testlib/selftests/expected_testlib.teamcity b/tests/auto/testlib/selftests/expected_testlib.teamcity index 279ef03f3f..52f7fa244c 100644 --- a/tests/auto/testlib/selftests/expected_testlib.teamcity +++ b/tests/auto/testlib/selftests/expected_testlib.teamcity @@ -2,7 +2,7 @@ ##teamcity[testStarted name='initTestCase()' flowId='tst_TestLib'] ##teamcity[testFinished name='initTestCase()' flowId='tst_TestLib'] ##teamcity[testStarted name='basics()' flowId='tst_TestLib'] -##teamcity[testFailed name='basics()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp(0)|]' details='Compared QObject pointers are not the same|n Actual (QTest::testObject()): tst_TestLib/"TestObject"|n Expected (nullptr) : (nullptr)' flowId='tst_TestLib'] +##teamcity[testFailed name='basics()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp(0)|]' details='Compared QObject pointers are not the same|n Actual (QTest::testObject()): tst_TestLib/"TestObject"|n Expected (nullptr) : "nullptr"' flowId='tst_TestLib'] ##teamcity[testFinished name='basics()' flowId='tst_TestLib'] ##teamcity[testStarted name='delays()' flowId='tst_TestLib'] ##teamcity[testFinished name='delays()' flowId='tst_TestLib'] diff --git a/tests/auto/testlib/selftests/expected_testlib.txt b/tests/auto/testlib/selftests/expected_testlib.txt index a0b8a275d0..4d652626e9 100644 --- a/tests/auto/testlib/selftests/expected_testlib.txt +++ b/tests/auto/testlib/selftests/expected_testlib.txt @@ -3,7 +3,7 @@ Config: Using QtTest library PASS : tst_TestLib::initTestCase() FAIL! : tst_TestLib::basics() Compared QObject pointers are not the same Actual (QTest::testObject()): tst_TestLib/"TestObject" - Expected (nullptr) : (nullptr) + Expected (nullptr) : "nullptr" Loc: [qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp(0)] PASS : tst_TestLib::delays() PASS : tst_TestLib::reals(zero) diff --git a/tests/auto/testlib/selftests/expected_testlib.xml b/tests/auto/testlib/selftests/expected_testlib.xml index 241fd3f8d1..8b66b003d0 100644 --- a/tests/auto/testlib/selftests/expected_testlib.xml +++ b/tests/auto/testlib/selftests/expected_testlib.xml @@ -13,7 +13,7 @@ <Incident type="fail" file="qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp" line="0"> <Description><![CDATA[Compared QObject pointers are not the same Actual (QTest::testObject()): tst_TestLib/"TestObject" - Expected (nullptr) : (nullptr)]]></Description> + Expected (nullptr) : "nullptr"]]></Description> </Incident> <Duration msecs="0"/> </TestFunction> diff --git a/tests/auto/testlib/selftests/extendedcompare/tst_extendedcompare.cpp b/tests/auto/testlib/selftests/extendedcompare/tst_extendedcompare.cpp index cc75e7f7fb..70a7798667 100644 --- a/tests/auto/testlib/selftests/extendedcompare/tst_extendedcompare.cpp +++ b/tests/auto/testlib/selftests/extendedcompare/tst_extendedcompare.cpp @@ -93,11 +93,13 @@ static ClassWithPointerGetter getClassForValue(int val) // various toString() overloads namespace QTest { -char *toString(const int *val) +template <> char *toString(const int *const &val) { return val ? toString(*val) : toString(nullptr); } +} // namespace QTest + char *toString(const MyClass &val) { char *msg = new char[128]; @@ -117,8 +119,6 @@ char *toString(const MyClass *val) return toString(nullptr); } -} // namespace QTest - enum MyUnregisteredEnum { MyUnregisteredEnumValue1, MyUnregisteredEnumValue2 }; class tst_ExtendedCompare : public QObject @@ -293,8 +293,6 @@ public: } }; -namespace QTest { - char *toString(const ClassWithDeferredSetter &val) { char *msg = new char[128]; @@ -302,8 +300,6 @@ char *toString(const ClassWithDeferredSetter &val) return msg; } -} // namespace QTest - void tst_ExtendedCompare::checkComparisonWithTimeout() { QFETCH_GLOBAL(QTest::ComparisonOperation, operation); diff --git a/tests/auto/tools/moc/os9-newlines.h b/tests/auto/tools/moc/os9-newlines.h index 82bddd117d..2da70f6a89 100644 --- a/tests/auto/tools/moc/os9-newlines.h +++ b/tests/auto/tools/moc/os9-newlines.h @@ -1 +1 @@ -// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include <QObject>
class Os9Newlines : public QObject
{
Q_OBJECT
public Q_SLOTS:
inline void testSlot() {}
};
\ No newline at end of file +// REUSE-IgnoreStart
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
// REUSE-IgnoreEnd
#include <QObject>
class Os9Newlines : public QObject
{
Q_OBJECT
public Q_SLOTS:
inline void testSlot() {}
};
\ No newline at end of file diff --git a/tests/auto/tools/uic/baseline/icontheme.ui.h b/tests/auto/tools/uic/baseline/icontheme.ui.h index 633ba81d37..b3e1e3fa0c 100644 --- a/tests/auto/tools/uic/baseline/icontheme.ui.h +++ b/tests/auto/tools/uic/baseline/icontheme.ui.h @@ -38,7 +38,7 @@ public: fileicon = new QPushButton(Form); fileicon->setObjectName("fileicon"); QIcon icon; - icon.addFile(QString::fromUtf8("image1.png"), QSize(), QIcon::Normal, QIcon::Off); + icon.addFile(QString::fromUtf8("image1.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); fileicon->setIcon(icon); verticalLayout->addWidget(fileicon); @@ -50,7 +50,7 @@ public: if (QIcon::hasThemeIcon(iconThemeName)) { icon1 = QIcon::fromTheme(iconThemeName); } else { - icon1.addFile(QString::fromUtf8("image7.png"), QSize(), QIcon::Normal, QIcon::Off); + icon1.addFile(QString::fromUtf8("image7.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); } fileandthemeicon->setIcon(icon1); @@ -76,7 +76,7 @@ public: if (QIcon::hasThemeIcon(QIcon::ThemeIcon::EditCopy)) { icon4 = QIcon::fromTheme(QIcon::ThemeIcon::EditCopy); } else { - icon4.addFile(QString::fromUtf8("image7.png"), QSize(), QIcon::Normal, QIcon::Off); + icon4.addFile(QString::fromUtf8("image7.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); } fileandthemeenum->setIcon(icon4); diff --git a/tests/auto/tools/uic/baseline/languagesdialog.ui.h b/tests/auto/tools/uic/baseline/languagesdialog.ui.h index cd2e1b0cd5..d3a927a434 100644 --- a/tests/auto/tools/uic/baseline/languagesdialog.ui.h +++ b/tests/auto/tools/uic/baseline/languagesdialog.ui.h @@ -55,7 +55,7 @@ public: upButton->setObjectName("upButton"); upButton->setEnabled(false); QIcon icon; - icon.addFile(QString::fromUtf8(":/images/up.png"), QSize(), QIcon::Normal, QIcon::Off); + icon.addFile(QString::fromUtf8(":/images/up.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); upButton->setIcon(icon); hboxLayout->addWidget(upButton); @@ -64,7 +64,7 @@ public: downButton->setObjectName("downButton"); downButton->setEnabled(false); QIcon icon1; - icon1.addFile(QString::fromUtf8(":/images/down.png"), QSize(), QIcon::Normal, QIcon::Off); + icon1.addFile(QString::fromUtf8(":/images/down.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); downButton->setIcon(icon1); hboxLayout->addWidget(downButton); @@ -73,7 +73,7 @@ public: removeButton->setObjectName("removeButton"); removeButton->setEnabled(false); QIcon icon2; - icon2.addFile(QString::fromUtf8(":/images/editdelete.png"), QSize(), QIcon::Normal, QIcon::Off); + icon2.addFile(QString::fromUtf8(":/images/editdelete.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); removeButton->setIcon(icon2); hboxLayout->addWidget(removeButton); @@ -82,7 +82,7 @@ public: openFileButton->setObjectName("openFileButton"); openFileButton->setEnabled(true); QIcon icon3; - icon3.addFile(QString::fromUtf8(":/images/mac/fileopen.png"), QSize(), QIcon::Normal, QIcon::Off); + icon3.addFile(QString::fromUtf8(":/images/mac/fileopen.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off); openFileButton->setIcon(icon3); hboxLayout->addWidget(openFileButton); diff --git a/tests/auto/tools/uic/baseline/pixmapfunction.ui.h b/tests/auto/tools/uic/baseline/pixmapfunction.ui.h index 541b4910e4..f7bca4c396 100644 --- a/tests/auto/tools/uic/baseline/pixmapfunction.ui.h +++ b/tests/auto/tools/uic/baseline/pixmapfunction.ui.h @@ -42,10 +42,10 @@ public: pushButton = new QPushButton(Form); pushButton->setObjectName("pushButton"); QIcon icon; - icon.addPixmap(QPixmap(pixmapFunction("buttonIconNormalOff")), QIcon::Normal, QIcon::Off); - icon.addPixmap(QPixmap(pixmapFunction("buttonIconNormalOn")), QIcon::Normal, QIcon::On); - icon.addPixmap(QPixmap(pixmapFunction("buttonIconDisabledOff")), QIcon::Disabled, QIcon::Off); - icon.addPixmap(QPixmap(pixmapFunction("buttonIconDisabledOn")), QIcon::Disabled, QIcon::On); + icon.addPixmap(QPixmap(pixmapFunction("buttonIconNormalOff")), QIcon::Mode::Normal, QIcon::State::Off); + icon.addPixmap(QPixmap(pixmapFunction("buttonIconNormalOn")), QIcon::Mode::Normal, QIcon::State::On); + icon.addPixmap(QPixmap(pixmapFunction("buttonIconDisabledOff")), QIcon::Mode::Disabled, QIcon::State::Off); + icon.addPixmap(QPixmap(pixmapFunction("buttonIconDisabledOn")), QIcon::Mode::Disabled, QIcon::State::On); pushButton->setIcon(icon); verticalLayout->addWidget(pushButton); diff --git a/tests/auto/wasm/fetchapi/tst_fetchapi.cpp b/tests/auto/wasm/fetchapi/tst_fetchapi.cpp index 3dcd8dd916..e37316b2db 100644 --- a/tests/auto/wasm/fetchapi/tst_fetchapi.cpp +++ b/tests/auto/wasm/fetchapi/tst_fetchapi.cpp @@ -69,11 +69,9 @@ void tst_FetchApi::sendRequestOnMainThread() void tst_FetchApi::sendRequestOnBackgroundThread() { - QSKIP("Skip this test until we fix fetching from background threads."); QEventLoop mainEventLoop; BackgroundThread *backgroundThread = new BackgroundThread(); connect(backgroundThread, &BackgroundThread::finished, &mainEventLoop, &QEventLoop::quit); - connect(backgroundThread, &BackgroundThread::finished, backgroundThread, &QObject::deleteLater); backgroundThread->start(); mainEventLoop.exec(); diff --git a/tests/auto/wasm/selenium/run.bat b/tests/auto/wasm/selenium/run.bat index 031e0b13ab..56305c72c3 100644 --- a/tests/auto/wasm/selenium/run.bat +++ b/tests/auto/wasm/selenium/run.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 :: :: The highest version of python that can be used is 3.11 :: Download from here: https://www.python.org/downloads/release/python-3118/ diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp index 4eaa592022..6ebf255f31 100644 --- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp @@ -1117,7 +1117,6 @@ void tst_QFiledialog::focus() QFileDialog fd; fd.setDirectory(QDir::currentPath()); fd.show(); - QApplicationPrivate::setActiveWindow(&fd); QVERIFY(QTest::qWaitForWindowActive(&fd)); QCOMPARE(fd.isVisible(), true); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd)); diff --git a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp index b330d4d869..c34c8559da 100644 --- a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp @@ -1265,7 +1265,6 @@ void tst_QFileDialog2::QTBUG6558_showDirsOnly() fd.setOption(QFileDialog::ShowDirsOnly, true); fd.show(); - QApplicationPrivate::setActiveWindow(&fd); QVERIFY(QTest::qWaitForWindowActive(&fd)); QCOMPARE(fd.isVisible(), true); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd)); @@ -1309,7 +1308,6 @@ void tst_QFileDialog2::QTBUG4842_selectFilterWithHideNameFilterDetails() fd.selectNameFilter(chosenFilterString); fd.show(); - QApplicationPrivate::setActiveWindow(&fd); QVERIFY(QTest::qWaitForWindowActive(&fd)); QCOMPARE(fd.isVisible(), true); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd)); @@ -1325,7 +1323,6 @@ void tst_QFileDialog2::QTBUG4842_selectFilterWithHideNameFilterDetails() fd2.selectNameFilter(chosenFilterString); fd2.show(); - QApplicationPrivate::setActiveWindow(&fd2); QVERIFY(QTest::qWaitForWindowActive(&fd2)); QCOMPARE(fd2.isVisible(), true); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd2)); @@ -1345,7 +1342,6 @@ void tst_QFileDialog2::dontShowCompleterOnRoot() fd.setAcceptMode(QFileDialog::AcceptSave); fd.show(); - QApplicationPrivate::setActiveWindow(&fd); QVERIFY(QTest::qWaitForWindowActive(&fd)); QCOMPARE(fd.isVisible(), true); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd)); diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp index c91a0803ee..fad75ec045 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp @@ -2976,11 +2976,6 @@ static QSizeF wfh(Qt::SizeHint /*which*/, const QSizeF &constraint) return result; } -bool qFuzzyCompare(const QSizeF &a, const QSizeF &b) -{ - return qFuzzyCompare(a.width(), b.width()) && qFuzzyCompare(a.height(), b.height()); -} - void tst_QGraphicsGridLayout::heightForWidth() { QGraphicsWidget *widget = new QGraphicsWidget; diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp index a9fccaf4b2..35356adcfc 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp @@ -993,7 +993,6 @@ void tst_QGraphicsItem::inputMethodHints() scene.addItem(item); scene.addItem(item2); QGraphicsView view(&scene); - QApplicationPrivate::setActiveWindow(&view); view.setWindowTitle(QLatin1String(QTest::currentTestFunction())); view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); @@ -1050,7 +1049,6 @@ void tst_QGraphicsItem::toolTip() view.setWindowTitle(QLatin1String(QTest::currentTestFunction())); view.setFixedSize(200, 200); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); { @@ -4946,7 +4944,6 @@ void tst_QGraphicsItem::sceneEventFilter() QGraphicsView view(&scene); view.setWindowTitle(QLatin1String(QTest::currentTestFunction())); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -5567,7 +5564,6 @@ void tst_QGraphicsItem::itemClipsChildrenToShape4() scene.addEllipse( 100, 100, 100, 50 ); // <-- this is important to trigger the right codepath* //now the label is shown outerWidget->setFlag(QGraphicsItem::ItemClipsChildrenToShape, false ); - QApplicationPrivate::setActiveWindow(&view); view.setWindowTitle(QLatin1String(QTest::currentTestFunction())); view.show(); QTRY_COMPARE(QApplication::activeWindow(), &view); @@ -10931,7 +10927,6 @@ void tst_QGraphicsItem::focusHandling() view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); - QApplicationPrivate::setActiveWindow(&view); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); QVERIFY(itemWithFocus->hasFocus()); diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index c5cbecff65..ee1a8c530a 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -709,7 +709,6 @@ void tst_QGraphicsProxyWidget::focusNextPrevChild() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); if (hasScene) { scene.addItem(proxyGuard.release()); @@ -751,7 +750,6 @@ void tst_QGraphicsProxyWidget::focusOutEvent() SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; scene.addItem(proxy); view.show(); - QApplicationPrivate::setActiveWindow(&view); view.activateWindow(); view.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -933,7 +931,6 @@ void tst_QGraphicsProxyWidget::hoverEnterLeaveEvent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; @@ -987,7 +984,6 @@ void tst_QGraphicsProxyWidget::keyPressEvent() QGraphicsView view(&scene); view.show(); view.viewport()->setFocus(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), (QWidget*)&view); @@ -1026,7 +1022,6 @@ void tst_QGraphicsProxyWidget::keyReleaseEvent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), (QWidget*)&view); @@ -1072,7 +1067,6 @@ void tst_QGraphicsProxyWidget::mouseDoubleClickEvent() view.resize(100, 100); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), (QWidget*)&view); // wait for scene to be updated before doing any coordinate mappings on it @@ -1158,7 +1152,6 @@ void tst_QGraphicsProxyWidget::paintEvent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QVERIFY(view.isActiveWindow()); @@ -1545,7 +1538,6 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); @@ -1629,7 +1621,6 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); @@ -1762,7 +1753,6 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); @@ -1899,7 +1889,6 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); @@ -2073,7 +2062,6 @@ void tst_QGraphicsProxyWidget::setFocus_simpleWidget() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::activeWindow(), &window); @@ -2145,7 +2133,6 @@ void tst_QGraphicsProxyWidget::setFocus_simpleTwoWidgets() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::activeWindow(), &window); @@ -2224,7 +2211,6 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() window.setLayout(layout); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::activeWindow(), &window); @@ -2469,7 +2455,6 @@ void tst_QGraphicsProxyWidget::tooltip_basic() QGraphicsView view(&scene); view.setFixedSize(200, 200); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); { QHelpEvent helpEvent(QEvent::ToolTip, view.viewport()->rect().topLeft(), @@ -3005,7 +2990,6 @@ void tst_QGraphicsProxyWidget::actionsContextMenu() view.resize(200, 200); view.move(QGuiApplication::primaryScreen()->geometry().center() - QPoint(100, 100)); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); view.setFocus(); QTRY_VERIFY(view.hasFocus()); @@ -3087,7 +3071,6 @@ void tst_QGraphicsProxyWidget::bypassGraphicsProxyWidget() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QGraphicsProxyWidget *proxy = scene.addWidget(widgetGuard.release()); @@ -3353,7 +3336,6 @@ void tst_QGraphicsProxyWidget::clickFocus() view.setFrameStyle(0); view.resize(300, 300); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QVERIFY(!proxy->hasFocus()); @@ -3497,7 +3479,6 @@ void tst_QGraphicsProxyWidget::QTBUG_6986_sendMouseEventToAlienWidget() QGraphicsView view(&scene); view.resize(600, 600); - QApplicationPrivate::setActiveWindow(&view); view.show(); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -3541,7 +3522,6 @@ void tst_QGraphicsProxyWidget::mapToGlobal() // QTBUG-41135 childWidget->resize(embeddedWidget->size() / 2); childWidget->move(embeddedWidget->width() / 4, embeddedWidget->height() / 4); // center in embeddedWidget scene.addWidget(embeddedWidget); - QApplicationPrivate::setActiveWindow(&view); view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); const QPoint embeddedCenter = embeddedWidget->rect().center(); diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp index 3ea728abf6..515ba80bbe 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp @@ -1294,7 +1294,6 @@ void tst_QGraphicsScene::removeItem() view.setWindowTitle(QTest::currentTestFunction()); view.setFixedSize(150, 150); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QTest::mouseMove(view.windowHandle(), view.mapFromScene(hoverItem->scenePos() + QPointF(20, 20))); QTRY_VERIFY(!hoverItem->isHovered); @@ -1602,7 +1601,6 @@ void tst_QGraphicsScene::hoverEvents_siblings() view.rotate(10); view.scale(1.7, 1.7); view.show(); - QApplicationPrivate::setActiveWindow(&view); view.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -1672,7 +1670,6 @@ void tst_QGraphicsScene::hoverEvents_parentChild() view.rotate(10); view.scale(1.7, 1.7); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); @@ -2854,7 +2851,6 @@ void tst_QGraphicsScene::update2() view.resize(m_testSize); view.setScene(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QTRY_VERIFY(view.repaints >= 1); view.repaints = 0; @@ -3044,7 +3040,6 @@ void tst_QGraphicsScene::tabFocus_emptyScene() widget.setLayout(layout); widget.setWindowTitle(QTest::currentTestFunction()); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); widget.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&widget)); @@ -3096,7 +3091,6 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() widget.setWindowTitle(QTest::currentTestFunction()); widget.setLayout(layout); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); widget.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&widget)); @@ -3825,7 +3819,6 @@ void tst_QGraphicsScene::inputMethod() view.resize(m_testSize); view.show(); view.setWindowTitle(QTest::currentTestFunction()); - QApplicationPrivate::setActiveWindow(&view); view.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), &view); @@ -4069,7 +4062,6 @@ void tst_QGraphicsScene::isActive() view1->setVisible(false); toplevel1.show(); - QApplicationPrivate::setActiveWindow(&toplevel1); QVERIFY(QTest::qWaitForWindowActive(&toplevel1)); QCOMPARE(QApplication::activeWindow(), &toplevel1); @@ -4246,7 +4238,6 @@ void tst_QGraphicsScene::isActive() toplevel3.show(); - QApplicationPrivate::setActiveWindow(&toplevel3); QVERIFY(QTest::qWaitForWindowActive(&toplevel3)); QCOMPARE(QApplication::activeWindow(), &toplevel3); @@ -4359,7 +4350,6 @@ void tst_QGraphicsScene::removeFullyTransparentItem() view.resize(m_testSize); view.setScene(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCoreApplication::processEvents(); // Process all queued paint events @@ -4817,7 +4807,6 @@ void tst_QGraphicsScene::focusOnTouch() rect->setFlag(QGraphicsItem::ItemIsFocusable, true); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QVERIFY(!rect->hasFocus()); @@ -4918,7 +4907,6 @@ void tst_QGraphicsScene::taskQTBUG_16401_focusItem() rect->setFlag(QGraphicsItem::ItemIsFocusable); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QVERIFY(!scene.focusItem()); @@ -4960,7 +4948,6 @@ void tst_QGraphicsScene::taskQTBUG_42915_focusNextPrevChild() widget2->setFocusPolicy(Qt::NoFocus); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QTest::keyEvent(QTest::Click, &view, Qt::Key_Tab); diff --git a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp index b62a24eaef..b6d48b52d5 100644 --- a/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicssceneindex/tst_qgraphicssceneindex.cpp @@ -291,7 +291,6 @@ void tst_QGraphicsSceneIndex::removeItems() QGraphicsView view(&scene); view.resize(600, 600); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); scene.removeItem(widgetChild1); @@ -323,7 +322,6 @@ void tst_QGraphicsSceneIndex::clear() QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); scene.clear(); diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp index 346469a6ea..7ed1f28b0a 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp @@ -2153,7 +2153,6 @@ void tst_QGraphicsView::sendEvent() QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); @@ -2221,7 +2220,6 @@ void tst_QGraphicsView::wheelEvent() // Assign a view. QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); @@ -2458,7 +2456,6 @@ void tst_QGraphicsView::viewportUpdateMode() // Show the view, and initialize our test. view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QTRY_VERIFY(!view.lastUpdateRegions.isEmpty()); @@ -2541,7 +2538,6 @@ void tst_QGraphicsView::viewportUpdateMode2() const QMargins margins = view.contentsMargins(); view.resize(200 + margins.left() + margins.right(), 200 + margins.top() + margins.bottom()); toplevel.show(); - QApplicationPrivate::setActiveWindow(&toplevel); QVERIFY(QTest::qWaitForWindowExposed(&toplevel)); QVERIFY(QTest::qWaitForWindowActive(&toplevel)); QTRY_VERIFY(view.painted); @@ -3189,7 +3185,6 @@ void tst_QGraphicsView::task172231_untransformableItems() view.scale(2, 1); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); @@ -3251,7 +3246,6 @@ void tst_QGraphicsView::task187791_setSceneCausesUpdate() QGraphicsScene scene(0, 0, 200, 200); QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); EventSpy updateSpy(view.viewport(), QEvent::Paint); @@ -3338,7 +3332,6 @@ void tst_QGraphicsView::task207546_focusCrash() widget.layout()->addWidget(gr2); widget.show(); widget.activateWindow(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&widget)); widget.focusNextPrevChild(true); @@ -3430,7 +3423,6 @@ void tst_QGraphicsView::task239729_noViewUpdate() QCOMPARE(spy.count(), 0); view->show(); - QApplicationPrivate::setActiveWindow(view); QVERIFY(QTest::qWaitForWindowActive(view)); QTRY_VERIFY(spy.count() >= 1); @@ -4135,7 +4127,6 @@ void tst_QGraphicsView::update() QVERIFY(QTest::qWaitForWindowExposed(&toplevel)); - QApplicationPrivate::setActiveWindow(&toplevel); QApplication::processEvents(); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&toplevel)); @@ -4405,7 +4396,6 @@ void tst_QGraphicsView::inputMethodSensitivity() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); @@ -4503,7 +4493,6 @@ void tst_QGraphicsView::inputContextReset() QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); @@ -4651,7 +4640,6 @@ void tst_QGraphicsView::task255529_transformationAnchorMouseAndViewportMargins() VpGraphicsView view(&scene); view.setWindowFlags(Qt::X11BypassWindowManagerHint); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); const bool isActiveWindow = QTest::qWaitForWindowActive(&view); if (!isActiveWindow) @@ -4825,7 +4813,6 @@ void tst_QGraphicsView::QTBUG_5859_exposedRect() QGraphicsView view(&scene); view.scale(4.15, 4.15); view.showNormal(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -4897,7 +4884,6 @@ void tst_QGraphicsView::hoverLeave() scene.addItem(item); view.showNormal(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); QWindow *viewWindow = view.window()->windowHandle(); @@ -4976,7 +4962,6 @@ void tst_QGraphicsView::QTBUG_70255_scrollTo() view.centerOn(0, 0); view.show(); - QApplicationPrivate::setActiveWindow(&view); if (!QTest::qWaitForWindowExposed(&view) || !QTest::qWaitForWindowActive(&view)) QSKIP("Failed to show and activate window"); diff --git a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp index e298747284..9fd93ca91d 100644 --- a/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp @@ -1388,7 +1388,6 @@ void tst_QGraphicsWidget::setTabOrder() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QGraphicsWidget *lastItem = nullptr; @@ -1460,7 +1459,6 @@ void tst_QGraphicsWidget::setTabOrderAndReparent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(QApplication::activeWindow(), (QWidget*)&view); @@ -1590,7 +1588,6 @@ void tst_QGraphicsWidget::verifyFocusChain() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); { @@ -1682,7 +1679,6 @@ void tst_QGraphicsWidget::verifyFocusChain() w1_2->setFocusPolicy(Qt::StrongFocus); scene.addItem(w1_2); window->show(); - QApplicationPrivate::setActiveWindow(window.data()); QVERIFY(QTest::qWaitForWindowActive(window.data())); lineEdit->setFocus(); @@ -2694,7 +2690,6 @@ void tst_QGraphicsWidget::task250119_shortcutContext() QGraphicsView view; view.setScene(&scene); view.show(); - QApplicationPrivate::setActiveWindow(&view); QTRY_COMPARE(QApplication::activeWindow(), (QWidget*)&view); diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp index b221047798..4f2495375d 100644 --- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp @@ -1051,7 +1051,6 @@ void tst_QAbstractItemView::setItemDelegate() centerOnScreen(&v); moveCursorAway(&v); v.show(); - QApplicationPrivate::setActiveWindow(&v); QVERIFY(QTest::qWaitForWindowActive(&v)); QModelIndex index = model.index(cellToEdit.y(), cellToEdit.x()); @@ -1260,7 +1259,6 @@ void tst_QAbstractItemView::task221955_selectedEditor() tree.show(); tree.setFocus(); tree.setCurrentIndex(tree.model()->index(1,0)); - QApplicationPrivate::setActiveWindow(&tree); QVERIFY(QTest::qWaitForWindowActive(&tree)); QVERIFY(! tree.selectionModel()->selectedIndexes().contains(tree.model()->index(3,0))); @@ -1559,7 +1557,6 @@ void tst_QAbstractItemView::QTBUG6407_extendedSelection() moveCursorAway(&view); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(&view, QApplication::activeWindow()); @@ -1657,7 +1654,6 @@ void tst_QAbstractItemView::testClickedSignal() centerOnScreen(&view); moveCursorAway(&view); view.showNormal(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(&view, QApplication::activeWindow()); @@ -1708,7 +1704,6 @@ void tst_QAbstractItemView::testChangeEditorState() centerOnScreen(&view); moveCursorAway(&view); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(&view, QApplication::activeWindow()); @@ -1729,7 +1724,6 @@ void tst_QAbstractItemView::deselectInSingleSelection() QVERIFY(QTest::qWaitForWindowExposed(&view)); view.setSelectionMode(QAbstractItemView::SingleSelection); view.setEditTriggers(QAbstractItemView::NoEditTriggers); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowExposed(&view)); // mouse QModelIndex index22 = s.index(2, 2); @@ -1776,7 +1770,6 @@ void tst_QAbstractItemView::testNoActivateOnDisabledItem() moveCursorAway(&treeView); treeView.show(); - QApplicationPrivate::setActiveWindow(&treeView); QVERIFY(QTest::qWaitForWindowActive(&treeView)); QSignalSpy activatedSpy(&treeView, &QAbstractItemView::activated); @@ -1823,7 +1816,6 @@ void tst_QAbstractItemView::testFocusPolicy() moveCursorAway(&window); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); // itemview accepts focus => editor is closed => return focus to the itemview @@ -1861,7 +1853,6 @@ void tst_QAbstractItemView::QTBUG31411_noSelection() moveCursorAway(&window); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); qRegisterMetaType<QItemSelection>(); @@ -2461,15 +2452,11 @@ void tst_QAbstractItemView::inputMethodEnabled() // Check focus by switching the activation of the window to force a focus in view->setCurrentIndex(model->index(1, 0)); - QApplicationPrivate::setActiveWindow(nullptr); - QApplicationPrivate::setActiveWindow(view.data()); QVERIFY(QTest::qWaitForWindowActive(view.data())); QCOMPARE(view->testAttribute(Qt::WA_InputMethodEnabled), result); view->setCurrentIndex(QModelIndex()); QVERIFY(!view->testAttribute(Qt::WA_InputMethodEnabled)); - QApplicationPrivate::setActiveWindow(nullptr); - QApplicationPrivate::setActiveWindow(view.data()); QVERIFY(QTest::qWaitForWindowActive(view.data())); QModelIndex index = model->index(1, 0); QPoint p = view->visualRect(index).center(); @@ -2479,8 +2466,6 @@ void tst_QAbstractItemView::inputMethodEnabled() QCOMPARE(view->testAttribute(Qt::WA_InputMethodEnabled), result); index = model->index(0, 0); - QApplicationPrivate::setActiveWindow(nullptr); - QApplicationPrivate::setActiveWindow(view.data()); QVERIFY(QTest::qWaitForWindowActive(view.data())); p = view->visualRect(index).center(); QTest::mouseClick(view->viewport(), Qt::LeftButton, Qt::NoModifier, p); diff --git a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp index 82398cd6bb..c3527e4215 100644 --- a/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp +++ b/tests/auto/widgets/itemviews/qdatawidgetmapper/tst_qdatawidgetmapper.cpp @@ -420,7 +420,6 @@ void tst_QDataWidgetMapper::textEditDoesntChangeFocusOnTab_qtbug3305() container.show(); - QApplicationPrivate::setActiveWindow(&container); QVERIFY(QTest::qWaitForWindowActive(&container)); int closeEditorSpyCount = 0; diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp index 46d97b4da1..57efa3e349 100644 --- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp +++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp @@ -1620,7 +1620,6 @@ void tst_QHeaderView::focusPolicy() widget.show(); widget.setFocus(Qt::OtherFocusReason); - QApplicationPrivate::setActiveWindow(&widget); widget.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&widget)); QVERIFY(widget.hasFocus()); @@ -3612,7 +3611,6 @@ void tst_QHeaderView::statusTips() headerView.setGeometry(QRect(QPoint(QGuiApplication::primaryScreen()->geometry().center() - QPoint(250, 250)), QSize(500, 500))); headerView.show(); - QApplicationPrivate::setActiveWindow(&headerView); QVERIFY(QTest::qWaitForWindowActive(&headerView)); // Ensure it is moved away first and then moved to the relevant section diff --git a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp index e1488e4484..769456951f 100644 --- a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp +++ b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp @@ -747,7 +747,6 @@ void tst_QItemDelegate::dateTimeEditor() widget.setItem(0, 2, item3); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); - QApplicationPrivate::setActiveWindow(&widget); widget.editItem(item1); @@ -763,7 +762,6 @@ void tst_QItemDelegate::dateTimeEditor() timeEditor->setTime(time.addSecs(60)); widget.clearFocus(); - QApplicationPrivate::setActiveWindow(&widget); widget.setFocus(); widget.editItem(item2); @@ -1027,7 +1025,6 @@ void tst_QItemDelegate::decoration() TestItemDelegate delegate; table.setItemDelegate(&delegate); table.show(); - QApplicationPrivate::setActiveWindow(&table); QVERIFY(QTest::qWaitForWindowActive(&table)); QVariant value; @@ -1282,7 +1279,6 @@ void tst_QItemDelegate::enterKey() QListView view; view.setModel(&model); view.show(); - QApplicationPrivate::setActiveWindow(&view); view.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -1342,7 +1338,6 @@ void tst_QItemDelegate::task257859_finalizeEdit() QListView view; view.setModel(&model); view.show(); - QApplicationPrivate::setActiveWindow(&view); view.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&view)); @@ -1469,7 +1464,6 @@ void tst_QItemDelegate::testLineEditValidation() view.setItemDelegate(&delegate); view.show(); view.setFocus(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QPointer<QLineEdit> editor; diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp index fa290d5f6e..236cd6212f 100644 --- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp +++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp @@ -1707,7 +1707,6 @@ void tst_QListView::keyboardSearch() QListView view; view.setModel(&model); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QTest::keyClick(&view, Qt::Key_K); @@ -1809,7 +1808,6 @@ void tst_QListView::shiftSelectionWithItemAlignment() view.resize(300, view.sizeHintForRow(0) * items.size() / 2 + view.horizontalScrollBar()->height()); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(static_cast<QWidget *>(&view), QApplication::activeWindow()); @@ -1868,7 +1866,6 @@ void tst_QListView::task262152_setModelColumnNavigate() view.setModelColumn(1); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QCOMPARE(&view, QApplication::activeWindow()); QTest::keyClick(&view, Qt::Key_Down); @@ -2814,7 +2811,6 @@ void tst_QListView::moveLastRow() view.setViewMode(QListView::IconMode); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QModelIndex sourceParent = model.index(0, 0); diff --git a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp index 1f46f19569..14a6cee0d9 100644 --- a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp +++ b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp @@ -1810,7 +1810,6 @@ void tst_QListWidget::QTBUG14363_completerWithAnyKeyPressedEditTriggers() new QListWidgetItem(QLatin1String("completer"), &listWidget); listWidget.show(); listWidget.setCurrentItem(item); - QApplicationPrivate::setActiveWindow(&listWidget); QVERIFY(QTest::qWaitForWindowActive(&listWidget)); listWidget.setFocus(); QCOMPARE(QApplication::focusWidget(), &listWidget); diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp index 45a467d423..681be2491d 100644 --- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp @@ -610,7 +610,6 @@ void tst_QTableView::keyboardNavigation() view.setCurrentIndex(index); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); int row = rowCount - 1; @@ -3829,7 +3828,6 @@ void tst_QTableView::tabFocus() QLineEdit *edit = new QLineEdit(&window); window.show(); - QApplicationPrivate::setActiveWindow(&window); window.setFocus(); window.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&window)); diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp index 14169976e4..9b02b0e80d 100644 --- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp @@ -1240,7 +1240,6 @@ void tst_QTreeView::keyboardSearchMultiColumn() view.setModel(&model); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); view.setCurrentIndex(model.index(0, 1)); @@ -1926,7 +1925,6 @@ void tst_QTreeView::moveCursor() view.setColumnHidden(0, true); QVERIFY(view.isColumnHidden(0)); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); //here the first visible index should be selected @@ -3705,7 +3703,6 @@ void tst_QTreeView::task224091_appendColumns() treeView->setModel(model); topLevel->show(); treeView->resize(50, 50); - QApplicationPrivate::setActiveWindow(topLevel); QVERIFY(QTest::qWaitForWindowActive(topLevel)); QVERIFY(!treeView->verticalScrollBar()->isVisible()); @@ -4081,7 +4078,6 @@ void tst_QTreeView::doubleClickedWithSpans() view.setModel(&model); view.setFirstColumnSpanned(0, QModelIndex(), true); view.show(); - QApplicationPrivate::setActiveWindow(&view); QVERIFY(QTest::qWaitForWindowActive(&view)); QVERIFY(view.isActiveWindow()); @@ -4183,7 +4179,6 @@ void tst_QTreeView::keyboardNavigationWithDisabled() view.resize(200, view.visualRect(model.index(0,0)).height()*10); topLevel.show(); - QApplicationPrivate::setActiveWindow(&topLevel); QVERIFY(QTest::qWaitForWindowActive(&topLevel)); QVERIFY(topLevel.isActiveWindow()); @@ -4769,7 +4764,6 @@ void tst_QTreeView::statusTip() mw.setGeometry(QRect(QPoint(QGuiApplication::primaryScreen()->geometry().center() - QPoint(250, 250)), QSize(500, 500))); mw.show(); - QApplicationPrivate::setActiveWindow(&mw); QVERIFY(QTest::qWaitForWindowActive(&mw)); // Ensure it is moved away first and then moved to the relevant section QTest::mouseMove(mw.windowHandle(), view->mapTo(&mw, view->rect().bottomLeft() + QPoint(20, 20))); diff --git a/tests/auto/widgets/kernel/qaction/tst_qaction.cpp b/tests/auto/widgets/kernel/qaction/tst_qaction.cpp index 36985c0de3..2820fd710b 100644 --- a/tests/auto/widgets/kernel/qaction/tst_qaction.cpp +++ b/tests/auto/widgets/kernel/qaction/tst_qaction.cpp @@ -113,7 +113,6 @@ void tst_QAction::actionEvent() // add action MyWidget testWidget(this); testWidget.show(); - QApplicationPrivate::setActiveWindow(&testWidget); testWidget.addAction(&a); qApp->processEvents(); @@ -273,7 +272,6 @@ void tst_QAction::repeat() MyWidget testWidget(this); testWidget.show(); - QApplicationPrivate::setActiveWindow(&testWidget); QVERIFY(QTest::qWaitForWindowActive(&testWidget)); QAction act(&testWidget); @@ -352,7 +350,6 @@ void tst_QAction::disableShortcutsWithBlockedWidgets() dialog.show(); QVERIFY(QTest::qWaitForWindowExposed(&dialog)); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QSignalSpy spy(&action, &QAction::triggered); diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp index b71a7a0a31..2eb2d84504 100644 --- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp @@ -23,6 +23,7 @@ #include <QtGui/QFontDatabase> #include <QtGui/QClipboard> +#include <QtGui/QStyleHints> #include <QtWidgets/QApplication> #include <QtWidgets/QMessageBox> @@ -119,6 +120,7 @@ private slots: void style(); void applicationPalettePolish(); + void setColorScheme(); void allWidgets(); void topLevelWidgets(); @@ -311,10 +313,8 @@ void tst_QApplication::alert() QApplication::alert(&widget, -1); QApplication::alert(&widget, 250); widget2.activateWindow(); - QApplicationPrivate::setActiveWindow(&widget2); QApplication::alert(&widget, 0); widget.activateWindow(); - QApplicationPrivate::setActiveWindow(&widget); QApplication::alert(&widget, 200); } @@ -1624,7 +1624,6 @@ void tst_QApplication::focusWidget() QTextEdit te; te.show(); - QApplicationPrivate::setActiveWindow(&te); QVERIFY(QTest::qWaitForWindowActive(&te)); const auto focusWidget = QApplication::focusWidget(); @@ -1640,7 +1639,6 @@ void tst_QApplication::focusWidget() QTextEdit te(&w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); const auto focusWidget = QApplication::focusWidget(); @@ -2055,6 +2053,122 @@ void tst_QApplication::applicationPalettePolish() } } +void tst_QApplication::setColorScheme() +{ + int argc = 1; + QApplication app(argc, &argv0); + + if (QStringList{"minimal", "offscreen", "wayland", "xcb", "wasm", "webassembly"} + .contains(QGuiApplication::platformName(), Qt::CaseInsensitive)) { + QSKIP("Setting the colorScheme is not implemented on this platform."); + } + qDebug() << "Testing setColorScheme on platform" << QGuiApplication::platformName(); + + if (QByteArrayView(app.style()->metaObject()->className()) == "QWindowsVistaStyle") + QSKIP("Setting the colorScheme is not supported with the Windows Vista style."); + + const Qt::ColorScheme defaultColorScheme = QApplication::styleHints()->colorScheme(); + // if we implement setColorScheme, then we must be able to read it + QVERIFY(defaultColorScheme != Qt::ColorScheme::Unknown); + const Qt::ColorScheme newColorScheme = defaultColorScheme == Qt::ColorScheme::Light + ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; + + class TopLevelWidget : public QWidget + { + QList<QEvent::Type> events; + public: + TopLevelWidget() + { + setObjectName("colorScheme TopLevelWidget"); + } + + void clearEvents() + { + events.clear(); + } + qsizetype eventCount(QEvent::Type type) const + { + return events.count(type); + } + protected: + bool event(QEvent *event) override + { + switch (event->type()) { + case QEvent::ApplicationPaletteChange: + case QEvent::PaletteChange: + case QEvent::ThemeChange: + events << event->type(); + break; + default: + break; + } + + return QWidget::event(event); + } + } topLevelWidget; + topLevelWidget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&topLevelWidget)); + + QSignalSpy colorSchemeChangedSpy(app.styleHints(), &QStyleHints::colorSchemeChanged); + + // always start with a clean list + topLevelWidget.clearEvents(); + const QPalette defaultPalette = topLevelWidget.palette(); + + bool oldPaletteWhenSchemeChanged = false; + connect(app.styleHints(), &QStyleHints::colorSchemeChanged, this, + [defaultPalette, &topLevelWidget, &oldPaletteWhenSchemeChanged]{ + oldPaletteWhenSchemeChanged = defaultPalette == topLevelWidget.palette(); + }); + + app.styleHints()->setColorScheme(newColorScheme); + QTRY_COMPARE(colorSchemeChangedSpy.count(), 1); + // We have not yet updated the palette when we emit the colorSchemeChanged + // signal, so the toplevel widget should still use the previous palette + QVERIFY(oldPaletteWhenSchemeChanged); + QCOMPARE(topLevelWidget.eventCount(QEvent::ThemeChange), 1); + // We can't guarantee that there is only one ApplicationPaletteChange, + // and they might arrive asynchronously in response to ThemeChange + QTRY_COMPARE_GE(topLevelWidget.eventCount(QEvent::ApplicationPaletteChange), 1); + // But we can guarantee a single PaletteChange event for the widget + QCOMPARE(topLevelWidget.eventCount(QEvent::PaletteChange), 1); + // The palette should have changed + QCOMPARE_NE(topLevelWidget.palette(), defaultPalette); + + topLevelWidget.clearEvents(); + colorSchemeChangedSpy.clear(); + + // verify that a widget shown with a color scheme override in place respect that + QWidget newWidget; + newWidget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&newWidget)); + QCOMPARE(newWidget.palette(), topLevelWidget.palette()); + + // Setting to Unknown should follow the system preference again + app.styleHints()->setColorScheme(Qt::ColorScheme::Unknown); + QTRY_COMPARE(colorSchemeChangedSpy.count(), 1); + QCOMPARE(app.styleHints()->colorScheme(), defaultColorScheme); + QTRY_COMPARE(topLevelWidget.eventCount(QEvent::PaletteChange), 1); + + auto debugPalette = qScopeGuard([defaultPalette, &topLevelWidget]{ + qDebug() << "Inspecting palettes for differences"; + const QPalette palette = topLevelWidget.palette(); + for (int g = 0; g < QPalette::NColorGroups; ++g) { + for (int r = 0; r < QPalette::NColorRoles; ++r) { + const auto group = static_cast<QPalette::ColorGroup>(g); + const auto role = static_cast<QPalette::ColorRole>(r); + qDebug() << "...Checking" << group << role; + const auto actualBrush = palette.brush(group, role); + const auto expectedBrush = defaultPalette.brush(group, role); + if (palette.brush(group, role) != defaultPalette.brush(group, role)) + qWarning() << "...Difference in" << group << role << actualBrush << expectedBrush; + } + } + }); + QCOMPARE(topLevelWidget.palette(), defaultPalette); + debugPalette.dismiss(); +} + void tst_QApplication::allWidgets() { int argc = 1; diff --git a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp index 7468dfa9a6..d34df43b01 100644 --- a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp +++ b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp @@ -1064,7 +1064,6 @@ void tst_QShortcut::context() // Focus on 'other1' edit, so Active Window context should trigger other1->activateWindow(); // <--- - QApplicationPrivate::setActiveWindow(other1); QCOMPARE(QApplication::activeWindow(), other1->window()); QCOMPARE(QApplication::focusWidget(), static_cast<QWidget *>(other1)); @@ -1156,7 +1155,6 @@ void tst_QShortcut::duplicatedShortcutOverride() w.resize(200, 200); w.move(QGuiApplication::primaryScreen()->availableGeometry().center() - QPoint(100, 100)); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QTest::keyPress(w.windowHandle(), Qt::Key_A); QCoreApplication::processEvents(); diff --git a/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp b/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp index ca002a1375..c73b9725b2 100644 --- a/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp +++ b/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp @@ -289,7 +289,6 @@ void tst_QStackedLayout::keepFocusAfterSetCurrent() stackLayout->setCurrentIndex(0); testWidget->show(); - QApplicationPrivate::setActiveWindow(testWidget); QVERIFY(QTest::qWaitForWindowActive(testWidget)); edit1->setFocus(); diff --git a/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp b/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp index c3b53addcc..bc0624c9ab 100644 --- a/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp +++ b/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp @@ -98,7 +98,6 @@ void tst_QToolTip::keyEvent() widget.setWindowTitle(QLatin1String(QTest::currentTestFunction()) + QLatin1Char(' ') + QLatin1String(QTest::currentDataTag())); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); widget.showDelayedToolTip(100); @@ -193,7 +192,6 @@ void tst_QToolTip::qtbug64550_stylesheet() Widget widget; widget.setStyleSheet(QStringLiteral("* { font-size: 48pt; }\n")); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); widget.showDelayedToolTip(100); diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 18a01478d7..c741a6717d 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -319,6 +319,7 @@ private slots: void renderTargetOffset(); void renderInvisible(); void renderWithPainter(); + void renderRTL(); void render_task188133(); void render_task211796(); void render_task217815(); @@ -476,6 +477,10 @@ private slots: void reparentWindowHandles_data(); void reparentWindowHandles(); +#ifndef QT_NO_CONTEXTMENU + void contextMenuTrigger(); +#endif + private: const QString m_platform; QSize m_testWidgetSize; @@ -1937,8 +1942,6 @@ void tst_QWidget::focusChainOnHide() QWidget::setTabOrder(child, parent.data()); parent->show(); - QApplicationPrivate::setActiveWindow(parent->window()); - child->activateWindow(); child->setFocus(); QTRY_VERIFY(child->hasFocus()); @@ -2019,6 +2022,7 @@ static QList<QWidget *> getFocusChain(QWidget *start, bool bForward) void tst_QWidget::focusAbstraction() { + QLoggingCategory::setFilterRules("qt.widgets.focus=true"); QWidget *widget1 = new QWidget; widget1->setObjectName("Widget 1"); QWidget *widget2 = new QWidget; @@ -2419,6 +2423,13 @@ void tst_QWidget::tabOrderWithProxy() QVERIFY(firstEdit->hasFocus()); } +static QString focusWidgetName() +{ + return QApplication::focusWidget() != nullptr + ? QApplication::focusWidget()->objectName() + : QStringLiteral("No focus widget"); +} + void tst_QWidget::tabOrderWithProxyDisabled() { Container container; @@ -2450,23 +2461,23 @@ void tst_QWidget::tabOrderWithProxyDisabled() QSKIP("Window failed to activate, skipping test"); QVERIFY2(lineEdit1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.tab(); QVERIFY2(!lineEdit2.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); QVERIFY2(lineEdit3.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.tab(); QVERIFY2(lineEdit1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.backTab(); QVERIFY2(lineEdit3.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.backTab(); QVERIFY2(!lineEdit2.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); QVERIFY2(lineEdit1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); } //#define DEBUG_FOCUS_CHAIN @@ -2778,23 +2789,23 @@ void tst_QWidget::tabOrderWithCompoundWidgetsNoFocusPolicy() QSKIP("Window failed to activate, skipping test"); QVERIFY2(spinbox1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.tab(); QVERIFY2(!spinbox2.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); QVERIFY2(spinbox3.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.tab(); QVERIFY2(spinbox1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.backTab(); QVERIFY2(spinbox3.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); container.backTab(); QVERIFY2(!spinbox2.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); QVERIFY2(spinbox1.hasFocus(), - qPrintable(QApplication::focusWidget()->objectName())); + qPrintable(focusWidgetName())); } void tst_QWidget::tabOrderNoChange() @@ -2879,7 +2890,6 @@ void tst_QWidget::appFocusWidgetWithFocusProxyLater() QLineEdit *lineEdit = new QLineEdit(&window); lineEdit->setFocus(); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::focusWidget(), lineEdit); @@ -2907,7 +2917,6 @@ void tst_QWidget::appFocusWidgetWhenLosingFocusProxy() lineEdit->setFocusProxy(lineEditFocusProxy); lineEdit->setFocus(); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::focusWidget(), lineEditFocusProxy); QVERIFY(lineEdit->hasFocus()); @@ -2962,7 +2971,6 @@ void tst_QWidget::explicitTabOrderWithSpinBox_QTBUG81097() QWidget::setTabOrder(spinBoxTwo, lineEdit); spinBoxOne->setFocus(); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QTRY_COMPARE(QApplication::focusWidget(), spinBoxOne); @@ -3590,7 +3598,6 @@ void tst_QWidget::showMinimizedKeepsFocus() QWidget *child = new QWidget(&window); child->setFocusPolicy(Qt::StrongFocus); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); child->setFocus(); QTRY_COMPARE(window.focusWidget(), child); @@ -3609,7 +3616,6 @@ void tst_QWidget::showMinimizedKeepsFocus() QWidget *child = new QWidget(&window); child->setFocusPolicy(Qt::StrongFocus); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); child->setFocus(); QTRY_COMPARE(window.focusWidget(), child); @@ -3629,7 +3635,6 @@ void tst_QWidget::showMinimizedKeepsFocus() QWidget *child = new QWidget(&window); child->setFocusPolicy(Qt::StrongFocus); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); child->setFocus(); QTRY_COMPARE(window.focusWidget(), child); @@ -3650,7 +3655,6 @@ void tst_QWidget::showMinimizedKeepsFocus() QWidget *child = new QWidget(&window); child->setFocusPolicy(Qt::StrongFocus); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); child->setFocus(); QTRY_COMPARE(window.focusWidget(), child); @@ -3667,7 +3671,6 @@ void tst_QWidget::showMinimizedKeepsFocus() QTRY_COMPARE(QApplication::focusWidget(), nullptr); window.showNormal(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); #ifdef Q_OS_MACOS if (!macHasAccessToWindowsServer()) @@ -6823,7 +6826,6 @@ void tst_QWidget::showAndMoveChild() parent.setGeometry(desktopDimensions); parent.setPalette(Qt::red); parent.show(); - QApplicationPrivate::setActiveWindow(&parent); QVERIFY(QTest::qWaitForWindowActive(&parent)); QWidget child(&parent); @@ -7678,7 +7680,6 @@ void tst_QWidget::clean_qt_x11_enforce_cursor() child->setAttribute(Qt::WA_SetCursor, true); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QTest::qWait(100); QCursor::setPos(window.geometry().center()); @@ -8478,6 +8479,47 @@ void tst_QWidget::renderWithPainter() QCOMPARE(painter.renderHints(), oldRenderHints); } +void tst_QWidget::renderRTL() +{ + QFont f; + f.setStyleStrategy(QFont::NoAntialias); + const QScopedPointer<QStyle> style(QStyleFactory::create(QLatin1String("Windows"))); + + QMenu menu; + menu.setMinimumWidth(200); + menu.setFont(f); + menu.setStyle(style.data()); + menu.addAction("I"); + menu.show(); + menu.setLayoutDirection(Qt::LeftToRight); + QVERIFY(QTest::qWaitForWindowExposed(&menu)); + + QImage imageLTR(menu.size(), QImage::Format_ARGB32); + menu.render(&imageLTR); + //imageLTR.save("/tmp/rendered_1.png"); + + menu.setLayoutDirection(Qt::RightToLeft); + QImage imageRTL(menu.size(), QImage::Format_ARGB32); + menu.render(&imageRTL); + imageRTL = imageRTL.mirrored(true, false); + //imageRTL.save("/tmp/rendered_2.png"); + + QCOMPARE(imageLTR.height(), imageRTL.height()); + QCOMPARE(imageLTR.width(), imageRTL.width()); + static constexpr auto border = 4; + for (int h = border; h < imageRTL.height() - border; ++h) { + // there should be no difference on the right (aka no text) + for (int w = imageRTL.width() / 2; w < imageRTL.width() - border; ++w) { + auto pixLTR = imageLTR.pixel(w, h); + auto pixRTL = imageRTL.pixel(w, h); + if (pixLTR != pixRTL) + qDebug() << "Pixel do not match at" << w << h << ":" + << Qt::hex << pixLTR << "<->" << pixRTL; + QCOMPARE(pixLTR, pixRTL); + } + } +} + void tst_QWidget::render_task188133() { QMainWindow mainWindow; @@ -9832,7 +9874,6 @@ void tst_QWidget::dumpObjectTree() } QTestPrivate::androidCompatibleShow(&w); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); { @@ -10913,7 +10954,6 @@ void tst_QWidget::enterLeaveOnWindowShowHide() if (!QTest::qWaitFor([&]{ return widget.geometry().contains(QCursor::pos()); })) QSKIP("We can't move the cursor"); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); ++expectedEnter; @@ -11113,6 +11153,10 @@ void tst_QWidget::hoverPosition() QVERIFY(QTest::qWaitForWindowExposed(&root)); const QPoint middle(50, 50); + // wait until we got the correct global pos + QPoint expectedGlobalPos = root.geometry().topLeft() + QPoint(100, 100) + middle; + if (!QTest::qWaitFor([&]{ return expectedGlobalPos == h.mapToGlobal(middle); })) + QSKIP("Can't move cursor"); QPoint curpos = h.mapToGlobal(middle); QCursor::setPos(curpos); if (!QTest::qWaitFor([curpos]{ return QCursor::pos() == curpos; })) @@ -11733,7 +11777,6 @@ void tst_QWidget::imEnabledNotImplemented() topLevel.show(); QVERIFY(QTest::qWaitForWindowExposed(&topLevel)); - QApplicationPrivate::setActiveWindow(&topLevel); QVERIFY(QTest::qWaitForWindowActive(&topLevel)); // A plain widget should return false for ImEnabled @@ -12114,7 +12157,6 @@ void tst_QWidget::grabMouse() layout->addWidget(grabber); centerOnScreen(&w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QStringList expectedLog; @@ -12151,7 +12193,6 @@ void tst_QWidget::grabKeyboard() layout->addWidget(nonGrabber); centerOnScreen(&w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); nonGrabber->setFocus(); grabber->grabKeyboard(); @@ -14007,5 +14048,41 @@ void tst_QWidget::reparentWindowHandles() } } +#ifndef QT_NO_CONTEXTMENU +void tst_QWidget::contextMenuTrigger() +{ + class ContextMenuWidget : public QWidget + { + public: + int events = 0; + + protected: + void contextMenuEvent(QContextMenuEvent *) override { ++events; } + }; + + const Qt::ContextMenuTrigger wasTrigger = QGuiApplication::styleHints()->contextMenuTrigger(); + auto restoreTriggerGuard = qScopeGuard([wasTrigger]{ + QGuiApplication::styleHints()->setContextMenuTrigger(wasTrigger); + }); + + ContextMenuWidget widget; + widget.show(); + QVERIFY(!qApp->topLevelWindows().empty()); + auto *window = qApp->topLevelWindows()[0]; + QVERIFY(window); + QCOMPARE(widget.events, 0); + QGuiApplication::styleHints()->setContextMenuTrigger(Qt::ContextMenuTrigger::Press); + QTest::mousePress(window, Qt::RightButton); + QCOMPARE(widget.events, 1); + QTest::mouseRelease(window, Qt::RightButton); + QCOMPARE(widget.events, 1); + QGuiApplication::styleHints()->setContextMenuTrigger(Qt::ContextMenuTrigger::Release); + QTest::mousePress(window, Qt::RightButton); + QCOMPARE(widget.events, 1); + QTest::mouseRelease(window, Qt::RightButton); + QCOMPARE(widget.events, 2); +} +#endif + QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" diff --git a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp index 8e8cec6d4f..e771737ae0 100644 --- a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp +++ b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp @@ -691,7 +691,6 @@ void tst_QWidget_window::tst_dnd() dndTestWidget.show(); QVERIFY(QTest::qWaitForWindowExposed(&dndTestWidget)); - QApplicationPrivate::setActiveWindow(&dndTestWidget); QVERIFY(QTest::qWaitForWindowActive(&dndTestWidget)); QMimeData mimeData; diff --git a/tests/auto/widgets/kernel/qwindowcontainer/tst_qwindowcontainer.cpp b/tests/auto/widgets/kernel/qwindowcontainer/tst_qwindowcontainer.cpp index e620c5e79a..52aaf094b4 100644 --- a/tests/auto/widgets/kernel/qwindowcontainer/tst_qwindowcontainer.cpp +++ b/tests/auto/widgets/kernel/qwindowcontainer/tst_qwindowcontainer.cpp @@ -7,6 +7,7 @@ #include <qapplication.h> #include <qwindow.h> #include <qwidget.h> +#include <qlineedit.h> #include <qdockwidget.h> #include <qmainwindow.h> @@ -60,6 +61,7 @@ private slots: void testNativeContainerParent(); void testPlatformSurfaceEvent(); void embedWidgetWindow(); + void testFocus(); void cleanup(); private: @@ -468,6 +470,66 @@ void tst_QWindowContainer::embedWidgetWindow() } +void tst_QWindowContainer::testFocus() +{ + QWidget root; + root.setGeometry(m_availableGeometry); + + QLineEdit *lineEdit = new QLineEdit(&root); + lineEdit->setGeometry(0, 0, m_availableGeometry.width() * 0.1, 17); + lineEdit->setFocusPolicy(Qt::FocusPolicy::StrongFocus); + + QWindow *embedded = new QWindow(); + QWidget *container = QWidget::createWindowContainer(embedded, &root); + container->setGeometry(0, lineEdit->height() + 10, m_availableGeometry.width() * 0.2, m_availableGeometry.height() - (lineEdit->height() + 10)); + container->setFocusPolicy(Qt::StrongFocus); + + root.show(); + QVERIFY(QTest::qWaitForWindowExposed(&root)); + lineEdit->setFocus(); + QTRY_VERIFY(lineEdit->hasFocus()); + QCOMPARE(QGuiApplication::focusWindow(), root.windowHandle()); + QCOMPARE(QApplication::focusWidget(), lineEdit); + + // embedded window gets focused because of mouse click + QPoint embeddedCenter = container->rect().center(); + QTest::mousePress(root.windowHandle(), Qt::LeftButton, {}, embeddedCenter); + QVERIFY(QTest::qWaitForWindowFocused(embedded)); + QVERIFY(container->hasFocus()); + QCOMPARE(QGuiApplication::focusWindow(), embedded); + QCOMPARE(QApplication::focusWidget(), container); + QVERIFY(!lineEdit->hasFocus()); + + QTest::mouseClick(lineEdit, Qt::LeftButton, {}); + QVERIFY(QTest::qWaitForWindowFocused(root.windowHandle())); + QCOMPARE(QGuiApplication::focusWindow(), root.windowHandle()); + QCOMPARE(QApplication::focusWidget(), lineEdit); + QVERIFY(lineEdit->hasFocus()); + + // embedded window gets focused because of Tab key event + QTest::keyClick(root.windowHandle(), Qt::Key_Tab); + QVERIFY(QTest::qWaitForWindowFocused(embedded)); + QVERIFY(container->hasFocus()); + QCOMPARE(QGuiApplication::focusWindow(), embedded); + QCOMPARE(QApplication::focusWidget(), container); + QVERIFY(!lineEdit->hasFocus()); + // A key tab event sent to the root window should cause + // the nextInFocusChain of the window container to get focused + QTest::keyClick(root.windowHandle(), Qt::Key_Tab); + QVERIFY(QTest::qWaitForWindowFocused(root.windowHandle())); + QCOMPARE(QGuiApplication::focusWindow(), root.windowHandle()); + QCOMPARE(QApplication::focusWidget(), lineEdit); + QVERIFY(lineEdit->hasFocus()); + + // embedded window gets focused programmatically + embedded->requestActivate(); + QVERIFY(QTest::qWaitForWindowFocused(embedded)); + QVERIFY(container->hasFocus()); + QCOMPARE(QGuiApplication::focusWindow(), embedded); + QCOMPARE(QApplication::focusWidget(), container); + QVERIFY(!lineEdit->hasFocus()); +} + QTEST_MAIN(tst_QWindowContainer) #include "tst_qwindowcontainer.moc" diff --git a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp index aba5d906d1..a9a1817b8a 100644 --- a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp +++ b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp @@ -980,7 +980,6 @@ void tst_QStyleSheetStyle::focusColors() centerOnScreen(&frame); frame.show(); - QApplicationPrivate::setActiveWindow(&frame); QVERIFY(QTest::qWaitForWindowActive(&frame)); for (QWidget *widget : frame.widgets()) { @@ -1026,7 +1025,6 @@ void tst_QStyleSheetStyle::hoverColors() QCursor::setPos(frame.geometry().topLeft() - QPoint(100, 0)); frame.show(); - QApplicationPrivate::setActiveWindow(&frame); QVERIFY(QTest::qWaitForWindowActive(&frame)); QWindow *frameWindow = frame.windowHandle(); @@ -1720,7 +1718,6 @@ void tst_QStyleSheetStyle::toolTip() centerOnScreen(&w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QColor normalToolTipBgColor = QToolTip::palette().color(QPalette::Inactive, QPalette::ToolTipBase); @@ -1889,7 +1886,6 @@ void tst_QStyleSheetStyle::complexWidgetFocus() centerOnScreen(&frame); frame.show(); - QApplicationPrivate::setActiveWindow(&frame); QVERIFY(QTest::qWaitForWindowActive(&frame)); for (QWidget *widget : widgets) { widget->setFocus(); @@ -1978,7 +1974,6 @@ void tst_QStyleSheetStyle::task232085_spinBoxLineEditBg() centerOnScreen(&frame); frame.show(); - QApplicationPrivate::setActiveWindow(&frame); spinbox->setFocus(); QVERIFY(QTest::qWaitForWindowActive(&frame)); @@ -2114,7 +2109,6 @@ void tst_QStyleSheetStyle::QTBUG36933_brokenPseudoClassLookup() QVERIFY(QTest::qWaitForWindowExposed(&widget)); widget.activateWindow(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); QHeaderView *verticalHeader = widget.verticalHeader(); diff --git a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp index 8b151ec242..b2e77bc935 100644 --- a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp +++ b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp @@ -109,6 +109,8 @@ private slots: void dynamicSortOrder(); void disabledItems(); + void hideWidget(); + // task-specific tests below me void task178797_activatedOnReturn(); void task189564_omitNonSelectableItems(); @@ -1060,7 +1062,6 @@ void tst_QCompleter::multipleWidgets() window.setWindowTitle(QLatin1String(QTest::currentTestFunction())); window.move(200, 200); window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QFocusEvent focusIn(QEvent::FocusIn); @@ -1072,7 +1073,6 @@ void tst_QCompleter::multipleWidgets() comboBox->setFocus(); comboBox->show(); window.activateWindow(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QCOMPARE(QApplication::focusWidget(), comboBox); comboBox->lineEdit()->setText("it"); @@ -1107,7 +1107,6 @@ void tst_QCompleter::focusIn() window.move(200, 200); window.show(); window.activateWindow(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); auto comboBox = new QComboBox(&window); @@ -1185,6 +1184,32 @@ void tst_QCompleter::disabledItems() QVERIFY(!view->isVisible()); } +void tst_QCompleter::hideWidget() +{ + // hiding the widget should hide/close the popup + QWidget w; + w.setWindowTitle(QLatin1String(QTest::currentTestFunction())); + w.setLayout(new QVBoxLayout); + + QLineEdit edit; + edit.setCompleter(new QCompleter({ "foo", "bar" })); + + w.layout()->addWidget(&edit); + + const auto pos = w.screen()->availableGeometry().topLeft() + QPoint(200, 200); + w.move(pos); + w.show(); + QApplicationPrivate::setActiveWindow(&w); + QVERIFY(QTest::qWaitForWindowActive(&w)); + + // activate the completer + QTest::keyClick(&edit, Qt::Key_F); + QVERIFY(edit.completer()->popup()); + QTRY_VERIFY(edit.completer()->popup()->isVisible()); + edit.hide(); + QVERIFY(!edit.completer()->popup()->isVisible()); +} + void tst_QCompleter::task178797_activatedOnReturn() { if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) @@ -1198,7 +1223,6 @@ void tst_QCompleter::task178797_activatedOnReturn() QCOMPARE(spy.size(), 0); ledit.move(200, 200); ledit.show(); - QApplicationPrivate::setActiveWindow(&ledit); QVERIFY(QTest::qWaitForWindowActive(&ledit)); QTest::keyClick(&ledit, Qt::Key_F); QCoreApplication::processEvents(); @@ -1282,7 +1306,6 @@ void tst_QCompleter::task246056_setCompletionPrefix() comboBox.addItem("a2"); comboBox.move(200, 200); comboBox.show(); - QApplicationPrivate::setActiveWindow(&comboBox); QVERIFY(QTest::qWaitForWindowActive(&comboBox)); QSignalSpy spy(comboBox.completer(), QOverload<const QModelIndex &>::of(&QCompleter::activated)); QTest::keyPress(&comboBox, 'a'); @@ -1348,7 +1371,6 @@ void tst_QCompleter::task250064_lostFocus() task250064_Widget widget; widget.setWindowTitle(QLatin1String(QTest::currentTestFunction())); widget.show(); - QApplicationPrivate::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget)); QTest::keyPress(widget.textEdit(), 'a'); Qt::FocusPolicy origPolicy = widget.textEdit()->focusPolicy(); @@ -1393,7 +1415,6 @@ void tst_QCompleter::task253125_lineEditCompletion() edit.move(200, 200); edit.show(); edit.setFocus(); - QApplicationPrivate::setActiveWindow(&edit); QVERIFY(QTest::qWaitForWindowActive(&edit)); QTest::keyClick(&edit, 'i'); @@ -1556,7 +1577,6 @@ void tst_QCompleter::task247560_keyboardNavigation() edit.move(200, 200); edit.show(); edit.setFocus(); - QApplicationPrivate::setActiveWindow(&edit); QVERIFY(QTest::qWaitForWindowActive(&edit)); QTest::keyClick(&edit, 'r'); @@ -1670,7 +1690,6 @@ void tst_QCompleter::QTBUG_14292_filesystem() edit.move(200, 200); edit.show(); - QApplicationPrivate::setActiveWindow(&edit); QVERIFY(QTest::qWaitForWindowActive(&edit)); QCOMPARE(QApplication::activeWindow(), &edit); edit.setFocus(); @@ -1715,7 +1734,6 @@ void tst_QCompleter::QTBUG_14292_filesystem() QWidget w; w.move(400, 200); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QVERIFY(!edit.hasFocus() && !comp.popup()->hasFocus()); @@ -1796,7 +1814,6 @@ void tst_QCompleter::QTBUG_51889_activatedSentTwice() const auto pos = w.screen()->availableGeometry().topLeft() + QPoint(200,200); w.move(pos); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QSignalSpy activatedSpy(&cbox, &QComboBox::activated); diff --git a/tests/auto/widgets/util/qscroller/tst_qscroller.cpp b/tests/auto/widgets/util/qscroller/tst_qscroller.cpp index a328b0c8d7..101b502fc6 100644 --- a/tests/auto/widgets/util/qscroller/tst_qscroller.cpp +++ b/tests/auto/widgets/util/qscroller/tst_qscroller.cpp @@ -324,7 +324,6 @@ void tst_QScroller::scrollTo() { QScopedPointer<tst_QScrollerWidget> sw(new tst_QScrollerWidget); sw->show(); - QApplicationPrivate::setActiveWindow(sw.data()); if (!QTest::qWaitForWindowExposed(sw.data()) || !QTest::qWaitForWindowActive(sw.data())) QSKIP("Failed to show and activate window"); @@ -356,7 +355,6 @@ void tst_QScroller::scroll() QScroller::grabGesture(sw.data(), QScroller::TouchGesture); sw->setGeometry(100, 100, 400, 300); sw->show(); - QApplicationPrivate::setActiveWindow(sw.data()); if (!QTest::qWaitForWindowExposed(sw.data()) || !QTest::qWaitForWindowActive(sw.data())) QSKIP("Failed to show and activate window"); @@ -397,7 +395,6 @@ void tst_QScroller::overshoot() QScroller::grabGesture(sw.data(), QScroller::TouchGesture); sw->setGeometry(100, 100, 400, 300); sw->show(); - QApplicationPrivate::setActiveWindow(sw.data()); if (!QTest::qWaitForWindowExposed(sw.data()) || !QTest::qWaitForWindowActive(sw.data())) QSKIP("Failed to show and activate window"); @@ -537,7 +534,6 @@ void tst_QScroller::mouseEventTimestamp() QScroller::grabGesture(sw.data(), QScroller::LeftMouseButtonGesture); sw->setGeometry(100, 100, 400, 300); sw->show(); - QApplicationPrivate::setActiveWindow(sw.data()); if (!QTest::qWaitForWindowExposed(sw.data()) || !QTest::qWaitForWindowActive(sw.data())) QSKIP("Failed to show and activate window"); diff --git a/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp b/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp index dc5c42513c..cb91f0c6e6 100644 --- a/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp +++ b/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp @@ -480,7 +480,6 @@ void tst_QAbstractButton::setShortcut() QKeySequence seq( Qt::Key_A ); testWidget->setShortcut( seq ); - QApplicationPrivate::setActiveWindow(testWidget); testWidget->activateWindow(); // must be active to get shortcuts QVERIFY(QTest::qWaitForWindowActive(testWidget)); diff --git a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp index 06d2435601..3ff748ef27 100644 --- a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp @@ -122,7 +122,6 @@ void tst_QButtonGroup::arrowKeyNavigation() layout.addWidget(&g2); dlg.show(); - QApplicationPrivate::setActiveWindow(&dlg); QVERIFY(QTest::qWaitForWindowActive(&dlg)); bt1.setFocus(); @@ -204,7 +203,6 @@ void tst_QButtonGroup::keyNavigationPushButtons() buttonGroup->addButton(pb3); dlg.show(); - QApplicationPrivate::setActiveWindow(&dlg); if (!QTest::qWaitForWindowActive(&dlg)) QSKIP("Window activation failed, skipping test"); @@ -435,7 +433,6 @@ void tst_QButtonGroup::task106609() qRegisterMetaType<QAbstractButton*>("QAbstractButton*"); QSignalSpy spy1(buttons, SIGNAL(buttonClicked(QAbstractButton*))); - QApplicationPrivate::setActiveWindow(&dlg); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&dlg)); radio1->setFocus(); diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp index dc6ef789d7..66c1359bd8 100644 --- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp +++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp @@ -849,7 +849,6 @@ void tst_QComboBox::autoCompletionCaseSensitivity() TestWidget topLevel; topLevel.show(); QComboBox *testWidget = topLevel.comboBox(); - QApplicationPrivate::setActiveWindow(&topLevel); testWidget->setFocus(); QVERIFY(QTest::qWaitForWindowActive(&topLevel)); QCOMPARE(qApp->focusWidget(), (QWidget *)testWidget); @@ -2056,7 +2055,6 @@ void tst_QComboBox::flaggedItems() comboBox.setView(&listWidget); comboBox.move(200, 200); comboBox.show(); - QApplicationPrivate::setActiveWindow(&comboBox); comboBox.activateWindow(); comboBox.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&comboBox)); @@ -2486,7 +2484,6 @@ void tst_QComboBox::task247863_keyBoardSelection() combo.addItem( QLatin1String("111")); combo.addItem( QLatin1String("222")); combo.show(); - QApplicationPrivate::setActiveWindow(&combo); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&combo)); QSignalSpy spy(&combo, &QComboBox::activated); @@ -2512,7 +2509,6 @@ void tst_QComboBox::task220195_keyBoardSelection2() combo.addItem( QLatin1String("foo2")); combo.addItem( QLatin1String("foo3")); combo.show(); - QApplicationPrivate::setActiveWindow(&combo); QVERIFY(QTest::qWaitForWindowActive(&combo)); combo.setCurrentIndex(-1); @@ -2798,7 +2794,6 @@ void tst_QComboBox::keyBoardNavigationWithMouse() combo.move(200, 200); combo.showNormal(); - QApplicationPrivate::setActiveWindow(&combo); QVERIFY(QTest::qWaitForWindowActive(&combo)); QCOMPARE(combo.currentText(), QLatin1String("0")); @@ -2854,7 +2849,6 @@ void tst_QComboBox::task_QTBUG_1071_changingFocusEmitsActivated() layout.addWidget(&edit); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); cb.clearEditText(); cb.setFocus(); @@ -3557,7 +3551,6 @@ void tst_QComboBox::task_QTBUG_52027_mapCompleterIndex() QCOMPARE(spy.size(), 0); cbox.move(200, 200); cbox.show(); - QApplicationPrivate::setActiveWindow(&cbox); QVERIFY(QTest::qWaitForWindowActive(&cbox)); QTest::keyClicks(&cbox, "foobar2"); @@ -3583,7 +3576,6 @@ void tst_QComboBox::task_QTBUG_52027_mapCompleterIndex() cbox.activateWindow(); } - QApplicationPrivate::setActiveWindow(&cbox); QVERIFY(QTest::qWaitForWindowActive(&cbox)); QTest::keyClicks(&cbox, "foobar1"); @@ -3651,7 +3643,6 @@ void tst_QComboBox::checkEmbeddedLineEditWhenStyleSheetIsSet() layout->addWidget(comboBox); topLevel.show(); comboBox->setEditable(true); - QApplicationPrivate::setActiveWindow(&topLevel); QVERIFY(QTest::qWaitForWindowActive(&topLevel)); QImage grab = comboBox->grab().toImage(); diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp index f5f22d05b9..2d9689db41 100644 --- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp +++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp @@ -827,7 +827,6 @@ void tst_QDateTimeEdit::selectAndScrollWithKeys() return; #endif - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("dd/MM/yyyy"); testWidget->show(); @@ -929,7 +928,6 @@ void tst_QDateTimeEdit::selectAndScrollWithKeys() void tst_QDateTimeEdit::backspaceKey() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("d/MM/yyyy"); testWidget->show(); @@ -995,7 +993,6 @@ void tst_QDateTimeEdit::backspaceKey() void tst_QDateTimeEdit::deleteKey() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("d/MM/yyyy"); #ifdef Q_OS_MAC @@ -1014,7 +1011,6 @@ void tst_QDateTimeEdit::deleteKey() void tst_QDateTimeEdit::tabKeyNavigation() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("dd/MM/yyyy"); testWidget->show(); @@ -1032,7 +1028,6 @@ void tst_QDateTimeEdit::tabKeyNavigation() void tst_QDateTimeEdit::tabKeyNavigationWithPrefix() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("prefix dd/MM/yyyy"); @@ -1050,7 +1045,6 @@ void tst_QDateTimeEdit::tabKeyNavigationWithPrefix() void tst_QDateTimeEdit::tabKeyNavigationWithSuffix() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 05, 11)); testWidget->setDisplayFormat("dd/MM/yyyy 'suffix'"); @@ -1066,7 +1060,6 @@ void tst_QDateTimeEdit::tabKeyNavigationWithSuffix() void tst_QDateTimeEdit::enterKey() { - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setDate(QDate(2004, 5, 11)); testWidget->setDisplayFormat("prefix d/MM/yyyy 'suffix'"); testWidget->lineEdit()->setFocus(); @@ -1354,7 +1347,6 @@ void tst_QDateTimeEdit::editingRanged() }); edit->show(); - QApplicationPrivate::setActiveWindow(edit.get()); if (!QTest::qWaitForWindowActive(edit.get())) QSKIP("Failed to make window active, aborting"); edit->setFocus(); diff --git a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp index 63a432578e..af62d0d089 100644 --- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp +++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp @@ -716,6 +716,9 @@ void tst_QDockWidget::updateTabBarOnVisibilityChanged() QCOMPARE(tabBar->currentIndex(), 0); QCOMPARE(mw.tabifiedDockWidgets(dw2), {dw3}); + + mw.removeDockWidget(dw3); + QCOMPARE(mw.tabifiedDockWidgets(dw2).count(), 0); } Q_DECLARE_METATYPE(Qt::DockWidgetArea) diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp index 28752cd40d..999b5cac07 100644 --- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp +++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp @@ -1154,7 +1154,6 @@ void tst_QDoubleSpinBox::taskQTBUG_5008_textFromValueAndValidate() spinbox.show(); spinbox.activateWindow(); spinbox.setFocus(); - QApplicationPrivate::setActiveWindow(&spinbox); QVERIFY(QTest::qWaitForWindowActive(&spinbox)); QCOMPARE(static_cast<QWidget *>(&spinbox), QApplication::activeWindow()); QTRY_VERIFY(spinbox.hasFocus()); diff --git a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp index 0d716cce97..b178707e7a 100644 --- a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp +++ b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp @@ -462,7 +462,6 @@ void tst_QGroupBox::propagateFocus() QGroupBox box; QLineEdit lineEdit(&box); box.show(); - QApplicationPrivate::setActiveWindow(&box); QVERIFY(QTest::qWaitForWindowActive(&box)); box.setFocus(); QTRY_COMPARE(qApp->focusWidget(), static_cast<QWidget*>(&lineEdit)); diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index be185c1e7a..7a63c156f3 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -3722,7 +3722,6 @@ void tst_QLineEdit::task174640_editingFinished() layout->addWidget(le2); mw.show(); - QApplicationPrivate::setActiveWindow(&mw); mw.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&mw)); QCOMPARE(&mw, QApplication::activeWindow()); @@ -3830,7 +3829,6 @@ void tst_QLineEdit::task210502_caseInsensitiveInlineCompletion() completer.setCompletionMode(QCompleter::InlineCompletion); lineEdit.setCompleter(&completer); lineEdit.show(); - QApplicationPrivate::setActiveWindow(&lineEdit); QVERIFY(QTest::qWaitForWindowActive(&lineEdit)); lineEdit.setFocus(); QTRY_VERIFY(lineEdit.hasFocus()); @@ -3931,7 +3929,6 @@ void tst_QLineEdit::task241436_passwordEchoOnEditRestoreEchoMode() testWidget->setFocus(); centerOnScreen(testWidget); testWidget->show(); - QApplicationPrivate::setActiveWindow(testWidget); QVERIFY(QTest::qWaitForWindowActive(testWidget)); QVERIFY(testWidget->hasFocus()); @@ -3982,7 +3979,6 @@ void tst_QLineEdit::taskQTBUG_4401_enterKeyClearsPassword() testWidget->selectAll(); centerOnScreen(testWidget); testWidget->show(); - QApplicationPrivate::setActiveWindow(testWidget); QVERIFY(QTest::qWaitForWindowActive(testWidget)); QTest::keyPress(testWidget, Qt::Key_Enter); @@ -4065,7 +4061,6 @@ void tst_QLineEdit::taskQTBUG_7395_readOnlyShortcut() le.show(); QVERIFY(QTest::qWaitForWindowExposed(&le)); - QApplicationPrivate::setActiveWindow(&le); QVERIFY(QTest::qWaitForWindowActive(&le)); le.setFocus(); QTRY_VERIFY(le.hasFocus()); @@ -4087,7 +4082,6 @@ void tst_QLineEdit::QTBUG697_paletteCurrentColorGroup() le.setPalette(p); le.show(); - QApplicationPrivate::setActiveWindow(&le); QVERIFY(QTest::qWaitForWindowActive(&le)); le.setFocus(); QTRY_VERIFY(le.hasFocus()); @@ -4582,7 +4576,6 @@ void tst_QLineEdit::clearButton() l->addWidget(listView); testWidget.move(300, 300); testWidget.show(); - QApplicationPrivate::setActiveWindow(&testWidget); QVERIFY(QTest::qWaitForWindowActive(&testWidget)); // Flip the clear button on,off, trying to detect crashes. filterLineEdit->setClearButtonEnabled(true); diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index 0f652f2900..ef00dcaac0 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -515,7 +515,6 @@ void tst_QMdiArea::subWindowActivatedWithMinimize() QSignalSpy spy(workspace, SIGNAL(subWindowActivated(QMdiSubWindow*))); connect( workspace, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(activeChanged(QMdiSubWindow*)) ); mw.show(); - QApplicationPrivate::setActiveWindow(&mw); QWidget *widget = new QWidget(workspace); widget->setAttribute(Qt::WA_DeleteOnClose); QMdiSubWindow *window1 = workspace->addSubWindow(widget); @@ -660,7 +659,6 @@ void tst_QMdiArea::changeWindowTitle() #endif mw->show(); - QApplicationPrivate::setActiveWindow(mw); #ifdef USE_SHOW mw->showFullScreen(); @@ -964,7 +962,6 @@ void tst_QMdiArea::activeSubWindow() mainWindow.addDockWidget(Qt::LeftDockWidgetArea, dockWidget); mainWindow.show(); - QApplicationPrivate::setActiveWindow(&mainWindow); QVERIFY(QTest::qWaitForWindowActive(&mainWindow)); QCOMPARE(mdiArea->activeSubWindow(), subWindow); QCOMPARE(qApp->focusWidget(), (QWidget *)subWindowLineEdit); @@ -987,10 +984,8 @@ void tst_QMdiArea::activeSubWindow() dummyTopLevel.show(); QVERIFY(QTest::qWaitForWindowExposed(&dummyTopLevel)); - QApplicationPrivate::setActiveWindow(&dummyTopLevel); QCOMPARE(mdiArea->activeSubWindow(), subWindow); - QApplicationPrivate::setActiveWindow(&mainWindow); QCOMPARE(mdiArea->activeSubWindow(), subWindow); //task 202657 @@ -1023,7 +1018,6 @@ void tst_QMdiArea::currentSubWindow() // Move focus to another top-level and check that we still // have an active window. - QApplicationPrivate::setActiveWindow(&dummyTopLevel); QCOMPARE(qApp->activeWindow(), (QWidget *)&dummyTopLevel); QVERIFY(mdiArea.activeSubWindow()); @@ -1045,11 +1039,9 @@ void tst_QMdiArea::currentSubWindow() QCOMPARE(mdiArea.activeSubWindow(), active); QCOMPARE(mdiArea.currentSubWindow(), active); - QApplicationPrivate::setActiveWindow(&dummyTopLevel); QVERIFY(mdiArea.activeSubWindow()); QCOMPARE(mdiArea.currentSubWindow(), active); - QApplicationPrivate::setActiveWindow(&mdiArea); active->show(); QCOMPARE(mdiArea.activeSubWindow(), active); @@ -1255,7 +1247,6 @@ void tst_QMdiArea::closeWindows() { QMdiArea workspace; workspace.show(); - QApplicationPrivate::setActiveWindow(&workspace); // Close widget QWidget *widget = new QWidget; @@ -1307,7 +1298,6 @@ void tst_QMdiArea::activateNextAndPreviousWindow() { QMdiArea workspace; workspace.show(); - QApplicationPrivate::setActiveWindow(&workspace); const int windowCount = 10; QMdiSubWindow *windows[windowCount]; @@ -1391,7 +1381,6 @@ void tst_QMdiArea::subWindowList() QMdiArea workspace; workspace.show(); - QApplicationPrivate::setActiveWindow(&workspace); QVERIFY(QTest::qWaitForWindowActive(&workspace)); QList<QMdiSubWindow *> activationOrder; @@ -1880,7 +1869,6 @@ void tst_QMdiArea::dontMaximizeSubWindowOnActivation() QMdiArea mdiArea; mdiArea.show(); QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); - QApplicationPrivate::setActiveWindow(&mdiArea); // Add one maximized window. mdiArea.addSubWindow(new QWidget)->showMaximized(); @@ -2265,7 +2253,6 @@ void tst_QMdiArea::tabBetweenSubWindows() mdiArea.show(); QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); - QApplicationPrivate::setActiveWindow(&mdiArea); QWidget *focusWidget = subWindows.back()->widget(); QCOMPARE(qApp->focusWidget(), focusWidget); diff --git a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp index 38808d1702..60b675b18a 100644 --- a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp +++ b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp @@ -384,7 +384,6 @@ void tst_QMdiSubWindow::mainWindowSupport() mainWindow.setCentralWidget(workspace); mainWindow.show(); mainWindow.menuBar()->setVisible(true); - QApplicationPrivate::setActiveWindow(&mainWindow); bool nativeMenuBar = mainWindow.menuBar()->isNativeMenuBar(); // QMainWindow's window title is empty, so on a platform which does NOT have a native menubar, @@ -510,7 +509,6 @@ void tst_QMdiSubWindow::emittingOfSignals() workspace.setWindowTitle(QLatin1String(QTest::currentTestFunction())); workspace.show(); QCoreApplication::processEvents(); - QApplicationPrivate::setActiveWindow(&workspace); QMdiSubWindow *window = qobject_cast<QMdiSubWindow *>(workspace.addSubWindow(new QWidget)); QCoreApplication::processEvents(); window->show(); @@ -1232,7 +1230,6 @@ void tst_QMdiSubWindow::restoreFocusOverCreation() subWidget1->m_lineEdit2->setFocus(); subWindow1->show(); mdiArea.show(); - QApplicationPrivate::setActiveWindow(&mdiArea); QVERIFY(QTest::qWaitForWindowActive(&mdiArea)); QCOMPARE(QApplication::focusWidget(), subWidget1->m_lineEdit2); @@ -1956,7 +1953,6 @@ void tst_QMdiSubWindow::task_182852() mainWindow.setCentralWidget(workspace); mainWindow.show(); mainWindow.menuBar()->setVisible(true); - QApplicationPrivate::setActiveWindow(&mainWindow); if (mainWindow.menuBar()->isNativeMenuBar()) return; // The main window's title is not overwritten if we have a native menubar (macOS, Unity etc.) diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp index 5602b8cd3f..57cc404fc7 100644 --- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp +++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp @@ -531,7 +531,6 @@ void tst_QMenu::overrideMenuAction() m->addAction(aQuit); w.show(); - QApplicationPrivate::setActiveWindow(&w); w.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&w)); QVERIFY(w.hasFocus()); @@ -1613,7 +1612,6 @@ void tst_QMenu::transientParent() QWindow *topLevel = window.windowHandle(); QVERIFY(topLevel); - QApplicationPrivate::setActiveWindow(&window); window.setFocus(); QVERIFY(QTest::qWaitForWindowActive(&window)); QVERIFY(window.hasFocus()); diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 8524b4212c..7c1fb97b97 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -329,7 +329,6 @@ void tst_QMenuBar::accel() QMainWindow w; const TestMenu menu = initWindowWithSimpleMenuBar(w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); // shortcuts won't work unless the window is active QTest::keyClick(static_cast<QWidget *>(0), Qt::Key_A, Qt::ControlModifier ); @@ -351,7 +350,6 @@ void tst_QMenuBar::activatedCount() QFETCH( bool, forceNonNative ); initWindowWithSimpleMenuBar(w, forceNonNative); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QTest::keyClick(static_cast<QWidget *>(0), Qt::Key_A, Qt::ControlModifier ); @@ -551,7 +549,6 @@ void tst_QMenuBar::check_accelKeys() QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); // start with a bogus key that shouldn't trigger anything @@ -630,7 +627,6 @@ void tst_QMenuBar::check_cursorKeys1() QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); // start with a ALT + 1 that activates the first popupmenu @@ -670,7 +666,6 @@ void tst_QMenuBar::check_cursorKeys2() QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); // select popupmenu2 @@ -709,7 +704,6 @@ void tst_QMenuBar::check_cursorKeys3() QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); // select Popupmenu 2 @@ -751,7 +745,6 @@ void tst_QMenuBar::taskQTBUG56860_focus() w.setCentralWidget(e); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QTRY_COMPARE(QApplication::focusWidget(), e); @@ -794,7 +787,6 @@ void tst_QMenuBar::check_escKey() const TestMenu menu = initWindowWithComplexMenuBar(w); w.show(); w.setFocus(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QVERIFY( !menu.menus.at(0)->isActiveWindow() ); @@ -886,7 +878,6 @@ void tst_QMenuBar::check_altPress() initWindowWithSimpleMenuBar(w); w.show(); w.setFocus(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QTest::keyClick( &w, Qt::Key_Alt ); @@ -916,7 +907,6 @@ void tst_QMenuBar::check_altClosePress() w.show(); w.move(QGuiApplication::primaryScreen()->availableGeometry().center()); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QTest::keyClick(&w, Qt::Key_F, Qt::AltModifier); @@ -937,7 +927,6 @@ void tst_QMenuBar::check_shortcutPress() const TestMenu menu = initWindowWithComplexMenuBar(w); w.show(); w.setFocus(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); QCOMPARE(m_complexTriggerCount[3], 0); @@ -994,7 +983,6 @@ void tst_QMenuBar::check_menuPosition() QAction *menu_action = w.menuBar()->addMenu(&menu); centerOnScreen(&w); w.show(); - QApplicationPrivate::setActiveWindow(&w); QVERIFY(QTest::qWaitForWindowActive(&w)); //the menu should be below the menubar item @@ -1113,7 +1101,6 @@ void tst_QMenuBar::task256322_highlight() centerOnScreen(&win); win.show(); - QApplicationPrivate::setActiveWindow(&win); QVERIFY(QTest::qWaitForWindowActive(&win)); const QPoint filePos = menuBarActionWindowPos(win.menuBar(), file); @@ -1253,7 +1240,6 @@ void tst_QMenuBar::taskQTBUG11823_crashwithInvisibleActions() centerOnScreen(&menubar); menubar.show(); - QApplicationPrivate::setActiveWindow(&menubar); QVERIFY(QTest::qWaitForWindowActive(&menubar)); menubar.setActiveAction(m); QCOMPARE(menubar.activeAction(), m); @@ -1284,7 +1270,6 @@ void tst_QMenuBar::closeOnSecondClickAndOpenOnThirdClick() // QTBUG-32807, menu QMenu *fileMenu = menuBar->addMenu(QStringLiteral("OpenCloseOpen")); fileMenu->addAction(QStringLiteral("Quit")); mainWindow.show(); - QApplicationPrivate::setActiveWindow(&mainWindow); QVERIFY(QTest::qWaitForWindowActive(&mainWindow)); const QPoint center = menuBarActionWindowPos(mainWindow.menuBar(), fileMenu->menuAction()); @@ -1379,7 +1364,6 @@ void tst_QMenuBar::taskQTBUG53205_crashReparentNested() mainWindow.resize(300, 200); centerOnScreen(&mainWindow); const TestMenu testMenus = initWindowWithComplexMenuBar(mainWindow); - QApplicationPrivate::setActiveWindow(&mainWindow); // they can't be windows QWidget hiddenParent(&mainWindow, {}); @@ -1429,7 +1413,6 @@ void tst_QMenuBar::QTBUG_65488_hiddenActionTriggered() // resize to action's size to make Action1 hidden win.resize(actRect.width() - 10, win.size().height()); win.show(); - QApplicationPrivate::setActiveWindow(&win); QVERIFY(QTest::qWaitForWindowExposed(&win)); // click center of the blank area on the menubar where Action1 resided QTest::mouseClick(win.windowHandle(), Qt::LeftButton, Qt::NoModifier, win.menuBar()->geometry().center()); @@ -1501,7 +1484,6 @@ void tst_QMenuBar::QTBUG_25669_menubarActionDoubleTriggered() QSignalSpy spy(win.menuBar(), &QMenuBar::triggered); win.show(); - QApplicationPrivate::setActiveWindow(&win); QVERIFY(QTest::qWaitForWindowExposed(&win)); QPoint posAct1 = menuBarActionWindowPos(win.menuBar(), act1); @@ -1538,7 +1520,6 @@ void tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() initWindowWithSimpleMenuBar(mainWindow); mainWindow.show(); - QApplicationPrivate::setActiveWindow(&mainWindow); QVERIFY(QTest::qWaitForWindowActive(&mainWindow)); QVERIFY(!mainWindow.menuBar()->hasFocus()); @@ -1650,7 +1631,6 @@ void tst_QMenuBar::taskQTBUG55966_subMenuRemoved() delete subMenu; window.show(); - QApplicationPrivate::setActiveWindow(&window); QVERIFY(QTest::qWaitForWindowActive(&window)); QTest::qWait(500); } diff --git a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp index 92ce1f5419..73360ae21d 100644 --- a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp +++ b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp @@ -339,7 +339,6 @@ void tst_QPushButton::setAccel() // The shortcut will not be activated unless the button is in a active // window and has focus - QApplicationPrivate::setActiveWindow(testWidget); testWidget->setFocus(); QVERIFY(QTest::qWaitForWindowActive(testWidget)); QTest::keyClick(testWidget, 'A', Qt::AltModifier); diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp index dfb0f71139..27343edcde 100644 --- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp @@ -927,7 +927,6 @@ void tst_QSpinBox::editingFinished() layout->addWidget(box2); testFocusWidget.show(); - QApplicationPrivate::setActiveWindow(&testFocusWidget); QVERIFY(QTest::qWaitForWindowActive(&testFocusWidget)); box->activateWindow(); box->setFocus(); @@ -1106,7 +1105,6 @@ void tst_QSpinBox::specialValue() spin.setValue(50); topWidget.show(); //make sure we have the focus (even if editingFinished fails) - QApplicationPrivate::setActiveWindow(&topWidget); topWidget.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&topWidget)); spin.setFocus(); @@ -1210,7 +1208,6 @@ void tst_QSpinBox::taskQTBUG_5008_textFromValueAndValidate() spinbox.show(); spinbox.activateWindow(); spinbox.setFocus(); - QApplicationPrivate::setActiveWindow(&spinbox); QVERIFY(QTest::qWaitForWindowActive(&spinbox)); QVERIFY(spinbox.hasFocus()); QTRY_COMPARE(static_cast<QWidget *>(&spinbox), QApplication::activeWindow()); diff --git a/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp b/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp index 0a1b140867..3c28ad324a 100644 --- a/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp +++ b/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp @@ -159,7 +159,6 @@ void tst_QStackedWidget::dynamicPages() le11->setFocus(); // set focus to second widget in the page sw->resize(200, 200); sw->show(); - QApplicationPrivate::setActiveWindow(sw); QVERIFY(QTest::qWaitForWindowActive(sw)); QTRY_COMPARE(QApplication::focusWidget(), le11); diff --git a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp index 5d66f5922a..6dfab07fed 100644 --- a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp +++ b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp @@ -19,7 +19,6 @@ class TestBrowser : public QTextBrowser public: inline TestBrowser() { show(); - QApplicationPrivate::setActiveWindow(this); activateWindow(); setFocus(); QVERIFY(QTest::qWaitForWindowActive(this)); diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index 0136e5b5de..ddf2bcfa85 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -2545,7 +2545,6 @@ void tst_QTextEdit::inputMethodEvent() // test that input method gets chance to commit preedit when removing focus ed->setText(""); - QApplicationPrivate::setActiveWindow(ed); QTRY_VERIFY(QApplication::focusWindow()); QCOMPARE(qApp->focusObject(), ed); diff --git a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp index 6336b792ed..8b8c74b1e7 100644 --- a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp +++ b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp @@ -1022,7 +1022,6 @@ void tst_QToolBar::accel() QSignalSpy spy(action, SIGNAL(triggered(bool))); mw.show(); - QApplicationPrivate::setActiveWindow(&mw); QVERIFY(QTest::qWaitForWindowActive(&mw)); QTest::keyClick(&mw, Qt::Key_T, Qt::AltModifier); diff --git a/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp b/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp index 20472861d9..b77a9c0eec 100644 --- a/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp +++ b/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp @@ -182,7 +182,6 @@ void tst_QToolButton::task176137_autoRepeatOfAction() label->move(0, 50); mainWidget.show(); - QApplicationPrivate::setActiveWindow(&mainWidget); QVERIFY(QTest::qWaitForWindowActive(&mainWidget)); QSignalSpy spy(&action,SIGNAL(triggered())); diff --git a/tests/baseline/shared/paintcommands.cpp b/tests/baseline/shared/paintcommands.cpp index 20201b66b0..2cb3cd3bba 100644 --- a/tests/baseline/shared/paintcommands.cpp +++ b/tests/baseline/shared/paintcommands.cpp @@ -450,10 +450,12 @@ void PaintCommands::staticInit() "^drawGlyphRun\\s+(-?\\w*)\\s+(-?\\w*)\\s+\"(.*)\"$", "drawGlyphRun <x> <y> <text> - Will create glyph run using QTextLayout and draw this", "drawGlyphRun 10 10 \"my text\""); +#ifndef QT_NO_TEXTHTMLPARSER DECL_PAINTCOMMAND("drawTextDocument", command_drawTextDocument, "^drawTextDocument\\s+(-?\\w*)\\s+(-?\\w*)\\s+\"(.*)\"$", "drawTextDocument <x> <y> <html>", "drawTextDocument 10 10 \"html\""); +#endif DECL_PAINTCOMMAND("drawTiledPixmap", command_drawTiledPixmap, "^drawTiledPixmap\\s+([\\w.:\\/]*)" "\\s+(-?\\w*)\\s+(-?\\w*)\\s*(-?\\w*)\\s*(-?\\w*)" @@ -1404,6 +1406,7 @@ void PaintCommands::command_drawGlyphRun(QRegularExpressionMatch re) m_painter->drawGlyphRun(QPointF(x, y), glyphRun); } +#ifndef QT_NO_TEXTHTMLPARSER void PaintCommands::command_drawTextDocument(QRegularExpressionMatch re) { if (!m_shouldDrawText) @@ -1425,6 +1428,7 @@ void PaintCommands::command_drawTextDocument(QRegularExpressionMatch re) doc.drawContents(m_painter); m_painter->restore(); } +#endif /***************************************************************************************************/ void PaintCommands::command_fillRect(QRegularExpressionMatch re) diff --git a/tests/baseline/shared/paintcommands.h b/tests/baseline/shared/paintcommands.h index 45f78f9af6..de412e246e 100644 --- a/tests/baseline/shared/paintcommands.h +++ b/tests/baseline/shared/paintcommands.h @@ -179,7 +179,9 @@ private: void command_drawText(QRegularExpressionMatch re); void command_drawStaticText(QRegularExpressionMatch re); void command_drawGlyphRun(QRegularExpressionMatch re); +#ifndef QT_NO_TEXTHTMLPARSER void command_drawTextDocument(QRegularExpressionMatch re); +#endif void command_drawTiledPixmap(QRegularExpressionMatch re); void command_fillRect(QRegularExpressionMatch re); void command_fillRectF(QRegularExpressionMatch re); diff --git a/tests/baseline/shared/qwidgetbaselinetest.cpp b/tests/baseline/shared/qwidgetbaselinetest.cpp index 9c642b7f48..72a074e268 100644 --- a/tests/baseline/shared/qwidgetbaselinetest.cpp +++ b/tests/baseline/shared/qwidgetbaselinetest.cpp @@ -80,6 +80,7 @@ void QWidgetBaselineTest::init() background = new QWidget(nullptr, Qt::FramelessWindowHint); window = new QWidget(background, Qt::Window); window->setWindowTitle(QTest::currentDataTag()); + window->setFocusPolicy(Qt::StrongFocus); #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) background->setScreen(QGuiApplication::primaryScreen()); window->setScreen(QGuiApplication::primaryScreen()); @@ -106,9 +107,9 @@ void QWidgetBaselineTest::makeVisible() window->show(); QApplicationPrivate::setActiveWindow(window); QVERIFY(QTest::qWaitForWindowActive(window)); - // explicitly unset focus, the test needs to control when focus is shown - if (window->focusWidget()) - window->focusWidget()->clearFocus(); + // explicitly set focus on the window so that the test widget doesn't have it + window->setFocus(Qt::OtherFocusReason); + QTRY_COMPARE(window->focusWidget(), window); } /* @@ -146,23 +147,25 @@ QImage QWidgetBaselineTest::takeScreenSnapshot(const QRect& windowRect) void QWidgetBaselineTest::takeStandardSnapshots() { makeVisible(); - struct PublicWidget : QWidget { - bool focusNextPrevChild(bool next) override { return QWidget::focusNextPrevChild(next); } - }; + QWidget *oldFocusWidget = testWindow()->focusWidget(); + QCOMPARE(oldFocusWidget, testWindow()); QBASELINE_CHECK_DEFERRED(takeSnapshot(), "default"); // try hard to set focus - static_cast<PublicWidget*>(window)->focusNextPrevChild(true); - if (!window->focusWidget()) { - QWidget *firstChild = window->findChild<QWidget*>(); - if (firstChild) - firstChild->setFocus(); - } - - if (testWindow()->focusWidget()) { + QWidget *testWidget = window->nextInFocusChain(); + if (!testWidget) + testWidget = window->findChild<QWidget*>(); + QVERIFY(testWidget); + // use TabFocusReason, some widgets handle that specifically to e.g. select + testWidget->setFocus(Qt::TabFocusReason); + + if (testWindow()->focusWidget() != oldFocusWidget) { QBASELINE_CHECK_DEFERRED(takeSnapshot(), "focused"); - testWindow()->focusWidget()->clearFocus(); + // set focus back + oldFocusWidget->setFocus(Qt::OtherFocusReason); + } else { + qWarning() << "Couldn't set focus on tested widget" << testWidget; } // this disables all children diff --git a/tests/baseline/text/data/colored_list.html b/tests/baseline/text/data/colored_list.html new file mode 100644 index 0000000000..d1cca94460 --- /dev/null +++ b/tests/baseline/text/data/colored_list.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html> +<head> +<style type="text/css"> +p, li { white-space: pre-wrap; } +hr { height: 1px; border-width: 0; } +li.unchecked::marker { content: "\2610"; } +li.checked::marker { content: "\2612"; } +body { background-color: #111155; color: #ffffff; } +</style> +</head> +<body> + +<ul> +<li>disc</li> +<li style=" color:#a58d47;">bronze</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red bullet, pink text</span></li> +<li style=" color:#dddddd;" class="checked">checked</li> +<li style=" color:#dddddd;" class="unchecked">unchecked</li> +</ul> + +<ul type="circle"> +<li>circle</li> +<li style=" color:#dddddd;">silver</li> +<li style=" color:lightgrey;"><span style=" color:#ffcdb9;">grey bullet, pink text</span></li> +<li style=" color:#dddddd;" class="checked">checked</li> +<li style=" color:#dddddd;" class="unchecked">unchecked</li> +</ul> + +<ul type="square"> +<li style=" color:#ffffff;">square</li> +<li style=" color:#fceebb;">gold</li> +<li style=" color:yellow;"><span style=" color:#ffcdb9;">yellow bullet, pink text</span></li> +<li style=" color:#dddddd;" class="checked">checked</li> +<li style=" color:#dddddd;" class="unchecked">unchecked</li> +</ul> + +<ol> +<li>decimal</li> +<li style=" color:#a58d47;">bronze decimal</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red number, pink text</span></li> +</ol> + +<ol type="A"> +<li>uppercase</li> +<li style=" color:#a58d47;">bronze uppercase</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red letter, pink text</span></li> +</ol> + +<ol type="a"> +<li>lowercase</li> +<li style=" color:#a58d47;">bronze lowercase</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red letter, pink text</span></li> +</ol> + +<ol type="i"> +<li>lower roman</li> +<li style=" color:#a58d47;">bronze roman</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red number, pink text</span></li> +</ol> + +<ol type="I"> +<li>upper roman</li> +<li style=" color:#a58d47;">bronze roman</li> +<li style=" color:red;"><span style=" color:#ffcdb9;">red number, pink text</span></li> +</ol> +</body> +</html> diff --git a/tests/benchmarks/corelib/CMakeLists.txt b/tests/benchmarks/corelib/CMakeLists.txt index 855e7ee2fa..890cbcfc6b 100644 --- a/tests/benchmarks/corelib/CMakeLists.txt +++ b/tests/benchmarks/corelib/CMakeLists.txt @@ -4,7 +4,9 @@ add_subdirectory(io) add_subdirectory(itemmodels) add_subdirectory(json) -add_subdirectory(mimetypes) +if(QT_FEATURE_mimetype) + add_subdirectory(mimetypes) +endif() add_subdirectory(kernel) add_subdirectory(text) add_subdirectory(thread) diff --git a/tests/benchmarks/corelib/itemmodels/CMakeLists.txt b/tests/benchmarks/corelib/itemmodels/CMakeLists.txt index c74f36709c..cff884ebcc 100644 --- a/tests/benchmarks/corelib/itemmodels/CMakeLists.txt +++ b/tests/benchmarks/corelib/itemmodels/CMakeLists.txt @@ -1 +1,4 @@ -add_subdirectory(qsortfilterproxymodel) + +if(QT_FEATURE_proxymodel) + add_subdirectory(qsortfilterproxymodel) +endif() diff --git a/tests/benchmarks/corelib/thread/CMakeLists.txt b/tests/benchmarks/corelib/thread/CMakeLists.txt index 48bf0572a6..fd7cbe6117 100644 --- a/tests/benchmarks/corelib/thread/CMakeLists.txt +++ b/tests/benchmarks/corelib/thread/CMakeLists.txt @@ -1,7 +1,9 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -add_subdirectory(qfuture) +if(QT_FEATURE_future) + add_subdirectory(qfuture) +endif() add_subdirectory(qmutex) add_subdirectory(qreadwritelock) add_subdirectory(qthreadstorage) diff --git a/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp b/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp index 581c300d36..7dde3bf426 100644 --- a/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp +++ b/tests/benchmarks/corelib/time/qdate/tst_bench_qdate.cpp @@ -4,6 +4,7 @@ #include <QDate> #include <QTest> #include <QList> +using namespace Qt::StringLiterals; class tst_QDate : public QObject { @@ -33,6 +34,9 @@ private Q_SLOTS: void addDays(); void addMonths(); void addYears(); + + void fromString_data(); + void fromString(); }; QList<QDate> tst_QDate::daily(qint64 start, qint64 end) @@ -184,5 +188,28 @@ void tst_QDate::addYears() Q_UNUSED(store); } +void tst_QDate::fromString_data() +{ + QTest::addColumn<QString>("string"); + QTest::addColumn<QString>("format"); + QTest::addColumn<int>("baseYear"); + + QTest::newRow("yyyyMMdd") << u"20240412"_s << u"yyyyMMdd"_s << 2000; + QTest::newRow("yyyy-MM-dd") << u"2024-04-12"_s << u"yyyy-MM-dd"_s << 2000; + QTest::newRow("YYYYMMDD") << u"20240412"_s << u"YYYYMMDD"_s << 2000; // Invalid, QTBUG-124465. +} + +void tst_QDate::fromString() +{ + QFETCH(const QString, string); + QFETCH(const QString, format); + QFETCH(const int, baseYear); + QDate date; + QBENCHMARK { + date = QDate::fromString(string, format, baseYear); + } + Q_UNUSED(date); +} + QTEST_MAIN(tst_QDate) #include "tst_bench_qdate.moc" diff --git a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp index e100f63e34..7954e964b3 100644 --- a/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp +++ b/tests/benchmarks/gui/painting/qpainter/tst_qpainter.cpp @@ -197,6 +197,9 @@ private slots: void drawTransformedSemiTransparentImage(); void drawTransformedFilledImage(); + void drawPathExceedingDevice_data(); + void drawPathExceedingDevice(); + private: void setupBrushes(); void createPrimitives(); @@ -1661,6 +1664,56 @@ void tst_QPainter::drawTransformedFilledImage() } } +void tst_QPainter::drawPathExceedingDevice_data() +{ + QTest::addColumn<int>("dim"); + QTest::addColumn<QPainterPath>("path"); + + const int dim = 512; + QPainterPath p; + const int ext = 10 * dim; + for (int i = 0; i < ext; i += (ext / 50)) { + p.lineTo(ext, i); + p.lineTo(0, dim); + p.moveTo(0, 0); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, dim, dim); + QTest::newRow("devicesize") << dim << p.intersected(preClip); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, 2*dim, 2*dim); + QTest::newRow("devicesizex2") << dim << p.intersected(preClip); + } + + { + QPainterPath preClip; + preClip.addRect(0, 0, 5*dim, 5*dim); + QTest::newRow("devicesizex5") << dim << p.intersected(preClip); + } + + QTest::newRow("devicesizex10") << dim << p; +} + +void tst_QPainter::drawPathExceedingDevice() +{ + QFETCH(int, dim); + QFETCH(QPainterPath, path); + + QImage img(dim, dim, QImage::Format_RGB32); + QPainter p(&img); + p.setRenderHint(QPainter::Antialiasing); + p.setPen(QPen(Qt::black, 3)); + p.setBrush(Qt::NoBrush); + + QBENCHMARK { + p.drawPath(path); + } +} QTEST_MAIN(tst_QPainter) diff --git a/tests/benchmarks/gui/text/qtext/main.cpp b/tests/benchmarks/gui/text/qtext/main.cpp index 121bc43573..9a2740253c 100644 --- a/tests/benchmarks/gui/text/qtext/main.cpp +++ b/tests/benchmarks/gui/text/qtext/main.cpp @@ -25,7 +25,9 @@ public: private slots: void loadHtml_data(); +#ifndef QT_NO_TEXTHTMLPARSER void loadHtml(); +#endif void shaping_data(); void shaping(); @@ -47,9 +49,11 @@ private slots: void paintLayoutToPixmap(); void paintLayoutToPixmap_painterFill(); +#ifndef QT_NO_TEXTHTMLPARSER void document(); void paintDocToPixmap(); void paintDocToPixmap_painterFill(); +#endif private: QSize setupTextLayout(QTextLayout *layout, bool wrap = true, int wrapWidth = 100); @@ -76,6 +80,7 @@ void tst_QText::loadHtml_data() + parag; } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QText::loadHtml() { QFETCH(QString, source); @@ -84,6 +89,7 @@ void tst_QText::loadHtml() doc.setHtml(source); } } +#endif void tst_QText::shaping_data() { @@ -371,6 +377,7 @@ void tst_QText::paintLayoutToPixmap_painterFill() } } +#ifndef QT_NO_TEXTHTMLPARSER void tst_QText::document() { QTextDocument *doc = new QTextDocument; @@ -413,6 +420,7 @@ void tst_QText::paintDocToPixmap_painterFill() doc->drawContents(&p); } } +#endif QTEST_MAIN(tst_QText) diff --git a/tests/benchmarks/network/access/CMakeLists.txt b/tests/benchmarks/network/access/CMakeLists.txt index bc085cad61..bc5148af55 100644 --- a/tests/benchmarks/network/access/CMakeLists.txt +++ b/tests/benchmarks/network/access/CMakeLists.txt @@ -4,8 +4,10 @@ add_subdirectory(qfile_vs_qnetworkaccessmanager) add_subdirectory(qhttpheaders) add_subdirectory(qnetworkreply) -add_subdirectory(qnetworkreply_from_cache) -add_subdirectory(qnetworkdiskcache) +if(QT_FEATURE_networkdiskcache) + add_subdirectory(qnetworkreply_from_cache) + add_subdirectory(qnetworkdiskcache) +endif() if(QT_FEATURE_private_tests) add_subdirectory(qdecompresshelper) endif() diff --git a/tests/benchmarks/network/access/qdecompresshelper/main.cpp b/tests/benchmarks/network/access/qdecompresshelper/main.cpp index 09c24af668..7f8b09ef0e 100644 --- a/tests/benchmarks/network/access/qdecompresshelper/main.cpp +++ b/tests/benchmarks/network/access/qdecompresshelper/main.cpp @@ -51,13 +51,14 @@ void tst_QDecompressHelper::decompress() file.seek(0); QDecompressHelper helper; helper.setEncoding(encoding); + helper.setDecompressedSafetyCheckThreshold(-1); QVERIFY(helper.isValid()); helper.feed(file.readAll()); qsizetype bytes = 0; + QByteArray out(64 * 1024, Qt::Uninitialized); while (helper.hasData()) { - QByteArray out(64 * 1024, Qt::Uninitialized); qsizetype bytesRead = helper.read(out.data(), out.size()); bytes += bytesRead; } diff --git a/tests/benchmarks/network/socket/CMakeLists.txt b/tests/benchmarks/network/socket/CMakeLists.txt index 034f618737..411a933dbb 100644 --- a/tests/benchmarks/network/socket/CMakeLists.txt +++ b/tests/benchmarks/network/socket/CMakeLists.txt @@ -1,6 +1,12 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -add_subdirectory(qlocalsocket) +if(QT_FEATURE_localserver) + add_subdirectory(qlocalsocket) +endif() + +if(QT_FEATURE_udpsocket) + add_subdirectory(qudpsocket) +endif() + add_subdirectory(qtcpserver) -add_subdirectory(qudpsocket) diff --git a/tests/manual/dialogs/wizardpanel.cpp b/tests/manual/dialogs/wizardpanel.cpp index 6fa7d1803a..5e413960e3 100644 --- a/tests/manual/dialogs/wizardpanel.cpp +++ b/tests/manual/dialogs/wizardpanel.cpp @@ -229,7 +229,7 @@ Wizard::Wizard(QWidget *parent, Qt::WindowFlags flags) addPage(new WizardPage(tr("Page 3"), this)); } -// A dialog using a Wizard as child widget (emulating Qt Designer). +// A dialog using a Wizard as child widget (emulating Qt Widgets Designer). class WizardEmbeddingDialog : public QDialog { public: explicit WizardEmbeddingDialog(QWidget *parent = nullptr); diff --git a/tests/manual/examples/widgets/richtext/textedit/example.html b/tests/manual/examples/widgets/richtext/textedit/example.html index ebae3362e9..038f71acfe 100644 --- a/tests/manual/examples/widgets/richtext/textedit/example.html +++ b/tests/manual/examples/widgets/richtext/textedit/example.html @@ -19,7 +19,7 @@ hr { height: 1px; border-width: 0; } <ol style="-qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Introduction</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qt Tools </li></ol> <ol type=a style="-qt-list-indent: 2;"><li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qt Assistant</li> -<li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qt Designer</li> +<li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qt Widgets Designer</li> <ol type=A style="-qt-list-indent: 3;"><li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Form Editor</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Component Architecture</li></ol> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qt Linguist</li></ol> @@ -64,7 +64,7 @@ hr { height: 1px; border-width: 0; } <td> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">13:00 - 15:00 </span></p></td> <td> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Qt Designer</span> Tutorial </p></td> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Qt Widgets Designer</span> Tutorial </p></td> <td rowspan="2"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Extreme Programming </p></td> <td> diff --git a/tests/manual/examples/widgets/richtext/textedit/example.md b/tests/manual/examples/widgets/richtext/textedit/example.md index 15f3c3cacf..8a5eed72f6 100644 --- a/tests/manual/examples/widgets/richtext/textedit/example.md +++ b/tests/manual/examples/widgets/richtext/textedit/example.md @@ -43,7 +43,7 @@ numerals in the same list structure: 1. Introduction 2. Qt Tools 1) Qt Assistant - 2) Qt Designer + 2) Qt Widgets Designer 1. Form Editor 2. Component Architecture 3) Qt Linguist @@ -78,7 +78,7 @@ column spans, text formatting within cells, and size constraints for columns. | ------------: | ----------------- | ---------------------- | ------------------------- | | 9:00 - 11:00 | Introduction to Qt ||| | 11:00 - 13:00 | Using qmake | Object-oriented Programming | Layouts in Qt | -| 13:00 - 15:00 | Qt Designer Tutorial | Extreme Programming | Writing Custom Styles | +| 13:00 - 15:00 | Qt Widgets Designer Tutorial | Extreme Programming | Writing Custom Styles | | 15:00 - 17:00 | Qt Linguist and Internationalization | | | *Try adding text to the cells in the table and experiment with the alignment of diff --git a/tests/manual/lance/README b/tests/manual/lance/README index 6e89b29b08..68a9d647bc 100644 --- a/tests/manual/lance/README +++ b/tests/manual/lance/README @@ -1,6 +1,6 @@ The "lance" tool can be used to edit and run QPainter script (.qps) files. They are used in the "lancelot" qpainter regression autotest. -A collection of scripts can be found in the directory -tests/auto/lancelot/scripts +A collection of scripts can be found in subdirectories under +tests/baseline See lance -help for options. diff --git a/tests/manual/qdnslookup/main.cpp b/tests/manual/qdnslookup/main.cpp index aa80f4df78..41dda45b8f 100644 --- a/tests/manual/qdnslookup/main.cpp +++ b/tests/manual/qdnslookup/main.cpp @@ -11,6 +11,11 @@ #include <QtNetwork/QHostInfo> #include <QtNetwork/QDnsLookup> +#if QT_CONFIG(ssl) +# include <QtNetwork/QSslCipher> +# include <QtNetwork/QSslConfiguration> +#endif + #include <stdlib.h> #include <stdio.h> @@ -32,6 +37,20 @@ static QDnsLookup::Type typeFromString(QString str) return QDnsLookup::Type(value); } +template <typename Enum> QByteArray enumToString(Enum value) +{ + QMetaEnum me = QMetaEnum::fromType<Enum>(); + QByteArray keys = me.valueToKeys(int(value)); + if (keys.isEmpty()) + return QByteArrayLiteral("<unknown>"); + + // return the last one + qsizetype idx = keys.lastIndexOf('|'); + if (idx > 0) + return std::move(keys).sliced(idx + 1); + return keys; +} + static int showHelp(const char *argv0, int exitcode) { // like dig @@ -43,7 +62,7 @@ static auto parseServerAddress(QString server) { struct R { QHostAddress address; - int port = -1; + int port; } r; // let's use QUrl to help us @@ -52,8 +71,15 @@ static auto parseServerAddress(QString server) if (!url.isValid() || !url.userInfo().isNull()) return r; // failed - r.port = url.port(); + r.port = url.port(0); r.address.setAddress(url.host()); + if (r.address.isNull()) { + // try to resolve a hostname + QHostInfo hostinfo = QHostInfo::fromName(url.host()); + const QList<QHostAddress> addresses = hostinfo.addresses(); + if (!hostinfo.error() && !addresses.isEmpty()) + r.address = addresses.at(0); + } return r; } @@ -95,15 +121,26 @@ static void printAnswers(const QDnsLookup &lookup) printf("%s ", qPrintable(QDebug::toString(data))); puts(""); } + + for (const QDnsTlsAssociationRecord &rr : lookup.tlsAssociationRecords()) { + printRecordCommon(rr, "TLSA"); + printf("( %u %u %u ; %s %s %s\n\t%s )\n", quint8(rr.usage()), quint8(rr.selector()), + quint8(rr.matchType()), enumToString(rr.usage()).constData(), + enumToString(rr.selector()).constData(), enumToString(rr.matchType()).constData(), + rr.value().toHex().toUpper().constData()); + } } static void printResults(const QDnsLookup &lookup, QElapsedTimer::Duration duration) { if (QDnsLookup::Error error = lookup.error()) - printf(";; status: %s (%s)\n", QMetaEnum::fromType<QDnsLookup::Error>().valueToKey(error), + printf(";; status: %s (%s)", QMetaEnum::fromType<QDnsLookup::Error>().valueToKey(error), qPrintable(lookup.errorString())); else - printf(";; status: NoError\n"); + printf(";; status: NoError"); + if (lookup.isAuthenticData()) + printf("; AuthenticData"); + puts(""); QMetaEnum me = QMetaEnum::fromType<QDnsLookup::Type>(); printf(";; QUESTION:\n"); @@ -114,8 +151,21 @@ static void printResults(const QDnsLookup &lookup, QElapsedTimer::Duration durat printAnswers(lookup); printf("\n;; Query time: %lld ms\n", qint64(duration_cast<milliseconds>(duration).count())); - if (QHostAddress server = lookup.nameserver(); !server.isNull()) - printf(";; SERVER: %s#%d\n", qPrintable(server.toString()), lookup.nameserverPort()); + if (QHostAddress server = lookup.nameserver(); !server.isNull()) { + quint16 port = lookup.nameserverPort(); + if (port == 0) + port = QDnsLookup::defaultPortForProtocol(lookup.nameserverProtocol()); + printf(";; SERVER: %s#%d", qPrintable(server.toString()), port); +#if QT_CONFIG(ssl) + if (lookup.nameserverProtocol() != QDnsLookup::Standard) { + if (QSslConfiguration conf = lookup.sslConfiguration(); !conf.isNull()) { + printf(" (%s %s)", enumToString(conf.sessionProtocol()).constData(), + qPrintable(conf.sessionCipher().name())); + } + } +#endif + puts(""); + } } int main(int argc, char *argv[]) @@ -123,6 +173,7 @@ int main(int argc, char *argv[]) QCoreApplication a(argc, argv); QDnsLookup::Type type = {}; + QDnsLookup::Protocol protocol = QDnsLookup::Standard; QString domain, server; const QStringList args = QCoreApplication::arguments().sliced(1); for (const QString &arg : args) { @@ -132,6 +183,14 @@ int main(int argc, char *argv[]) } if (arg == u"-h") return showHelp(argv[0], EXIT_SUCCESS); + if (arg == "+tls") { + protocol = QDnsLookup::DnsOverTls; + continue; + } else if (arg == "+notls") { + protocol = QDnsLookup::Standard; + continue; + } + if (domain.isNull()) { domain = arg; continue; @@ -163,9 +222,7 @@ int main(int argc, char *argv[]) argv[0], qPrintable(server)); return EXIT_FAILURE; } - lookup.setNameserver(addr.address); - if (addr.port > 0) - lookup.setNameserverPort(addr.port); + lookup.setNameserver(protocol, addr.address, addr.port); } // execute the lookup diff --git a/tests/manual/qopenglwidget/dockedopenglwidget/fshader.glsl b/tests/manual/qopenglwidget/dockedopenglwidget/fshader.glsl index 8e5a4de8fc..ddc6247574 100644 --- a/tests/manual/qopenglwidget/dockedopenglwidget/fshader.glsl +++ b/tests/manual/qopenglwidget/dockedopenglwidget/fshader.glsl @@ -1,3 +1,5 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only uniform sampler2D texture; varying vec2 v_texcoord; diff --git a/tests/manual/qopenglwidget/dockedopenglwidget/vshader.glsl b/tests/manual/qopenglwidget/dockedopenglwidget/vshader.glsl index 098eda946e..10f3646aa6 100644 --- a/tests/manual/qopenglwidget/dockedopenglwidget/vshader.glsl +++ b/tests/manual/qopenglwidget/dockedopenglwidget/vshader.glsl @@ -1,3 +1,5 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only uniform mat4 mvp_matrix; attribute vec4 a_position; diff --git a/tests/manual/rhi/computebuffer/buildshaders.bat b/tests/manual/rhi/computebuffer/buildshaders.bat index 2768273b70..07a602e18b 100755 --- a/tests/manual/rhi/computebuffer/buildshaders.bat +++ b/tests/manual/rhi/computebuffer/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "310 es,430" --hlsl 50 --msl 12 buffer.comp -o buffer.comp.qsb qsb --glsl "310 es,430" --hlsl 50 --msl 12 main.vert -o main.vert.qsb qsb --glsl "310 es,430" --hlsl 50 --msl 12 main.frag -o main.frag.qsb diff --git a/tests/manual/rhi/computeimage/buildshaders.bat b/tests/manual/rhi/computeimage/buildshaders.bat index 41a324d2b2..253d05b625 100755 --- a/tests/manual/rhi/computeimage/buildshaders.bat +++ b/tests/manual/rhi/computeimage/buildshaders.bat @@ -1 +1,3 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only qsb --glsl "310 es,430" --hlsl 50 --msl 12 image.comp -o image.comp.qsb diff --git a/tests/manual/rhi/cubemap/buildshaders.bat b/tests/manual/rhi/cubemap/buildshaders.bat index ebf673875d..314559490f 100644 --- a/tests/manual/rhi/cubemap/buildshaders.bat +++ b/tests/manual/rhi/cubemap/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120" --hlsl 50 --msl 12 -c cubemap.vert -o cubemap.vert.qsb qsb --glsl "100 es,120" --hlsl 50 --msl 12 -c cubemap.frag -o cubemap.frag.qsb diff --git a/tests/manual/rhi/cubemap_render/buildshaders.bat b/tests/manual/rhi/cubemap_render/buildshaders.bat index 3886c138d8..4bee01d8cd 100644 --- a/tests/manual/rhi/cubemap_render/buildshaders.bat +++ b/tests/manual/rhi/cubemap_render/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "300 es,120" --hlsl 50 --msl 12 cubemap_oneface.vert -o cubemap_oneface.vert.qsb qsb --glsl "300 es,120" --hlsl 50 --msl 12 cubemap_oneface.frag -o cubemap_oneface.frag.qsb qsb --glsl "300 es,120" --hlsl 50 --msl 12 cubemap_mrt.vert -o cubemap_mrt.vert.qsb diff --git a/tests/manual/rhi/displacement/buildshaders.bat b/tests/manual/rhi/displacement/buildshaders.bat index 552277491d..95a51c0e91 100644 --- a/tests/manual/rhi/displacement/buildshaders.bat +++ b/tests/manual/rhi/displacement/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl 320es,410 --hlsl 50 --msl 12 --msltess material.vert -o material.vert.qsb qsb --glsl 320es,410 --hlsl 50 --msl 12 material.frag -o material.frag.qsb diff --git a/tests/manual/rhi/float16texture_with_compute/buildshaders.bat b/tests/manual/rhi/float16texture_with_compute/buildshaders.bat index d1ffecf49d..15f39256c7 100644 --- a/tests/manual/rhi/float16texture_with_compute/buildshaders.bat +++ b/tests/manual/rhi/float16texture_with_compute/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "430,310 es" --hlsl 50 --msl 12 load.comp -o load.comp.qsb qsb --glsl "430,310 es" --hlsl 50 --msl 12 prefilter.comp -o prefilter.comp.qsb diff --git a/tests/manual/rhi/geometryshader/buildshaders.bat b/tests/manual/rhi/geometryshader/buildshaders.bat index 6da26a6a2a..a3b7296e16 100755 --- a/tests/manual/rhi/geometryshader/buildshaders.bat +++ b/tests/manual/rhi/geometryshader/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl 320es,410 --hlsl 50 test.vert -o test.vert.qsb qsb --glsl 320es,410 test.geom -o test.geom.qsb qsb -r hlsl,50,test_geom.hlsl test.geom.qsb diff --git a/tests/manual/rhi/hdr/buildshaders.bat b/tests/manual/rhi/hdr/buildshaders.bat index 7710c85f83..fdae5d0eb7 100644 --- a/tests/manual/rhi/hdr/buildshaders.bat +++ b/tests/manual/rhi/hdr/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --qt6 hdrtexture.vert -o hdrtexture.vert.qsb qsb --qt6 hdrtexture.frag -o hdrtexture.frag.qsb diff --git a/tests/manual/rhi/instancing/buildshaders.bat b/tests/manual/rhi/instancing/buildshaders.bat index 9053a1c54a..af18c09602 100644 --- a/tests/manual/rhi/instancing/buildshaders.bat +++ b/tests/manual/rhi/instancing/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "330,300 es" --hlsl 50 --msl 12 inst.vert -o inst.vert.qsb qsb --glsl "330,300 es" --hlsl 50 --msl 12 inst.frag -o inst.frag.qsb diff --git a/tests/manual/rhi/mrt/buildshaders.bat b/tests/manual/rhi/mrt/buildshaders.bat index 75741448b1..b23e01d00e 100644 --- a/tests/manual/rhi/mrt/buildshaders.bat +++ b/tests/manual/rhi/mrt/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120" --hlsl 50 --msl 12 -c mrt.vert -o mrt.vert.qsb qsb --glsl "100 es,120" --hlsl 50 --msl 12 -c mrt.frag -o mrt.frag.qsb diff --git a/tests/manual/rhi/multiview/buildshaders.bat b/tests/manual/rhi/multiview/buildshaders.bat index c53119bd42..d9d2825218 100644 --- a/tests/manual/rhi/multiview/buildshaders.bat +++ b/tests/manual/rhi/multiview/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --view-count 2 --glsl "300 es,330" --hlsl 61 -c --msl 12 multiview.vert -o multiview.vert.qsb qsb --glsl "300 es,330" --hlsl 61 -c --msl 12 multiview.frag -o multiview.frag.qsb qsb --glsl "300 es,330" --hlsl 61 -c --msl 12 texture.vert -o texture.vert.qsb diff --git a/tests/manual/rhi/noninstanced/buildshaders.bat b/tests/manual/rhi/noninstanced/buildshaders.bat index fc274eeec2..c1e0fb4722 100644 --- a/tests/manual/rhi/noninstanced/buildshaders.bat +++ b/tests/manual/rhi/noninstanced/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 material.vert -o material.vert.qsb qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 material.frag -o material.frag.qsb diff --git a/tests/manual/rhi/polygonmode/buildshaders.bat b/tests/manual/rhi/polygonmode/buildshaders.bat index 3cd87ed7a2..d1c184109e 100755 --- a/tests/manual/rhi/polygonmode/buildshaders.bat +++ b/tests/manual/rhi/polygonmode/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl 320es,410,120 test.vert --msl 12 --hlsl 50 -o test.vert.qsb qsb --glsl 320es,410,120 test.frag --msl 12 --hlsl 50 -o test.frag.qsb diff --git a/tests/manual/rhi/shadowmap/buildshaders.bat b/tests/manual/rhi/shadowmap/buildshaders.bat index 7b84cc0952..3e514a90b9 100644 --- a/tests/manual/rhi/shadowmap/buildshaders.bat +++ b/tests/manual/rhi/shadowmap/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "120,300 es" --hlsl 50 --msl 12 -c shadowmap.vert -o shadowmap.vert.qsb qsb --glsl "120,300 es" --hlsl 50 --msl 12 -c shadowmap.frag -o shadowmap.frag.qsb qsb --glsl "120,300 es" --hlsl 50 --msl 12 -c main.vert -o main.vert.qsb diff --git a/tests/manual/rhi/shared/buildshaders.bat b/tests/manual/rhi/shared/buildshaders.bat index 59cd69716e..faa253c8bc 100644 --- a/tests/manual/rhi/shared/buildshaders.bat +++ b/tests/manual/rhi/shared/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -c color.vert -o color.vert.qsb qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -c color.frag -o color.frag.qsb qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -c texture.vert -o texture.vert.qsb diff --git a/tests/manual/rhi/shared/imgui/buildshaders.bat b/tests/manual/rhi/shared/imgui/buildshaders.bat index eec4e3a070..560c634134 100644 --- a/tests/manual/rhi/shared/imgui/buildshaders.bat +++ b/tests/manual/rhi/shared/imgui/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -c imgui.vert -o imgui.vert.qsb qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -c imgui.frag -o imgui.frag.qsb diff --git a/tests/manual/rhi/stenciloutline/buildshaders.bat b/tests/manual/rhi/stenciloutline/buildshaders.bat index fc274eeec2..c1e0fb4722 100644 --- a/tests/manual/rhi/stenciloutline/buildshaders.bat +++ b/tests/manual/rhi/stenciloutline/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 material.vert -o material.vert.qsb qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 material.frag -o material.frag.qsb diff --git a/tests/manual/rhi/tessellation/buildshaders.bat b/tests/manual/rhi/tessellation/buildshaders.bat index bc992dc28c..61345d1906 100644 --- a/tests/manual/rhi/tessellation/buildshaders.bat +++ b/tests/manual/rhi/tessellation/buildshaders.bat @@ -1,3 +1,5 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl 320es,410 --hlsl 50 --msl 12 --msltess test.vert -o test.vert.qsb qsb --glsl 320es,410 --msl 12 --tess-mode triangles test.tesc -o test.tesc.qsb qsb -r hlsl,50,test_hull.hlsl test.tesc.qsb diff --git a/tests/manual/rhi/tex1d/buildshaders.bat b/tests/manual/rhi/tex1d/buildshaders.bat index 37934cf362..27bb8fc0e6 100644 --- a/tests/manual/rhi/tex1d/buildshaders.bat +++ b/tests/manual/rhi/tex1d/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "120,150,300 es" --hlsl 50 --msl 12 -c texture1d.vert -o texture1d.vert.qsb qsb --glsl "120,150,300 es" --hlsl 50 --msl 12 -c texture1d.frag -o texture1d.frag.qsb diff --git a/tests/manual/rhi/tex3d/buildshaders.bat b/tests/manual/rhi/tex3d/buildshaders.bat index 041c554688..699d2b112b 100644 --- a/tests/manual/rhi/tex3d/buildshaders.bat +++ b/tests/manual/rhi/tex3d/buildshaders.bat @@ -1,2 +1,4 @@ +:: Copyright (C) 2024 The Qt Company Ltd. +:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 qsb --glsl "300 es,150" --hlsl 50 --msl 12 -c texture3d.vert -o texture3d.vert.qsb qsb --glsl "300 es,150" --hlsl 50 --msl 12 -c texture3d.frag -o texture3d.frag.qsb diff --git a/tests/manual/wasm/qtloader_integration/test_body.js b/tests/manual/wasm/qtloader_integration/test_body.js index e08ffdefbb..4fb49c31aa 100644 --- a/tests/manual/wasm/qtloader_integration/test_body.js +++ b/tests/manual/wasm/qtloader_integration/test_body.js @@ -1,5 +1,5 @@ // Copyright (C) 2023 The Qt Company Ltd. -// SPDXLicenseIdentifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import { Mock, assert, TestRunner } from './testrunner.js'; diff --git a/tests/shared/nativewindow.h b/tests/shared/nativewindow.h index 51d211704e..163ca31634 100644 --- a/tests/shared/nativewindow.h +++ b/tests/shared/nativewindow.h @@ -28,7 +28,7 @@ class NativeWindow public: #if defined(Q_OS_MACOS) using Handle = NSView*; -#elif defined(Q_OS_IOS) +#elif defined(QT_PLATFORM_UIKIT) using Handle = UIView*; #elif defined(Q_OS_WIN) using Handle = HWND; @@ -53,7 +53,7 @@ private: Handle m_handle = {}; }; -#if QT_CONFIG(metal) +#if defined(Q_OS_MACOS) || defined(QT_PLATFORM_UIKIT) @interface View : VIEW_BASE @end @@ -238,7 +238,7 @@ WId NativeWindow::parentWinId() const xcb_query_tree_reply_t *tree = xcb_query_tree_reply( connection, xcb_query_tree(connection, m_handle), nullptr); const auto cleanup = qScopeGuard([&]{ free(tree); }); - return tree->parent; + return tree ? tree->parent : 0; } bool NativeWindow::isParentOf(WId childWinId) diff --git a/tests/testserver/echo/echo.sh b/tests/testserver/echo/echo.sh index f0da9627d5..516b476357 100755 --- a/tests/testserver/echo/echo.sh +++ b/tests/testserver/echo/echo.sh @@ -1,3 +1,5 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #!/usr/bin/env bash # Disabled by default, enable it. |